mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 00:55:31 +00:00
Added finite domain expressions and numerals to the .NET, Java, and Python APIs.
Relates to #318
This commit is contained in:
parent
9e756fb6db
commit
cbda38ee80
10 changed files with 380 additions and 12 deletions
|
@ -2055,15 +2055,16 @@ namespace test_mapi
|
|||
{
|
||||
Console.WriteLine("FiniteDomainExample");
|
||||
|
||||
var s = ctx.MkFiniteDomainSort("S", 10);
|
||||
var t = ctx.MkFiniteDomainSort("T", 10);
|
||||
var s1 = ctx.MkNumeral(1, s);
|
||||
var t1 = ctx.MkNumeral(1, t);
|
||||
Console.WriteLine("{0}", s);
|
||||
Console.WriteLine("{0}", t);
|
||||
FiniteDomainSort s = ctx.MkFiniteDomainSort("S", 10);
|
||||
FiniteDomainSort t = ctx.MkFiniteDomainSort("T", 10);
|
||||
FiniteDomainNum s1 = (FiniteDomainNum)ctx.MkNumeral(1, s);
|
||||
FiniteDomainNum t1 = (FiniteDomainNum)ctx.MkNumeral(1, t);
|
||||
Console.WriteLine("{0} of size {1}", s, s.Size);
|
||||
Console.WriteLine("{0} of size {1}", t, t.Size);
|
||||
Console.WriteLine("{0}", s1);
|
||||
Console.WriteLine("{0}", ctx.MkNumeral(2, s));
|
||||
Console.WriteLine("{0}", t1);
|
||||
Console.WriteLine("{0}", s1.Int);
|
||||
Console.WriteLine("{0}", t1.Int);
|
||||
// But you cannot mix numerals of different sorts
|
||||
// even if the size of their domains are the same:
|
||||
// Console.WriteLine("{0}", ctx.MkEq(s1, t1));
|
||||
|
|
|
@ -2163,13 +2163,14 @@ class JavaExample
|
|||
|
||||
FiniteDomainSort s = ctx.mkFiniteDomainSort("S", 10);
|
||||
FiniteDomainSort t = ctx.mkFiniteDomainSort("T", 10);
|
||||
Expr s1 = ctx.mkNumeral(1, s);
|
||||
Expr t1 = ctx.mkNumeral(1, t);
|
||||
FiniteDomainNum s1 = (FiniteDomainNum)ctx.mkNumeral(1, s);
|
||||
FiniteDomainNum t1 = (FiniteDomainNum)ctx.mkNumeral(1, t);
|
||||
System.out.println(s);
|
||||
System.out.println(t);
|
||||
System.out.println(s1);
|
||||
System.out.println(ctx.mkNumeral(2, s));
|
||||
System.out.println(s1);
|
||||
System.out.println(t1);
|
||||
System.out.println(s1.getInt());
|
||||
System.out.println(t1.getInt());
|
||||
// But you cannot mix numerals of different sorts
|
||||
// even if the size of their domains are the same:
|
||||
// System.out.println(ctx.mkEq(s1, t1));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue