@@ -215,13 +215,13 @@ void check(Z3_context ctx, Z3_solver s, Z3_lbool expected_result)
215
215
break ;
216
216
case Z3_L_UNDEF :
217
217
printf ("unknown\n" );
218
- m = Z3_solver_get_model (ctx , s );
219
- if (m ) Z3_model_inc_ref (ctx , m );
218
+ m = Z3_solver_get_model (ctx , s );
219
+ if (m ) Z3_model_inc_ref (ctx , m );
220
220
printf ("potential model:\n%s\n" , Z3_model_to_string (ctx , m ));
221
221
break ;
222
222
case Z3_L_TRUE :
223
- m = Z3_solver_get_model (ctx , s );
224
- if (m ) Z3_model_inc_ref (ctx , m );
223
+ m = Z3_solver_get_model (ctx , s );
224
+ if (m ) Z3_model_inc_ref (ctx , m );
225
225
printf ("sat\n%s\n" , Z3_model_to_string (ctx , m ));
226
226
break ;
227
227
}
@@ -265,9 +265,9 @@ void prove(Z3_context ctx, Z3_solver s, Z3_ast f, bool is_valid)
265
265
printf ("unknown\n" );
266
266
m = Z3_solver_get_model (ctx , s );
267
267
if (m != 0 ) {
268
- Z3_model_inc_ref (ctx , m );
268
+ Z3_model_inc_ref (ctx , m );
269
269
/* m should be viewed as a potential counterexample. */
270
- printf ("potential counterexample:\n%s\n" , Z3_model_to_string (ctx , m ));
270
+ printf ("potential counterexample:\n%s\n" , Z3_model_to_string (ctx , m ));
271
271
}
272
272
if (is_valid ) {
273
273
exitf ("unexpected result" );
@@ -278,7 +278,7 @@ void prove(Z3_context ctx, Z3_solver s, Z3_ast f, bool is_valid)
278
278
printf ("invalid\n" );
279
279
m = Z3_solver_get_model (ctx , s );
280
280
if (m ) {
281
- Z3_model_inc_ref (ctx , m );
281
+ Z3_model_inc_ref (ctx , m );
282
282
/* the model returned by Z3 is a counterexample */
283
283
printf ("counterexample:\n%s\n" , Z3_model_to_string (ctx , m ));
284
284
}
@@ -498,25 +498,25 @@ void display_sort(Z3_context c, FILE * out, Z3_sort ty)
498
498
fprintf (out , "]" );
499
499
break ;
500
500
case Z3_DATATYPE_SORT :
501
- if (Z3_get_datatype_sort_num_constructors (c , ty ) != 1 )
502
- {
503
- fprintf (out , "%s" , Z3_sort_to_string (c ,ty ));
504
- break ;
505
- }
506
- {
507
- unsigned num_fields = Z3_get_tuple_sort_num_fields (c , ty );
508
- unsigned i ;
509
- fprintf (out , "(" );
510
- for (i = 0 ; i < num_fields ; i ++ ) {
511
- Z3_func_decl field = Z3_get_tuple_sort_field_decl (c , ty , i );
512
- if (i > 0 ) {
513
- fprintf (out , ", " );
501
+ if (Z3_get_datatype_sort_num_constructors (c , ty ) != 1 )
502
+ {
503
+ fprintf (out , "%s" , Z3_sort_to_string (c ,ty ));
504
+ break ;
505
+ }
506
+ {
507
+ unsigned num_fields = Z3_get_tuple_sort_num_fields (c , ty );
508
+ unsigned i ;
509
+ fprintf (out , "(" );
510
+ for (i = 0 ; i < num_fields ; i ++ ) {
511
+ Z3_func_decl field = Z3_get_tuple_sort_field_decl (c , ty , i );
512
+ if (i > 0 ) {
513
+ fprintf (out , ", " );
514
+ }
515
+ display_sort (c , out , Z3_get_range (c , field ));
514
516
}
515
- display_sort (c , out , Z3_get_range (c , field ));
517
+ fprintf (out , ")" );
518
+ break ;
516
519
}
517
- fprintf (out , ")" );
518
- break ;
519
- }
520
520
default :
521
521
fprintf (out , "unknown[" );
522
522
display_symbol (c , out , Z3_get_sort_name (c , ty ));
@@ -587,7 +587,7 @@ void display_function_interpretations(Z3_context c, FILE * out, Z3_model m)
587
587
588
588
fdecl = Z3_model_get_func_decl (c , m , i );
589
589
finterp = Z3_model_get_func_interp (c , m , fdecl );
590
- Z3_func_interp_inc_ref (c , finterp );
590
+ Z3_func_interp_inc_ref (c , finterp );
591
591
name = Z3_get_decl_name (c , fdecl );
592
592
display_symbol (c , out , name );
593
593
fprintf (out , " = {" );
@@ -596,7 +596,7 @@ void display_function_interpretations(Z3_context c, FILE * out, Z3_model m)
596
596
for (j = 0 ; j < num_entries ; j ++ ) {
597
597
unsigned num_args , k ;
598
598
Z3_func_entry fentry = Z3_func_interp_get_entry (c , finterp , j );
599
- Z3_func_entry_inc_ref (c , fentry );
599
+ Z3_func_entry_inc_ref (c , fentry );
600
600
if (j > 0 ) {
601
601
fprintf (out , ", " );
602
602
}
@@ -611,7 +611,7 @@ void display_function_interpretations(Z3_context c, FILE * out, Z3_model m)
611
611
fprintf (out , "|->" );
612
612
display_ast (c , out , Z3_func_entry_get_value (c , fentry ));
613
613
fprintf (out , ")" );
614
- Z3_func_entry_dec_ref (c , fentry );
614
+ Z3_func_entry_dec_ref (c , fentry );
615
615
}
616
616
if (num_entries > 0 ) {
617
617
fprintf (out , ", " );
@@ -620,7 +620,7 @@ void display_function_interpretations(Z3_context c, FILE * out, Z3_model m)
620
620
func_else = Z3_func_interp_get_else (c , finterp );
621
621
display_ast (c , out , func_else );
622
622
fprintf (out , ")}\n" );
623
- Z3_func_interp_dec_ref (c , finterp );
623
+ Z3_func_interp_dec_ref (c , finterp );
624
624
}
625
625
}
626
626
@@ -667,13 +667,13 @@ void check2(Z3_context ctx, Z3_solver s, Z3_lbool expected_result)
667
667
printf ("unknown\n" );
668
668
printf ("potential model:\n" );
669
669
m = Z3_solver_get_model (ctx , s );
670
- if (m ) Z3_model_inc_ref (ctx , m );
670
+ if (m ) Z3_model_inc_ref (ctx , m );
671
671
display_model (ctx , stdout , m );
672
672
break ;
673
673
case Z3_L_TRUE :
674
674
printf ("sat\n" );
675
675
m = Z3_solver_get_model (ctx , s );
676
- if (m ) Z3_model_inc_ref (ctx , m );
676
+ if (m ) Z3_model_inc_ref (ctx , m );
677
677
display_model (ctx , stdout , m );
678
678
break ;
679
679
}
@@ -1245,7 +1245,7 @@ void array_example2()
1245
1245
/* context is satisfiable if n < 5 */
1246
1246
check2 (ctx , s , n < 5 ? Z3_L_TRUE : Z3_L_FALSE );
1247
1247
1248
- del_solver (ctx , s );
1248
+ del_solver (ctx , s );
1249
1249
Z3_del_context (ctx );
1250
1250
}
1251
1251
}
@@ -1281,7 +1281,7 @@ void array_example3()
1281
1281
display_sort (ctx , stdout , range );
1282
1282
printf ("\n" );
1283
1283
1284
- if (int_sort != domain || bool_sort != range ) {
1284
+ if (int_sort != domain || bool_sort != range ) {
1285
1285
exitf ("invalid array type" );
1286
1286
}
1287
1287
@@ -1499,7 +1499,7 @@ void eval_example1()
1499
1499
Z3_ast args [2 ] = {x , y };
1500
1500
Z3_ast v ;
1501
1501
m = Z3_solver_get_model (ctx , s );
1502
- if (m ) Z3_model_inc_ref (ctx , m );
1502
+ if (m ) Z3_model_inc_ref (ctx , m );
1503
1503
printf ("MODEL:\n%s" , Z3_model_to_string (ctx , m ));
1504
1504
x_plus_y = Z3_mk_add (ctx , 2 , args );
1505
1505
printf ("\nevaluating x+y\n" );
@@ -1749,14 +1749,14 @@ void parser_example5() {
1749
1749
e = Z3_get_error_code (ctx );
1750
1750
if (e != Z3_OK ) goto err ;
1751
1751
unreachable ();
1752
- del_solver (ctx , s );
1752
+ del_solver (ctx , s );
1753
1753
Z3_del_context (ctx );
1754
1754
}
1755
1755
else {
1756
1756
err :
1757
1757
printf ("Z3 error: %s.\n" , Z3_get_error_msg (ctx , e ));
1758
1758
if (ctx != NULL ) {
1759
- del_solver (ctx , s );
1759
+ del_solver (ctx , s );
1760
1760
Z3_del_context (ctx );
1761
1761
}
1762
1762
}
@@ -1909,14 +1909,14 @@ void list_example() {
1909
1909
x = mk_var (ctx , "x" , int_ty );
1910
1910
y = mk_var (ctx , "y" , int_ty );
1911
1911
l1 = mk_binary_app (ctx , cons_decl , x , nil );
1912
- l2 = mk_binary_app (ctx , cons_decl , y , nil );
1912
+ l2 = mk_binary_app (ctx , cons_decl , y , nil );
1913
1913
prove (ctx , s , Z3_mk_implies (ctx , Z3_mk_eq (ctx ,l1 ,l2 ), Z3_mk_eq (ctx , x , y )), true);
1914
1914
1915
1915
/* cons(x,u) = cons(x, v) => u = v */
1916
1916
u = mk_var (ctx , "u" , int_list );
1917
1917
v = mk_var (ctx , "v" , int_list );
1918
1918
l1 = mk_binary_app (ctx , cons_decl , x , u );
1919
- l2 = mk_binary_app (ctx , cons_decl , y , v );
1919
+ l2 = mk_binary_app (ctx , cons_decl , y , v );
1920
1920
prove (ctx , s , Z3_mk_implies (ctx , Z3_mk_eq (ctx ,l1 ,l2 ), Z3_mk_eq (ctx , u , v )), true);
1921
1921
prove (ctx , s , Z3_mk_implies (ctx , Z3_mk_eq (ctx ,l1 ,l2 ), Z3_mk_eq (ctx , x , y )), true);
1922
1922
@@ -2266,21 +2266,21 @@ void unsat_core_and_proof_example() {
2266
2266
2267
2267
printf ("\ncore:\n" );
2268
2268
for (i = 0 ; i < Z3_ast_vector_size (ctx , core ); ++ i ) {
2269
- printf ("%s\n" , Z3_ast_to_string (ctx , Z3_ast_vector_get (ctx , core , i )));
2269
+ printf ("%s\n" , Z3_ast_to_string (ctx , Z3_ast_vector_get (ctx , core , i )));
2270
2270
}
2271
2271
printf ("\n" );
2272
2272
break ;
2273
2273
case Z3_L_UNDEF :
2274
2274
printf ("unknown\n" );
2275
2275
printf ("potential model:\n" );
2276
- m = Z3_solver_get_model (ctx , s );
2277
- if (m ) Z3_model_inc_ref (ctx , m );
2276
+ m = Z3_solver_get_model (ctx , s );
2277
+ if (m ) Z3_model_inc_ref (ctx , m );
2278
2278
display_model (ctx , stdout , m );
2279
2279
break ;
2280
2280
case Z3_L_TRUE :
2281
2281
printf ("sat\n" );
2282
- m = Z3_solver_get_model (ctx , s );
2283
- if (m ) Z3_model_inc_ref (ctx , m );
2282
+ m = Z3_solver_get_model (ctx , s );
2283
+ if (m ) Z3_model_inc_ref (ctx , m );
2284
2284
display_model (ctx , stdout , m );
2285
2285
break ;
2286
2286
}
@@ -2300,7 +2300,7 @@ void unsat_core_and_proof_example() {
2300
2300
*/
2301
2301
typedef struct {
2302
2302
Z3_context m_context ;
2303
- Z3_solver m_solver ;
2303
+ Z3_solver m_solver ;
2304
2304
// IMPORTANT: the fields m_answer_literals, m_retracted and m_num_answer_literals must be saved/restored
2305
2305
// if push/pop operations are performed on m_context.
2306
2306
Z3_ast m_answer_literals [MAX_RETRACTABLE_ASSERTIONS ];
@@ -2406,7 +2406,7 @@ Z3_lbool ext_check(Z3_ext_context ctx) {
2406
2406
// In this example, we display the core based on the assertion ids.
2407
2407
unsigned j ;
2408
2408
for (j = 0 ; j < ctx -> m_num_answer_literals ; j ++ ) {
2409
- if (Z3_ast_vector_get (ctx -> m_context , core , i ) == ctx -> m_answer_literals [j ]) {
2409
+ if (Z3_ast_vector_get (ctx -> m_context , core , i ) == ctx -> m_answer_literals [j ]) {
2410
2410
printf ("%d " , j );
2411
2411
break ;
2412
2412
}
@@ -2449,7 +2449,7 @@ void incremental_example1() {
2449
2449
c4 = assert_retractable_cnstr (ext_ctx , Z3_mk_lt (ctx , y , one ));
2450
2450
2451
2451
result = ext_check (ext_ctx );
2452
- if (result != Z3_L_FALSE )
2452
+ if (result != Z3_L_FALSE )
2453
2453
exitf ("bug in Z3" );
2454
2454
printf ("unsat\n" );
2455
2455
@@ -2655,7 +2655,7 @@ void fpa_example() {
2655
2655
Z3_sort double_sort , rm_sort ;
2656
2656
Z3_symbol s_rm , s_x , s_y , s_x_plus_y ;
2657
2657
Z3_ast rm , x , y , n , x_plus_y , c1 , c2 , c3 , c4 , c5 ;
2658
- Z3_ast args [2 ], args2 [2 ], and_args [3 ], args3 [3 ];
2658
+ Z3_ast args [2 ], args2 [2 ], and_args [3 ], args3 [3 ];
2659
2659
2660
2660
printf ("\nFPA-example\n" );
2661
2661
LOG_MSG ("FPA-example" );
@@ -2676,38 +2676,38 @@ void fpa_example() {
2676
2676
x = Z3_mk_const (ctx , s_x , double_sort );
2677
2677
y = Z3_mk_const (ctx , s_y , double_sort );
2678
2678
n = Z3_mk_fpa_numeral_double (ctx , 42.0 , double_sort );
2679
-
2679
+
2680
2680
s_x_plus_y = Z3_mk_string_symbol (ctx , "x_plus_y" );
2681
2681
x_plus_y = Z3_mk_const (ctx , s_x_plus_y , double_sort );
2682
2682
c1 = Z3_mk_eq (ctx , x_plus_y , Z3_mk_fpa_add (ctx , rm , x , y ));
2683
-
2683
+
2684
2684
args [0 ] = c1 ;
2685
2685
args [1 ] = Z3_mk_eq (ctx , x_plus_y , n );
2686
2686
c2 = Z3_mk_and (ctx , 2 , (Z3_ast * )& args );
2687
-
2687
+
2688
2688
args2 [0 ] = c2 ;
2689
2689
args2 [1 ] = Z3_mk_not (ctx , Z3_mk_eq (ctx , rm , Z3_mk_fpa_rtz (ctx )));
2690
2690
c3 = Z3_mk_and (ctx , 2 , (Z3_ast * )& args2 );
2691
-
2691
+
2692
2692
and_args [0 ] = Z3_mk_not (ctx , Z3_mk_fpa_is_zero (ctx , y ));
2693
2693
and_args [1 ] = Z3_mk_not (ctx , Z3_mk_fpa_is_nan (ctx , y ));
2694
2694
and_args [2 ] = Z3_mk_not (ctx , Z3_mk_fpa_is_infinite (ctx , y ));
2695
2695
args3 [0 ] = c3 ;
2696
2696
args3 [1 ] = Z3_mk_and (ctx , 3 , and_args );
2697
2697
c4 = Z3_mk_and (ctx , 2 , (Z3_ast * )& args3 );
2698
-
2698
+
2699
2699
printf ("c4: %s\n" , Z3_ast_to_string (ctx , c4 ));
2700
2700
Z3_solver_push (ctx , s );
2701
2701
Z3_solver_assert (ctx , s , c4 );
2702
2702
check (ctx , s , Z3_L_TRUE );
2703
2703
Z3_solver_pop (ctx , s , 1 );
2704
-
2704
+
2705
2705
// Show that the following are equal:
2706
2706
// (fp #b0 #b10000000001 #xc000000000000)
2707
2707
// ((_ to_fp 11 53) #x401c000000000000))
2708
2708
// ((_ to_fp 11 53) RTZ 1.75 2)))
2709
2709
// ((_ to_fp 11 53) RTZ 7.0)))
2710
-
2710
+
2711
2711
Z3_solver_push (ctx , s );
2712
2712
c1 = Z3_mk_fpa_fp (ctx ,
2713
2713
Z3_mk_numeral (ctx , "0" , Z3_mk_bv_sort (ctx , 1 )),
@@ -2729,12 +2729,12 @@ void fpa_example() {
2729
2729
args3 [1 ] = Z3_mk_eq (ctx , c1 , c3 );
2730
2730
args3 [2 ] = Z3_mk_eq (ctx , c1 , c4 );
2731
2731
c5 = Z3_mk_and (ctx , 3 , args3 );
2732
-
2732
+
2733
2733
printf ("c5: %s\n" , Z3_ast_to_string (ctx , c5 ));
2734
2734
Z3_solver_assert (ctx , s , c5 );
2735
2735
check (ctx , s , Z3_L_TRUE );
2736
2736
Z3_solver_pop (ctx , s , 1 );
2737
-
2737
+
2738
2738
del_solver (ctx , s );
2739
2739
Z3_del_context (ctx );
2740
2740
}
@@ -2896,7 +2896,7 @@ void mk_model_example() {
2896
2896
}
2897
2897
}
2898
2898
2899
- {
2899
+ {
2900
2900
// Evaluate c[0] + c[1] + c[2] under model
2901
2901
Z3_ast c0 = Z3_mk_select (ctx , cApp , zeroNumeral );
2902
2902
Z3_ast c1 = Z3_mk_select (ctx , cApp , oneNumeral );
0 commit comments