z3 0.0.20160330 → 0.0.20160427
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -0
- data/examples/{bridges_solver → bridges} +5 -12
- data/examples/bridges-1.txt +7 -0
- data/examples/{clogic_puzzle_solver → clogic_puzzle} +0 -0
- data/examples/four_hackers_puzzle +2 -1
- data/examples/{kakuro_solver → kakuro} +5 -15
- data/examples/kakuro-1.txt +10 -0
- data/examples/{knights_puzzle_solver → knights_puzzle} +4 -4
- data/examples/{letter_connections_solver → letter_connections} +6 -15
- data/examples/letter_connections-1.txt +10 -0
- data/examples/{light_up_solver → light_up} +5 -12
- data/examples/light_up-1.txt +7 -0
- data/examples/{minisudoku_solver → minisudoku} +8 -11
- data/examples/minisudoku-1.txt +6 -0
- data/examples/nonogram +152 -0
- data/examples/{selfref_solver → selfref} +0 -0
- data/examples/{sudoku_solver → sudoku} +9 -14
- data/examples/sudoku-1.txt +9 -0
- data/lib/z3.rb +10 -6
- data/lib/z3/ast.rb +33 -0
- data/lib/z3/{value/arith_value.rb → expr/arith_expr.rb} +3 -3
- data/lib/z3/{value/bitvec_value.rb → expr/bitvec_expr.rb} +1 -1
- data/lib/z3/{value/bool_value.rb → expr/bool_expr.rb} +5 -1
- data/lib/z3/{value/value.rb → expr/expr.rb} +7 -13
- data/lib/z3/expr/int_expr.rb +15 -0
- data/lib/z3/{value/int_value.rb → expr/real_expr.rb} +2 -2
- data/lib/z3/func_decl.rb +33 -23
- data/lib/z3/interface.rb +52 -30
- data/lib/z3/low_level.rb +10 -1
- data/lib/z3/low_level_auto.rb +83 -83
- data/lib/z3/model.rb +6 -5
- data/lib/z3/printer.rb +26 -0
- data/lib/z3/solver.rb +1 -5
- data/lib/z3/sort/bitvec_sort.rb +3 -3
- data/lib/z3/sort/bool_sort.rb +4 -4
- data/lib/z3/sort/int_sort.rb +2 -2
- data/lib/z3/sort/real_sort.rb +5 -5
- data/lib/z3/sort/sort.rb +22 -7
- data/lib/z3/very_low_level.rb +1 -1
- data/spec/bitvec_expr_spec.rb +55 -0
- data/spec/bitvec_sort_spec.rb +34 -0
- data/spec/bool_expr_spec.rb +65 -0
- data/spec/bool_sort_spec.rb +20 -0
- data/spec/{value_spec.rb → expr_spec.rb} +3 -3
- data/spec/int_expr_spec.rb +78 -0
- data/spec/int_sort_spec.rb +18 -0
- data/spec/integration/algebra_problems_spec.rb +19 -20
- data/spec/integration/basic_int_math_spec.rb +4 -5
- data/spec/integration/basic_logic_spec.rb +3 -4
- data/spec/integration/bit_tricks_spec.rb +2 -3
- data/spec/integration/bridges_spec.rb +2 -3
- data/spec/integration/four_hackers_puzzle_spec.rb +26 -0
- data/spec/integration/geometry_problem_spec.rb +10 -11
- data/spec/integration/kakuro_spec.rb +2 -3
- data/spec/integration/kinematics_problems_spec.rb +36 -37
- data/spec/integration/knights_puzzle_spec.rb +96 -0
- data/spec/integration/letter_connections_spec.rb +2 -3
- data/spec/integration/light_up_spec.rb +3 -4
- data/spec/integration/minisudoku_spec.rb +2 -3
- data/spec/integration/nonogram_spec.rb +26 -0
- data/spec/integration/selfref_spec.rb +2 -3
- data/spec/integration/sudoku_spec.rb +2 -3
- data/spec/integration/verbal_arithmetic_spec.rb +2 -3
- data/spec/model_spec.rb +13 -6
- data/spec/printer_spec.rb +22 -0
- data/spec/real_expr_spec.rb +64 -0
- data/spec/real_sort_spec.rb +24 -0
- data/spec/solver_spec.rb +11 -0
- data/spec/spec_helper.rb +39 -64
- metadata +81 -18
- data/lib/z3/value/real_value.rb +0 -7
data/lib/z3/low_level.rb
CHANGED
@@ -17,7 +17,7 @@ module Z3::LowLevel
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def mk_context
|
20
|
-
Z3::VeryLowLevel.Z3_mk_context
|
20
|
+
Z3::VeryLowLevel.Z3_mk_context(Z3::VeryLowLevel.Z3_mk_config)
|
21
21
|
end
|
22
22
|
|
23
23
|
def model_eval(model, ast, model_completion)
|
@@ -55,6 +55,15 @@ module Z3::LowLevel
|
|
55
55
|
end
|
56
56
|
|
57
57
|
# Should be private
|
58
|
+
|
59
|
+
def unpack_ast_vector(_ast_vector)
|
60
|
+
n = Z3::VeryLowLevel.Z3_ast_vector_size(_ctx_pointer, _ast_vector)
|
61
|
+
(0...n).map do |i|
|
62
|
+
_ast = Z3::VeryLowLevel.Z3_ast_vector_get(_ctx_pointer, _ast_vector, i)
|
63
|
+
Z3::Expr.new_from_pointer(_ast)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
58
67
|
def _ctx_pointer
|
59
68
|
@_ctx_pointer ||= Z3::Context.instance._context
|
60
69
|
end
|
data/lib/z3/low_level_auto.rb
CHANGED
@@ -69,7 +69,7 @@ module Z3::LowLevel
|
|
69
69
|
end
|
70
70
|
|
71
71
|
def app_to_ast(app) #=> :ast_pointer
|
72
|
-
Z3::VeryLowLevel.Z3_app_to_ast(_ctx_pointer, app.
|
72
|
+
Z3::VeryLowLevel.Z3_app_to_ast(_ctx_pointer, app._ast)
|
73
73
|
end
|
74
74
|
|
75
75
|
def apply_result_convert_model(apply_result, num, model) #=> :model_pointer
|
@@ -177,7 +177,7 @@ module Z3::LowLevel
|
|
177
177
|
end
|
178
178
|
|
179
179
|
def datatype_update_field(func_decl, ast1, ast2) #=> :ast_pointer
|
180
|
-
Z3::VeryLowLevel.Z3_datatype_update_field(_ctx_pointer, func_decl.
|
180
|
+
Z3::VeryLowLevel.Z3_datatype_update_field(_ctx_pointer, func_decl._ast, ast1._ast, ast2._ast)
|
181
181
|
end
|
182
182
|
|
183
183
|
def dec_ref(ast) #=> :void
|
@@ -213,7 +213,7 @@ module Z3::LowLevel
|
|
213
213
|
end
|
214
214
|
|
215
215
|
def fixedpoint_add_cover(fixedpoint, num, func_decl, ast) #=> :void
|
216
|
-
Z3::VeryLowLevel.Z3_fixedpoint_add_cover(_ctx_pointer, fixedpoint._fixedpoint, num, func_decl.
|
216
|
+
Z3::VeryLowLevel.Z3_fixedpoint_add_cover(_ctx_pointer, fixedpoint._fixedpoint, num, func_decl._ast, ast._ast)
|
217
217
|
end
|
218
218
|
|
219
219
|
def fixedpoint_add_rule(fixedpoint, ast, sym) #=> :void
|
@@ -245,7 +245,7 @@ module Z3::LowLevel
|
|
245
245
|
end
|
246
246
|
|
247
247
|
def fixedpoint_get_cover_delta(fixedpoint, num, func_decl) #=> :ast_pointer
|
248
|
-
Z3::VeryLowLevel.Z3_fixedpoint_get_cover_delta(_ctx_pointer, fixedpoint._fixedpoint, num, func_decl.
|
248
|
+
Z3::VeryLowLevel.Z3_fixedpoint_get_cover_delta(_ctx_pointer, fixedpoint._fixedpoint, num, func_decl._ast)
|
249
249
|
end
|
250
250
|
|
251
251
|
def fixedpoint_get_help(fixedpoint) #=> :string
|
@@ -253,7 +253,7 @@ module Z3::LowLevel
|
|
253
253
|
end
|
254
254
|
|
255
255
|
def fixedpoint_get_num_levels(fixedpoint, func_decl) #=> :uint
|
256
|
-
Z3::VeryLowLevel.Z3_fixedpoint_get_num_levels(_ctx_pointer, fixedpoint._fixedpoint, func_decl.
|
256
|
+
Z3::VeryLowLevel.Z3_fixedpoint_get_num_levels(_ctx_pointer, fixedpoint._fixedpoint, func_decl._ast)
|
257
257
|
end
|
258
258
|
|
259
259
|
def fixedpoint_get_param_descrs(fixedpoint) #=> :param_descrs_pointer
|
@@ -289,7 +289,7 @@ module Z3::LowLevel
|
|
289
289
|
end
|
290
290
|
|
291
291
|
def fixedpoint_register_relation(fixedpoint, func_decl) #=> :void
|
292
|
-
Z3::VeryLowLevel.Z3_fixedpoint_register_relation(_ctx_pointer, fixedpoint._fixedpoint, func_decl.
|
292
|
+
Z3::VeryLowLevel.Z3_fixedpoint_register_relation(_ctx_pointer, fixedpoint._fixedpoint, func_decl._ast)
|
293
293
|
end
|
294
294
|
|
295
295
|
def fixedpoint_set_params(fixedpoint, params) #=> :void
|
@@ -301,7 +301,7 @@ module Z3::LowLevel
|
|
301
301
|
end
|
302
302
|
|
303
303
|
def fpa_get_ebits(sort) #=> :uint
|
304
|
-
Z3::VeryLowLevel.Z3_fpa_get_ebits(_ctx_pointer, sort.
|
304
|
+
Z3::VeryLowLevel.Z3_fpa_get_ebits(_ctx_pointer, sort._ast)
|
305
305
|
end
|
306
306
|
|
307
307
|
def fpa_get_numeral_exponent_string(ast) #=> :string
|
@@ -313,15 +313,15 @@ module Z3::LowLevel
|
|
313
313
|
end
|
314
314
|
|
315
315
|
def fpa_get_sbits(sort) #=> :uint
|
316
|
-
Z3::VeryLowLevel.Z3_fpa_get_sbits(_ctx_pointer, sort.
|
316
|
+
Z3::VeryLowLevel.Z3_fpa_get_sbits(_ctx_pointer, sort._ast)
|
317
317
|
end
|
318
318
|
|
319
319
|
def func_decl_to_ast(func_decl) #=> :ast_pointer
|
320
|
-
Z3::VeryLowLevel.Z3_func_decl_to_ast(_ctx_pointer, func_decl.
|
320
|
+
Z3::VeryLowLevel.Z3_func_decl_to_ast(_ctx_pointer, func_decl._ast)
|
321
321
|
end
|
322
322
|
|
323
323
|
def func_decl_to_string(func_decl) #=> :string
|
324
|
-
Z3::VeryLowLevel.Z3_func_decl_to_string(_ctx_pointer, func_decl.
|
324
|
+
Z3::VeryLowLevel.Z3_func_decl_to_string(_ctx_pointer, func_decl._ast)
|
325
325
|
end
|
326
326
|
|
327
327
|
def func_entry_dec_ref(func_entry) #=> :void
|
@@ -377,27 +377,27 @@ module Z3::LowLevel
|
|
377
377
|
end
|
378
378
|
|
379
379
|
def get_app_arg(app, num) #=> :ast_pointer
|
380
|
-
Z3::VeryLowLevel.Z3_get_app_arg(_ctx_pointer, app.
|
380
|
+
Z3::VeryLowLevel.Z3_get_app_arg(_ctx_pointer, app._ast, num)
|
381
381
|
end
|
382
382
|
|
383
383
|
def get_app_decl(app) #=> :func_decl_pointer
|
384
|
-
Z3::VeryLowLevel.Z3_get_app_decl(_ctx_pointer, app.
|
384
|
+
Z3::VeryLowLevel.Z3_get_app_decl(_ctx_pointer, app._ast)
|
385
385
|
end
|
386
386
|
|
387
387
|
def get_app_num_args(app) #=> :uint
|
388
|
-
Z3::VeryLowLevel.Z3_get_app_num_args(_ctx_pointer, app.
|
388
|
+
Z3::VeryLowLevel.Z3_get_app_num_args(_ctx_pointer, app._ast)
|
389
389
|
end
|
390
390
|
|
391
391
|
def get_arity(func_decl) #=> :uint
|
392
|
-
Z3::VeryLowLevel.Z3_get_arity(_ctx_pointer, func_decl.
|
392
|
+
Z3::VeryLowLevel.Z3_get_arity(_ctx_pointer, func_decl._ast)
|
393
393
|
end
|
394
394
|
|
395
395
|
def get_array_sort_domain(sort) #=> :sort_pointer
|
396
|
-
Z3::VeryLowLevel.Z3_get_array_sort_domain(_ctx_pointer, sort.
|
396
|
+
Z3::VeryLowLevel.Z3_get_array_sort_domain(_ctx_pointer, sort._ast)
|
397
397
|
end
|
398
398
|
|
399
399
|
def get_array_sort_range(sort) #=> :sort_pointer
|
400
|
-
Z3::VeryLowLevel.Z3_get_array_sort_range(_ctx_pointer, sort.
|
400
|
+
Z3::VeryLowLevel.Z3_get_array_sort_range(_ctx_pointer, sort._ast)
|
401
401
|
end
|
402
402
|
|
403
403
|
def get_as_array_func_decl(ast) #=> :func_decl_pointer
|
@@ -421,67 +421,67 @@ module Z3::LowLevel
|
|
421
421
|
end
|
422
422
|
|
423
423
|
def get_bv_sort_size(sort) #=> :uint
|
424
|
-
Z3::VeryLowLevel.Z3_get_bv_sort_size(_ctx_pointer, sort.
|
424
|
+
Z3::VeryLowLevel.Z3_get_bv_sort_size(_ctx_pointer, sort._ast)
|
425
425
|
end
|
426
426
|
|
427
427
|
def get_datatype_sort_constructor(sort, num) #=> :func_decl_pointer
|
428
|
-
Z3::VeryLowLevel.Z3_get_datatype_sort_constructor(_ctx_pointer, sort.
|
428
|
+
Z3::VeryLowLevel.Z3_get_datatype_sort_constructor(_ctx_pointer, sort._ast, num)
|
429
429
|
end
|
430
430
|
|
431
431
|
def get_datatype_sort_constructor_accessor(sort, num1, num2) #=> :func_decl_pointer
|
432
|
-
Z3::VeryLowLevel.Z3_get_datatype_sort_constructor_accessor(_ctx_pointer, sort.
|
432
|
+
Z3::VeryLowLevel.Z3_get_datatype_sort_constructor_accessor(_ctx_pointer, sort._ast, num1, num2)
|
433
433
|
end
|
434
434
|
|
435
435
|
def get_datatype_sort_num_constructors(sort) #=> :uint
|
436
|
-
Z3::VeryLowLevel.Z3_get_datatype_sort_num_constructors(_ctx_pointer, sort.
|
436
|
+
Z3::VeryLowLevel.Z3_get_datatype_sort_num_constructors(_ctx_pointer, sort._ast)
|
437
437
|
end
|
438
438
|
|
439
439
|
def get_datatype_sort_recognizer(sort, num) #=> :func_decl_pointer
|
440
|
-
Z3::VeryLowLevel.Z3_get_datatype_sort_recognizer(_ctx_pointer, sort.
|
440
|
+
Z3::VeryLowLevel.Z3_get_datatype_sort_recognizer(_ctx_pointer, sort._ast, num)
|
441
441
|
end
|
442
442
|
|
443
443
|
def get_decl_ast_parameter(func_decl, num) #=> :ast_pointer
|
444
|
-
Z3::VeryLowLevel.Z3_get_decl_ast_parameter(_ctx_pointer, func_decl.
|
444
|
+
Z3::VeryLowLevel.Z3_get_decl_ast_parameter(_ctx_pointer, func_decl._ast, num)
|
445
445
|
end
|
446
446
|
|
447
447
|
def get_decl_double_parameter(func_decl, num) #=> :double
|
448
|
-
Z3::VeryLowLevel.Z3_get_decl_double_parameter(_ctx_pointer, func_decl.
|
448
|
+
Z3::VeryLowLevel.Z3_get_decl_double_parameter(_ctx_pointer, func_decl._ast, num)
|
449
449
|
end
|
450
450
|
|
451
451
|
def get_decl_func_decl_parameter(func_decl, num) #=> :func_decl_pointer
|
452
|
-
Z3::VeryLowLevel.Z3_get_decl_func_decl_parameter(_ctx_pointer, func_decl.
|
452
|
+
Z3::VeryLowLevel.Z3_get_decl_func_decl_parameter(_ctx_pointer, func_decl._ast, num)
|
453
453
|
end
|
454
454
|
|
455
455
|
def get_decl_int_parameter(func_decl, num) #=> :int
|
456
|
-
Z3::VeryLowLevel.Z3_get_decl_int_parameter(_ctx_pointer, func_decl.
|
456
|
+
Z3::VeryLowLevel.Z3_get_decl_int_parameter(_ctx_pointer, func_decl._ast, num)
|
457
457
|
end
|
458
458
|
|
459
459
|
def get_decl_kind(func_decl) #=> :uint
|
460
|
-
Z3::VeryLowLevel.Z3_get_decl_kind(_ctx_pointer, func_decl.
|
460
|
+
Z3::VeryLowLevel.Z3_get_decl_kind(_ctx_pointer, func_decl._ast)
|
461
461
|
end
|
462
462
|
|
463
463
|
def get_decl_name(func_decl) #=> :symbol_pointer
|
464
|
-
Z3::VeryLowLevel.Z3_get_decl_name(_ctx_pointer, func_decl.
|
464
|
+
Z3::VeryLowLevel.Z3_get_decl_name(_ctx_pointer, func_decl._ast)
|
465
465
|
end
|
466
466
|
|
467
467
|
def get_decl_num_parameters(func_decl) #=> :uint
|
468
|
-
Z3::VeryLowLevel.Z3_get_decl_num_parameters(_ctx_pointer, func_decl.
|
468
|
+
Z3::VeryLowLevel.Z3_get_decl_num_parameters(_ctx_pointer, func_decl._ast)
|
469
469
|
end
|
470
470
|
|
471
471
|
def get_decl_parameter_kind(func_decl, num) #=> :uint
|
472
|
-
Z3::VeryLowLevel.Z3_get_decl_parameter_kind(_ctx_pointer, func_decl.
|
472
|
+
Z3::VeryLowLevel.Z3_get_decl_parameter_kind(_ctx_pointer, func_decl._ast, num)
|
473
473
|
end
|
474
474
|
|
475
475
|
def get_decl_rational_parameter(func_decl, num) #=> :string
|
476
|
-
Z3::VeryLowLevel.Z3_get_decl_rational_parameter(_ctx_pointer, func_decl.
|
476
|
+
Z3::VeryLowLevel.Z3_get_decl_rational_parameter(_ctx_pointer, func_decl._ast, num)
|
477
477
|
end
|
478
478
|
|
479
479
|
def get_decl_sort_parameter(func_decl, num) #=> :sort_pointer
|
480
|
-
Z3::VeryLowLevel.Z3_get_decl_sort_parameter(_ctx_pointer, func_decl.
|
480
|
+
Z3::VeryLowLevel.Z3_get_decl_sort_parameter(_ctx_pointer, func_decl._ast, num)
|
481
481
|
end
|
482
482
|
|
483
483
|
def get_decl_symbol_parameter(func_decl, num) #=> :symbol_pointer
|
484
|
-
Z3::VeryLowLevel.Z3_get_decl_symbol_parameter(_ctx_pointer, func_decl.
|
484
|
+
Z3::VeryLowLevel.Z3_get_decl_symbol_parameter(_ctx_pointer, func_decl._ast, num)
|
485
485
|
end
|
486
486
|
|
487
487
|
def get_denominator(ast) #=> :ast_pointer
|
@@ -489,11 +489,11 @@ module Z3::LowLevel
|
|
489
489
|
end
|
490
490
|
|
491
491
|
def get_domain(func_decl, num) #=> :sort_pointer
|
492
|
-
Z3::VeryLowLevel.Z3_get_domain(_ctx_pointer, func_decl.
|
492
|
+
Z3::VeryLowLevel.Z3_get_domain(_ctx_pointer, func_decl._ast, num)
|
493
493
|
end
|
494
494
|
|
495
495
|
def get_domain_size(func_decl) #=> :uint
|
496
|
-
Z3::VeryLowLevel.Z3_get_domain_size(_ctx_pointer, func_decl.
|
496
|
+
Z3::VeryLowLevel.Z3_get_domain_size(_ctx_pointer, func_decl._ast)
|
497
497
|
end
|
498
498
|
|
499
499
|
def get_error_code #=> :uint
|
@@ -501,7 +501,7 @@ module Z3::LowLevel
|
|
501
501
|
end
|
502
502
|
|
503
503
|
def get_func_decl_id(func_decl) #=> :uint
|
504
|
-
Z3::VeryLowLevel.Z3_get_func_decl_id(_ctx_pointer, func_decl.
|
504
|
+
Z3::VeryLowLevel.Z3_get_func_decl_id(_ctx_pointer, func_decl._ast)
|
505
505
|
end
|
506
506
|
|
507
507
|
def get_index_value(ast) #=> :uint
|
@@ -533,11 +533,11 @@ module Z3::LowLevel
|
|
533
533
|
end
|
534
534
|
|
535
535
|
def get_pattern(pattern, num) #=> :ast_pointer
|
536
|
-
Z3::VeryLowLevel.Z3_get_pattern(_ctx_pointer, pattern.
|
536
|
+
Z3::VeryLowLevel.Z3_get_pattern(_ctx_pointer, pattern._ast, num)
|
537
537
|
end
|
538
538
|
|
539
539
|
def get_pattern_num_terms(pattern) #=> :uint
|
540
|
-
Z3::VeryLowLevel.Z3_get_pattern_num_terms(_ctx_pointer, pattern.
|
540
|
+
Z3::VeryLowLevel.Z3_get_pattern_num_terms(_ctx_pointer, pattern._ast)
|
541
541
|
end
|
542
542
|
|
543
543
|
def get_probe_name(num) #=> :string
|
@@ -581,15 +581,15 @@ module Z3::LowLevel
|
|
581
581
|
end
|
582
582
|
|
583
583
|
def get_range(func_decl) #=> :sort_pointer
|
584
|
-
Z3::VeryLowLevel.Z3_get_range(_ctx_pointer, func_decl.
|
584
|
+
Z3::VeryLowLevel.Z3_get_range(_ctx_pointer, func_decl._ast)
|
585
585
|
end
|
586
586
|
|
587
587
|
def get_relation_arity(sort) #=> :uint
|
588
|
-
Z3::VeryLowLevel.Z3_get_relation_arity(_ctx_pointer, sort.
|
588
|
+
Z3::VeryLowLevel.Z3_get_relation_arity(_ctx_pointer, sort._ast)
|
589
589
|
end
|
590
590
|
|
591
591
|
def get_relation_column(sort, num) #=> :sort_pointer
|
592
|
-
Z3::VeryLowLevel.Z3_get_relation_column(_ctx_pointer, sort.
|
592
|
+
Z3::VeryLowLevel.Z3_get_relation_column(_ctx_pointer, sort._ast, num)
|
593
593
|
end
|
594
594
|
|
595
595
|
def get_smtlib_assumption(num) #=> :ast_pointer
|
@@ -633,15 +633,15 @@ module Z3::LowLevel
|
|
633
633
|
end
|
634
634
|
|
635
635
|
def get_sort_id(sort) #=> :uint
|
636
|
-
Z3::VeryLowLevel.Z3_get_sort_id(_ctx_pointer, sort.
|
636
|
+
Z3::VeryLowLevel.Z3_get_sort_id(_ctx_pointer, sort._ast)
|
637
637
|
end
|
638
638
|
|
639
639
|
def get_sort_kind(sort) #=> :uint
|
640
|
-
Z3::VeryLowLevel.Z3_get_sort_kind(_ctx_pointer, sort.
|
640
|
+
Z3::VeryLowLevel.Z3_get_sort_kind(_ctx_pointer, sort._ast)
|
641
641
|
end
|
642
642
|
|
643
643
|
def get_sort_name(sort) #=> :symbol_pointer
|
644
|
-
Z3::VeryLowLevel.Z3_get_sort_name(_ctx_pointer, sort.
|
644
|
+
Z3::VeryLowLevel.Z3_get_sort_name(_ctx_pointer, sort._ast)
|
645
645
|
end
|
646
646
|
|
647
647
|
def get_symbol_int(sym) #=> :int
|
@@ -661,15 +661,15 @@ module Z3::LowLevel
|
|
661
661
|
end
|
662
662
|
|
663
663
|
def get_tuple_sort_field_decl(sort, num) #=> :func_decl_pointer
|
664
|
-
Z3::VeryLowLevel.Z3_get_tuple_sort_field_decl(_ctx_pointer, sort.
|
664
|
+
Z3::VeryLowLevel.Z3_get_tuple_sort_field_decl(_ctx_pointer, sort._ast, num)
|
665
665
|
end
|
666
666
|
|
667
667
|
def get_tuple_sort_mk_decl(sort) #=> :func_decl_pointer
|
668
|
-
Z3::VeryLowLevel.Z3_get_tuple_sort_mk_decl(_ctx_pointer, sort.
|
668
|
+
Z3::VeryLowLevel.Z3_get_tuple_sort_mk_decl(_ctx_pointer, sort._ast)
|
669
669
|
end
|
670
670
|
|
671
671
|
def get_tuple_sort_num_fields(sort) #=> :uint
|
672
|
-
Z3::VeryLowLevel.Z3_get_tuple_sort_num_fields(_ctx_pointer, sort.
|
672
|
+
Z3::VeryLowLevel.Z3_get_tuple_sort_num_fields(_ctx_pointer, sort._ast)
|
673
673
|
end
|
674
674
|
|
675
675
|
def global_param_reset_all #=> :void
|
@@ -765,11 +765,11 @@ module Z3::LowLevel
|
|
765
765
|
end
|
766
766
|
|
767
767
|
def is_eq_func_decl(func_decl1, func_decl2) #=> :bool
|
768
|
-
Z3::VeryLowLevel.Z3_is_eq_func_decl(_ctx_pointer, func_decl1.
|
768
|
+
Z3::VeryLowLevel.Z3_is_eq_func_decl(_ctx_pointer, func_decl1._ast, func_decl2._ast)
|
769
769
|
end
|
770
770
|
|
771
771
|
def is_eq_sort(sort1, sort2) #=> :bool
|
772
|
-
Z3::VeryLowLevel.Z3_is_eq_sort(_ctx_pointer, sort1.
|
772
|
+
Z3::VeryLowLevel.Z3_is_eq_sort(_ctx_pointer, sort1._ast, sort2._ast)
|
773
773
|
end
|
774
774
|
|
775
775
|
def is_numeral_ast(ast) #=> :bool
|
@@ -789,7 +789,7 @@ module Z3::LowLevel
|
|
789
789
|
end
|
790
790
|
|
791
791
|
def mk_array_sort(sort1, sort2) #=> :sort_pointer
|
792
|
-
Z3::VeryLowLevel.Z3_mk_array_sort(_ctx_pointer, sort1.
|
792
|
+
Z3::VeryLowLevel.Z3_mk_array_sort(_ctx_pointer, sort1._ast, sort2._ast)
|
793
793
|
end
|
794
794
|
|
795
795
|
def mk_ast_map #=> :ast_map_pointer
|
@@ -805,7 +805,7 @@ module Z3::LowLevel
|
|
805
805
|
end
|
806
806
|
|
807
807
|
def mk_bound(num, sort) #=> :ast_pointer
|
808
|
-
Z3::VeryLowLevel.Z3_mk_bound(_ctx_pointer, num, sort.
|
808
|
+
Z3::VeryLowLevel.Z3_mk_bound(_ctx_pointer, num, sort._ast)
|
809
809
|
end
|
810
810
|
|
811
811
|
def mk_bv2int(ast, bool) #=> :ast_pointer
|
@@ -973,11 +973,11 @@ module Z3::LowLevel
|
|
973
973
|
end
|
974
974
|
|
975
975
|
def mk_const(sym, sort) #=> :ast_pointer
|
976
|
-
Z3::VeryLowLevel.Z3_mk_const(_ctx_pointer, sym, sort.
|
976
|
+
Z3::VeryLowLevel.Z3_mk_const(_ctx_pointer, sym, sort._ast)
|
977
977
|
end
|
978
978
|
|
979
979
|
def mk_const_array(sort, ast) #=> :ast_pointer
|
980
|
-
Z3::VeryLowLevel.Z3_mk_const_array(_ctx_pointer, sort.
|
980
|
+
Z3::VeryLowLevel.Z3_mk_const_array(_ctx_pointer, sort._ast, ast._ast)
|
981
981
|
end
|
982
982
|
|
983
983
|
def mk_context_rc(config) #=> :ctx_pointer
|
@@ -989,7 +989,7 @@ module Z3::LowLevel
|
|
989
989
|
end
|
990
990
|
|
991
991
|
def mk_empty_set(sort) #=> :ast_pointer
|
992
|
-
Z3::VeryLowLevel.Z3_mk_empty_set(_ctx_pointer, sort.
|
992
|
+
Z3::VeryLowLevel.Z3_mk_empty_set(_ctx_pointer, sort._ast)
|
993
993
|
end
|
994
994
|
|
995
995
|
def mk_eq(ast1, ast2) #=> :ast_pointer
|
@@ -1053,7 +1053,7 @@ module Z3::LowLevel
|
|
1053
1053
|
end
|
1054
1054
|
|
1055
1055
|
def mk_fpa_inf(sort, bool) #=> :ast_pointer
|
1056
|
-
Z3::VeryLowLevel.Z3_mk_fpa_inf(_ctx_pointer, sort.
|
1056
|
+
Z3::VeryLowLevel.Z3_mk_fpa_inf(_ctx_pointer, sort._ast, bool)
|
1057
1057
|
end
|
1058
1058
|
|
1059
1059
|
def mk_fpa_is_infinite(ast) #=> :ast_pointer
|
@@ -1105,7 +1105,7 @@ module Z3::LowLevel
|
|
1105
1105
|
end
|
1106
1106
|
|
1107
1107
|
def mk_fpa_nan(sort) #=> :ast_pointer
|
1108
|
-
Z3::VeryLowLevel.Z3_mk_fpa_nan(_ctx_pointer, sort.
|
1108
|
+
Z3::VeryLowLevel.Z3_mk_fpa_nan(_ctx_pointer, sort._ast)
|
1109
1109
|
end
|
1110
1110
|
|
1111
1111
|
def mk_fpa_neg(ast) #=> :ast_pointer
|
@@ -1113,23 +1113,23 @@ module Z3::LowLevel
|
|
1113
1113
|
end
|
1114
1114
|
|
1115
1115
|
def mk_fpa_numeral_double(double, sort) #=> :ast_pointer
|
1116
|
-
Z3::VeryLowLevel.Z3_mk_fpa_numeral_double(_ctx_pointer, double, sort.
|
1116
|
+
Z3::VeryLowLevel.Z3_mk_fpa_numeral_double(_ctx_pointer, double, sort._ast)
|
1117
1117
|
end
|
1118
1118
|
|
1119
1119
|
def mk_fpa_numeral_float(float, sort) #=> :ast_pointer
|
1120
|
-
Z3::VeryLowLevel.Z3_mk_fpa_numeral_float(_ctx_pointer, float, sort.
|
1120
|
+
Z3::VeryLowLevel.Z3_mk_fpa_numeral_float(_ctx_pointer, float, sort._ast)
|
1121
1121
|
end
|
1122
1122
|
|
1123
1123
|
def mk_fpa_numeral_int(num, sort) #=> :ast_pointer
|
1124
|
-
Z3::VeryLowLevel.Z3_mk_fpa_numeral_int(_ctx_pointer, num, sort.
|
1124
|
+
Z3::VeryLowLevel.Z3_mk_fpa_numeral_int(_ctx_pointer, num, sort._ast)
|
1125
1125
|
end
|
1126
1126
|
|
1127
1127
|
def mk_fpa_numeral_int64_uint64(bool, num1, num2, sort) #=> :ast_pointer
|
1128
|
-
Z3::VeryLowLevel.Z3_mk_fpa_numeral_int64_uint64(_ctx_pointer, bool, num1, num2, sort.
|
1128
|
+
Z3::VeryLowLevel.Z3_mk_fpa_numeral_int64_uint64(_ctx_pointer, bool, num1, num2, sort._ast)
|
1129
1129
|
end
|
1130
1130
|
|
1131
1131
|
def mk_fpa_numeral_int_uint(bool, num1, num2, sort) #=> :ast_pointer
|
1132
|
-
Z3::VeryLowLevel.Z3_mk_fpa_numeral_int_uint(_ctx_pointer, bool, num1, num2, sort.
|
1132
|
+
Z3::VeryLowLevel.Z3_mk_fpa_numeral_int_uint(_ctx_pointer, bool, num1, num2, sort._ast)
|
1133
1133
|
end
|
1134
1134
|
|
1135
1135
|
def mk_fpa_rem(ast1, ast2) #=> :ast_pointer
|
@@ -1229,27 +1229,27 @@ module Z3::LowLevel
|
|
1229
1229
|
end
|
1230
1230
|
|
1231
1231
|
def mk_fpa_to_fp_bv(ast, sort) #=> :ast_pointer
|
1232
|
-
Z3::VeryLowLevel.Z3_mk_fpa_to_fp_bv(_ctx_pointer, ast._ast, sort.
|
1232
|
+
Z3::VeryLowLevel.Z3_mk_fpa_to_fp_bv(_ctx_pointer, ast._ast, sort._ast)
|
1233
1233
|
end
|
1234
1234
|
|
1235
1235
|
def mk_fpa_to_fp_float(ast1, ast2, sort) #=> :ast_pointer
|
1236
|
-
Z3::VeryLowLevel.Z3_mk_fpa_to_fp_float(_ctx_pointer, ast1._ast, ast2._ast, sort.
|
1236
|
+
Z3::VeryLowLevel.Z3_mk_fpa_to_fp_float(_ctx_pointer, ast1._ast, ast2._ast, sort._ast)
|
1237
1237
|
end
|
1238
1238
|
|
1239
1239
|
def mk_fpa_to_fp_int_real(ast1, ast2, ast3, sort) #=> :ast_pointer
|
1240
|
-
Z3::VeryLowLevel.Z3_mk_fpa_to_fp_int_real(_ctx_pointer, ast1._ast, ast2._ast, ast3._ast, sort.
|
1240
|
+
Z3::VeryLowLevel.Z3_mk_fpa_to_fp_int_real(_ctx_pointer, ast1._ast, ast2._ast, ast3._ast, sort._ast)
|
1241
1241
|
end
|
1242
1242
|
|
1243
1243
|
def mk_fpa_to_fp_real(ast1, ast2, sort) #=> :ast_pointer
|
1244
|
-
Z3::VeryLowLevel.Z3_mk_fpa_to_fp_real(_ctx_pointer, ast1._ast, ast2._ast, sort.
|
1244
|
+
Z3::VeryLowLevel.Z3_mk_fpa_to_fp_real(_ctx_pointer, ast1._ast, ast2._ast, sort._ast)
|
1245
1245
|
end
|
1246
1246
|
|
1247
1247
|
def mk_fpa_to_fp_signed(ast1, ast2, sort) #=> :ast_pointer
|
1248
|
-
Z3::VeryLowLevel.Z3_mk_fpa_to_fp_signed(_ctx_pointer, ast1._ast, ast2._ast, sort.
|
1248
|
+
Z3::VeryLowLevel.Z3_mk_fpa_to_fp_signed(_ctx_pointer, ast1._ast, ast2._ast, sort._ast)
|
1249
1249
|
end
|
1250
1250
|
|
1251
1251
|
def mk_fpa_to_fp_unsigned(ast1, ast2, sort) #=> :ast_pointer
|
1252
|
-
Z3::VeryLowLevel.Z3_mk_fpa_to_fp_unsigned(_ctx_pointer, ast1._ast, ast2._ast, sort.
|
1252
|
+
Z3::VeryLowLevel.Z3_mk_fpa_to_fp_unsigned(_ctx_pointer, ast1._ast, ast2._ast, sort._ast)
|
1253
1253
|
end
|
1254
1254
|
|
1255
1255
|
def mk_fpa_to_ieee_bv(ast) #=> :ast_pointer
|
@@ -1269,15 +1269,15 @@ module Z3::LowLevel
|
|
1269
1269
|
end
|
1270
1270
|
|
1271
1271
|
def mk_fpa_zero(sort, bool) #=> :ast_pointer
|
1272
|
-
Z3::VeryLowLevel.Z3_mk_fpa_zero(_ctx_pointer, sort.
|
1272
|
+
Z3::VeryLowLevel.Z3_mk_fpa_zero(_ctx_pointer, sort._ast, bool)
|
1273
1273
|
end
|
1274
1274
|
|
1275
1275
|
def mk_fresh_const(str, sort) #=> :ast_pointer
|
1276
|
-
Z3::VeryLowLevel.Z3_mk_fresh_const(_ctx_pointer, str, sort.
|
1276
|
+
Z3::VeryLowLevel.Z3_mk_fresh_const(_ctx_pointer, str, sort._ast)
|
1277
1277
|
end
|
1278
1278
|
|
1279
1279
|
def mk_full_set(sort) #=> :ast_pointer
|
1280
|
-
Z3::VeryLowLevel.Z3_mk_full_set(_ctx_pointer, sort.
|
1280
|
+
Z3::VeryLowLevel.Z3_mk_full_set(_ctx_pointer, sort._ast)
|
1281
1281
|
end
|
1282
1282
|
|
1283
1283
|
def mk_ge(ast1, ast2) #=> :ast_pointer
|
@@ -1301,7 +1301,7 @@ module Z3::LowLevel
|
|
1301
1301
|
end
|
1302
1302
|
|
1303
1303
|
def mk_int(num, sort) #=> :ast_pointer
|
1304
|
-
Z3::VeryLowLevel.Z3_mk_int(_ctx_pointer, num, sort.
|
1304
|
+
Z3::VeryLowLevel.Z3_mk_int(_ctx_pointer, num, sort._ast)
|
1305
1305
|
end
|
1306
1306
|
|
1307
1307
|
def mk_int2bv(num, ast) #=> :ast_pointer
|
@@ -1313,7 +1313,7 @@ module Z3::LowLevel
|
|
1313
1313
|
end
|
1314
1314
|
|
1315
1315
|
def mk_int64(num, sort) #=> :ast_pointer
|
1316
|
-
Z3::VeryLowLevel.Z3_mk_int64(_ctx_pointer, num, sort.
|
1316
|
+
Z3::VeryLowLevel.Z3_mk_int64(_ctx_pointer, num, sort._ast)
|
1317
1317
|
end
|
1318
1318
|
|
1319
1319
|
def mk_int_sort #=> :sort_pointer
|
@@ -1357,7 +1357,7 @@ module Z3::LowLevel
|
|
1357
1357
|
end
|
1358
1358
|
|
1359
1359
|
def mk_numeral(str, sort) #=> :ast_pointer
|
1360
|
-
Z3::VeryLowLevel.Z3_mk_numeral(_ctx_pointer, str, sort.
|
1360
|
+
Z3::VeryLowLevel.Z3_mk_numeral(_ctx_pointer, str, sort._ast)
|
1361
1361
|
end
|
1362
1362
|
|
1363
1363
|
def mk_optimize #=> :optimize_pointer
|
@@ -1429,7 +1429,7 @@ module Z3::LowLevel
|
|
1429
1429
|
end
|
1430
1430
|
|
1431
1431
|
def mk_set_sort(sort) #=> :sort_pointer
|
1432
|
-
Z3::VeryLowLevel.Z3_mk_set_sort(_ctx_pointer, sort.
|
1432
|
+
Z3::VeryLowLevel.Z3_mk_set_sort(_ctx_pointer, sort._ast)
|
1433
1433
|
end
|
1434
1434
|
|
1435
1435
|
def mk_set_subset(ast1, ast2) #=> :ast_pointer
|
@@ -1481,11 +1481,11 @@ module Z3::LowLevel
|
|
1481
1481
|
end
|
1482
1482
|
|
1483
1483
|
def mk_unsigned_int(num, sort) #=> :ast_pointer
|
1484
|
-
Z3::VeryLowLevel.Z3_mk_unsigned_int(_ctx_pointer, num, sort.
|
1484
|
+
Z3::VeryLowLevel.Z3_mk_unsigned_int(_ctx_pointer, num, sort._ast)
|
1485
1485
|
end
|
1486
1486
|
|
1487
1487
|
def mk_unsigned_int64(num, sort) #=> :ast_pointer
|
1488
|
-
Z3::VeryLowLevel.Z3_mk_unsigned_int64(_ctx_pointer, num, sort.
|
1488
|
+
Z3::VeryLowLevel.Z3_mk_unsigned_int64(_ctx_pointer, num, sort._ast)
|
1489
1489
|
end
|
1490
1490
|
|
1491
1491
|
def mk_xor(ast1, ast2) #=> :ast_pointer
|
@@ -1505,7 +1505,7 @@ module Z3::LowLevel
|
|
1505
1505
|
end
|
1506
1506
|
|
1507
1507
|
def model_get_const_interp(model, func_decl) #=> :ast_pointer
|
1508
|
-
Z3::VeryLowLevel.Z3_model_get_const_interp(_ctx_pointer, model._model, func_decl.
|
1508
|
+
Z3::VeryLowLevel.Z3_model_get_const_interp(_ctx_pointer, model._model, func_decl._ast)
|
1509
1509
|
end
|
1510
1510
|
|
1511
1511
|
def model_get_func_decl(model, num) #=> :func_decl_pointer
|
@@ -1513,7 +1513,7 @@ module Z3::LowLevel
|
|
1513
1513
|
end
|
1514
1514
|
|
1515
1515
|
def model_get_func_interp(model, func_decl) #=> :func_interp_pointer
|
1516
|
-
Z3::VeryLowLevel.Z3_model_get_func_interp(_ctx_pointer, model._model, func_decl.
|
1516
|
+
Z3::VeryLowLevel.Z3_model_get_func_interp(_ctx_pointer, model._model, func_decl._ast)
|
1517
1517
|
end
|
1518
1518
|
|
1519
1519
|
def model_get_num_consts(model) #=> :uint
|
@@ -1533,11 +1533,11 @@ module Z3::LowLevel
|
|
1533
1533
|
end
|
1534
1534
|
|
1535
1535
|
def model_get_sort_universe(model, sort) #=> :ast_vector_pointer
|
1536
|
-
Z3::VeryLowLevel.Z3_model_get_sort_universe(_ctx_pointer, model._model, sort.
|
1536
|
+
Z3::VeryLowLevel.Z3_model_get_sort_universe(_ctx_pointer, model._model, sort._ast)
|
1537
1537
|
end
|
1538
1538
|
|
1539
1539
|
def model_has_interp(model, func_decl) #=> :bool
|
1540
|
-
Z3::VeryLowLevel.Z3_model_has_interp(_ctx_pointer, model._model, func_decl.
|
1540
|
+
Z3::VeryLowLevel.Z3_model_has_interp(_ctx_pointer, model._model, func_decl._ast)
|
1541
1541
|
end
|
1542
1542
|
|
1543
1543
|
def model_inc_ref(model) #=> :void
|
@@ -1677,11 +1677,11 @@ module Z3::LowLevel
|
|
1677
1677
|
end
|
1678
1678
|
|
1679
1679
|
def pattern_to_ast(pattern) #=> :ast_pointer
|
1680
|
-
Z3::VeryLowLevel.Z3_pattern_to_ast(_ctx_pointer, pattern.
|
1680
|
+
Z3::VeryLowLevel.Z3_pattern_to_ast(_ctx_pointer, pattern._ast)
|
1681
1681
|
end
|
1682
1682
|
|
1683
1683
|
def pattern_to_string(pattern) #=> :string
|
1684
|
-
Z3::VeryLowLevel.Z3_pattern_to_string(_ctx_pointer, pattern.
|
1684
|
+
Z3::VeryLowLevel.Z3_pattern_to_string(_ctx_pointer, pattern._ast)
|
1685
1685
|
end
|
1686
1686
|
|
1687
1687
|
def polynomial_subresultants(ast1, ast2, ast3) #=> :ast_vector_pointer
|
@@ -1925,11 +1925,11 @@ module Z3::LowLevel
|
|
1925
1925
|
end
|
1926
1926
|
|
1927
1927
|
def sort_to_ast(sort) #=> :ast_pointer
|
1928
|
-
Z3::VeryLowLevel.Z3_sort_to_ast(_ctx_pointer, sort.
|
1928
|
+
Z3::VeryLowLevel.Z3_sort_to_ast(_ctx_pointer, sort._ast)
|
1929
1929
|
end
|
1930
1930
|
|
1931
1931
|
def sort_to_string(sort) #=> :string
|
1932
|
-
Z3::VeryLowLevel.Z3_sort_to_string(_ctx_pointer, sort.
|
1932
|
+
Z3::VeryLowLevel.Z3_sort_to_string(_ctx_pointer, sort._ast)
|
1933
1933
|
end
|
1934
1934
|
|
1935
1935
|
def stats_dec_ref(stats) #=> :void
|