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.
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