z3 0.0.20160330 → 0.0.20160427

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -0
  3. data/examples/{bridges_solver → bridges} +5 -12
  4. data/examples/bridges-1.txt +7 -0
  5. data/examples/{clogic_puzzle_solver → clogic_puzzle} +0 -0
  6. data/examples/four_hackers_puzzle +2 -1
  7. data/examples/{kakuro_solver → kakuro} +5 -15
  8. data/examples/kakuro-1.txt +10 -0
  9. data/examples/{knights_puzzle_solver → knights_puzzle} +4 -4
  10. data/examples/{letter_connections_solver → letter_connections} +6 -15
  11. data/examples/letter_connections-1.txt +10 -0
  12. data/examples/{light_up_solver → light_up} +5 -12
  13. data/examples/light_up-1.txt +7 -0
  14. data/examples/{minisudoku_solver → minisudoku} +8 -11
  15. data/examples/minisudoku-1.txt +6 -0
  16. data/examples/nonogram +152 -0
  17. data/examples/{selfref_solver → selfref} +0 -0
  18. data/examples/{sudoku_solver → sudoku} +9 -14
  19. data/examples/sudoku-1.txt +9 -0
  20. data/lib/z3.rb +10 -6
  21. data/lib/z3/ast.rb +33 -0
  22. data/lib/z3/{value/arith_value.rb → expr/arith_expr.rb} +3 -3
  23. data/lib/z3/{value/bitvec_value.rb → expr/bitvec_expr.rb} +1 -1
  24. data/lib/z3/{value/bool_value.rb → expr/bool_expr.rb} +5 -1
  25. data/lib/z3/{value/value.rb → expr/expr.rb} +7 -13
  26. data/lib/z3/expr/int_expr.rb +15 -0
  27. data/lib/z3/{value/int_value.rb → expr/real_expr.rb} +2 -2
  28. data/lib/z3/func_decl.rb +33 -23
  29. data/lib/z3/interface.rb +52 -30
  30. data/lib/z3/low_level.rb +10 -1
  31. data/lib/z3/low_level_auto.rb +83 -83
  32. data/lib/z3/model.rb +6 -5
  33. data/lib/z3/printer.rb +26 -0
  34. data/lib/z3/solver.rb +1 -5
  35. data/lib/z3/sort/bitvec_sort.rb +3 -3
  36. data/lib/z3/sort/bool_sort.rb +4 -4
  37. data/lib/z3/sort/int_sort.rb +2 -2
  38. data/lib/z3/sort/real_sort.rb +5 -5
  39. data/lib/z3/sort/sort.rb +22 -7
  40. data/lib/z3/very_low_level.rb +1 -1
  41. data/spec/bitvec_expr_spec.rb +55 -0
  42. data/spec/bitvec_sort_spec.rb +34 -0
  43. data/spec/bool_expr_spec.rb +65 -0
  44. data/spec/bool_sort_spec.rb +20 -0
  45. data/spec/{value_spec.rb → expr_spec.rb} +3 -3
  46. data/spec/int_expr_spec.rb +78 -0
  47. data/spec/int_sort_spec.rb +18 -0
  48. data/spec/integration/algebra_problems_spec.rb +19 -20
  49. data/spec/integration/basic_int_math_spec.rb +4 -5
  50. data/spec/integration/basic_logic_spec.rb +3 -4
  51. data/spec/integration/bit_tricks_spec.rb +2 -3
  52. data/spec/integration/bridges_spec.rb +2 -3
  53. data/spec/integration/four_hackers_puzzle_spec.rb +26 -0
  54. data/spec/integration/geometry_problem_spec.rb +10 -11
  55. data/spec/integration/kakuro_spec.rb +2 -3
  56. data/spec/integration/kinematics_problems_spec.rb +36 -37
  57. data/spec/integration/knights_puzzle_spec.rb +96 -0
  58. data/spec/integration/letter_connections_spec.rb +2 -3
  59. data/spec/integration/light_up_spec.rb +3 -4
  60. data/spec/integration/minisudoku_spec.rb +2 -3
  61. data/spec/integration/nonogram_spec.rb +26 -0
  62. data/spec/integration/selfref_spec.rb +2 -3
  63. data/spec/integration/sudoku_spec.rb +2 -3
  64. data/spec/integration/verbal_arithmetic_spec.rb +2 -3
  65. data/spec/model_spec.rb +13 -6
  66. data/spec/printer_spec.rb +22 -0
  67. data/spec/real_expr_spec.rb +64 -0
  68. data/spec/real_sort_spec.rb +24 -0
  69. data/spec/solver_spec.rb +11 -0
  70. data/spec/spec_helper.rb +39 -64
  71. metadata +81 -18
  72. data/lib/z3/value/real_value.rb +0 -7
@@ -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
@@ -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._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._func_decl, ast1._ast, ast2._ast)
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._func_decl, ast._ast)
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._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._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._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._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._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._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._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._app, num)
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._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._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._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._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._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._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._sort, num)
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._sort, num1, num2)
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._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._sort, num)
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._func_decl, num)
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._func_decl, num)
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._func_decl, num)
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._func_decl, num)
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._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._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._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._func_decl, num)
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._func_decl, num)
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._func_decl, num)
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._func_decl, num)
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._func_decl, num)
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._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._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._pattern, num)
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._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._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._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._sort, num)
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._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._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._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._sort, num)
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._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._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._func_decl, func_decl2._func_decl)
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._sort, sort2._sort)
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._sort, sort2._sort)
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._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._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._sort, ast._ast)
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._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._sort, bool)
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._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._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._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._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._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._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._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._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._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._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._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._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._sort, bool)
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._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._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._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._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._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._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._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._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._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._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._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._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._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._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._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._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