z3 0.0.20160330 → 0.0.20160427
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|