mirror of
				https://github.com/Z3Prover/z3
				synced 2025-10-31 19:52:29 +00:00 
			
		
		
		
	update contract
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
		
							parent
							
								
									2ce30019ee
								
							
						
					
					
						commit
						97c8fb15fa
					
				
					 1 changed files with 9 additions and 6 deletions
				
			
		|  | @ -27,13 +27,8 @@ Abstract: | |||
|      ----------------------------------------------- | ||||
|            x in v1 <=> x in v4 or x in v5     | ||||
|   | ||||
| 
 | ||||
|     set.in : S (FiniteSet S) -> Bool | ||||
|     set.size : (FiniteSet S) -> Int | ||||
|     set.subset : (FiniteSet S) (FiniteSet S) -> Bool | ||||
|     set.map : (S -> T) (FiniteSet S) -> (FiniteSet T) | ||||
|     set.select : (S -> Bool) (FiniteSet S) -> (FiniteSet S) | ||||
|     set.range : Int Int -> (FiniteSet Int) | ||||
|         | ||||
| --*/ | ||||
| 
 | ||||
|  | @ -75,11 +70,19 @@ public: | |||
|     void in_range_axiom(expr *x, expr *a); | ||||
| 
 | ||||
|     // a := set.map(f, b)
 | ||||
|     // (x in a) <=> set.map_inverse(f, x, b)
 | ||||
|     // (x in a) <=> set.map_inverse(f, x, b) in b
 | ||||
|     void in_map_axiom(expr *x, expr *a); | ||||
| 
 | ||||
|     // a := set.map(f, b)
 | ||||
|     // (x in b) => f(x) in a
 | ||||
|     void in_map_image_axiom(expr *x, expr *a); | ||||
| 
 | ||||
|     // a := set.select(p, b)
 | ||||
|     // (x in a) <=> (x in b) and p(x)
 | ||||
|     void in_select_axiom(expr *x, expr *a); | ||||
| 
 | ||||
|     // a := set.singleton(b)
 | ||||
|     // set.size(a) = 1
 | ||||
|     void size_singleton_axiom(expr *a); | ||||
| 
 | ||||
| }; | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue