eyeprolog 0.5.13 → 0.5.15

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 (124) hide show
  1. package/README.md +2 -0
  2. package/conformance-report.md +2 -2
  3. package/examples/auroracare.pl +26 -0
  4. package/examples/bmi.pl +20 -1
  5. package/examples/cdcl-sat-solver.pl +6 -6
  6. package/examples/composition-of-injective-functions-is-injective.pl +4 -1
  7. package/examples/deep-taxonomy-10.pl +2 -0
  8. package/examples/deep-taxonomy-100.pl +2 -0
  9. package/examples/deep-taxonomy-1000.pl +2 -0
  10. package/examples/deep-taxonomy-10000.pl +2 -0
  11. package/examples/exoplanet-validation-worlds.pl +3 -0
  12. package/examples/family-cousins.pl +2 -0
  13. package/examples/fastpow.pl +6 -6
  14. package/examples/flandor.pl +14 -0
  15. package/examples/gd-step-certified.pl +3 -0
  16. package/examples/group-inverse-uniqueness.pl +9 -9
  17. package/examples/illegitimate-reasoning.pl +6 -0
  18. package/examples/input/odrl-dpv-fpv-trust-flow-rules.pl +3 -9
  19. package/examples/list-collection.pl +6 -6
  20. package/examples/lldm.pl +2 -0
  21. package/examples/odrl-dpv-fpv-trust-flow.pl +3 -9
  22. package/examples/output/aliases-and-namespaces.pl +1 -1
  23. package/examples/output/bmi.pl +9 -0
  24. package/examples/output/dijkstra-findall-sort.pl +1 -1
  25. package/examples/output/dijkstra.pl +16 -16
  26. package/examples/output/drone-corridor-planner.pl +17 -17
  27. package/examples/output/iso-atomic-conversion.pl +1 -1
  28. package/examples/output/list-collection.pl +6 -6
  29. package/examples/pointer-analysis.pl +3 -0
  30. package/examples/proof/aliases-and-namespaces.pl +5 -5
  31. package/examples/proof/composition-of-injective-functions-is-injective.pl +80 -97
  32. package/examples/proof/graph-reachability.pl +22 -22
  33. package/examples/proof/group-inverse-uniqueness.pl +4 -4
  34. package/examples/proof/list-collection.pl +73 -29
  35. package/examples/proof/spacecraft-battery-diagnosis.pl +8 -8
  36. package/examples/proof/term-tools.pl +1 -1
  37. package/examples/relational-cube-lookup.pl +2002 -2000
  38. package/examples/riemann-hypothesis.pl +5 -0
  39. package/examples/spacecraft-battery-diagnosis.pl +8 -8
  40. package/examples/vulnerability-impact.pl +4 -0
  41. package/index.d.ts +5 -2
  42. package/package.json +1 -1
  43. package/src/cli.js +17 -9
  44. package/src/index.js +15 -5
  45. package/src/iso.js +1 -0
  46. package/src/parser.js +57 -12
  47. package/src/program.js +8 -5
  48. package/src/solver.js +11 -3
  49. package/src/term.js +41 -10
  50. package/src/write.js +6 -0
  51. package/test/conformance/README.md +1 -1
  52. package/test/conformance/cases/arithmetic/082_comparison_semantics.pl +2 -2
  53. package/test/conformance/cases/arithmetic/extra_le_equal_string.pl +1 -1
  54. package/test/conformance/cases/context/extra_context_ignores_string_parts.pl +1 -1
  55. package/test/conformance/cases/iso/double_quoted_lists.pl +27 -0
  56. package/test/conformance/cases/strings/023_quoted_escapes_readback.pl +2 -3
  57. package/test/conformance/cases/terms/003_terms_and_readback.pl +1 -1
  58. package/test/conformance/cases/terms/073_term_introspection_edges.pl +1 -1
  59. package/test/conformance/cases/terms/096_functor_scalar_edges.pl +2 -2
  60. package/test/conformance/cases/terms/extra_functor_string_scalar.pl +1 -1
  61. package/test/conformance/cases/terms/functor_number_and_string.pl +1 -1
  62. package/test/conformance/cases/unification/extra_eq_scalar_string_number.pl +1 -1
  63. package/test/conformance/cases/unification/scalar_cross_type_same_lexical_value.pl +2 -2
  64. package/test/conformance/expected/aggregation/044_findall_user_goal.pl +1 -1
  65. package/test/conformance/expected/arithmetic/082_comparison_semantics.pl +1 -1
  66. package/test/conformance/expected/arithmetic/extra_le_equal_string.pl +1 -1
  67. package/test/conformance/expected/context/extra_context_atom_parts.pl +1 -1
  68. package/test/conformance/expected/context/extra_context_ignores_string_parts.pl +1 -0
  69. package/test/conformance/expected/context/extra_context_list_parts.pl +1 -1
  70. package/test/conformance/expected/iso/atomic_term_processing.pl +1 -1
  71. package/test/conformance/expected/iso/double_quoted_lists.pl +8 -0
  72. package/test/conformance/expected/iso/exceptions_and_flags.pl +1 -1
  73. package/test/conformance/expected/iso/grouped_solutions_and_clauses.pl +1 -1
  74. package/test/conformance/expected/iso/logtalk_atom_chars.pl +1 -1
  75. package/test/conformance/expected/iso/logtalk_number_chars.pl +1 -1
  76. package/test/conformance/expected/iso/logtalk_prolog_flags.pl +1 -1
  77. package/test/conformance/expected/iso/logtalk_univ.pl +1 -1
  78. package/test/conformance/expected/iso/scryer_lexical_terms.pl +1 -1
  79. package/test/conformance/expected/lists/005_list_deconstruction.pl +1 -1
  80. package/test/conformance/expected/lists/031_lists_aggregation_ordering.pl +4 -4
  81. package/test/conformance/expected/lists/035_list_relations.pl +3 -3
  82. package/test/conformance/expected/lists/036_append_splits.pl +3 -3
  83. package/test/conformance/expected/lists/045_sort_deduplicates_atoms.pl +1 -1
  84. package/test/conformance/expected/lists/046_append_bound_prefix_suffix.pl +2 -2
  85. package/test/conformance/expected/lists/048_set_nth0_edges.pl +2 -2
  86. package/test/conformance/expected/lists/049_select_duplicate_occurrences.pl +2 -2
  87. package/test/conformance/expected/lists/067_list_edges.pl +1 -1
  88. package/test/conformance/expected/lists/068_list_generation_order.pl +6 -6
  89. package/test/conformance/expected/lists/084_append_and_select_composition.pl +9 -9
  90. package/test/conformance/expected/lists/085_nth_and_update_edges.pl +1 -1
  91. package/test/conformance/expected/lists/087_sort_reverse_length.pl +2 -2
  92. package/test/conformance/expected/lists/extra_append_all_splits_three.pl +4 -4
  93. package/test/conformance/expected/lists/extra_list_to_set_stable_order.pl +1 -1
  94. package/test/conformance/expected/lists/extra_reverse_nested_terms.pl +1 -1
  95. package/test/conformance/expected/lists/extra_slice_end.pl +1 -1
  96. package/test/conformance/expected/lists/extra_take_all.pl +1 -1
  97. package/test/conformance/expected/lists/list_pattern_last.pl +1 -1
  98. package/test/conformance/expected/lists/select_all_occurrences.pl +3 -3
  99. package/test/conformance/expected/lists/set_nth0_middle.pl +1 -1
  100. package/test/conformance/expected/rules/077_recursive_path_with_lists.pl +3 -3
  101. package/test/conformance/expected/strings/023_quoted_escapes_readback.pl +1 -1
  102. package/test/conformance/expected/strings/071_string_edges.pl +1 -1
  103. package/test/conformance/expected/strings/extra_split_empty_separator.pl +1 -1
  104. package/test/conformance/expected/terms/003_terms_and_readback.pl +3 -3
  105. package/test/conformance/expected/terms/065_reusable_term_control_builtins.pl +1 -1
  106. package/test/conformance/expected/terms/073_term_introspection_edges.pl +2 -2
  107. package/test/conformance/expected/terms/095_term_introspection_roundtrip.pl +1 -1
  108. package/test/conformance/expected/terms/096_functor_scalar_edges.pl +1 -1
  109. package/test/conformance/expected/terms/extra_compound_name_arguments_decompose_list.pl +1 -1
  110. package/test/conformance/expected/terms/extra_functor_string_scalar.pl +1 -1
  111. package/test/conformance/expected/terms/functor_number_and_string.pl +1 -1
  112. package/test/conformance/expected/unification/012_nested_compound_unification.pl +1 -1
  113. package/test/conformance/expected/unification/034_equality_and_inequality.pl +1 -1
  114. package/test/conformance/expected/unification/extra_eq_list_tail_binding.pl +1 -1
  115. package/test/conformance/expected/unification/list_tail_binding.pl +1 -1
  116. package/test/conformance/expected-proofs/proofs/bindings_nested_term.pl +5 -5
  117. package/test/conformance/expected-proofs/proofs/extra_compound_name_arguments.pl +4 -4
  118. package/test/conformance/expected-proofs/proofs/extra_findall_builtin.pl +5 -5
  119. package/test/conformance/expected-proofs/proofs/extra_nested_list_binding.pl +5 -5
  120. package/test/conformance/expected-proofs/proofs/extra_once_member.pl +2 -2
  121. package/test/conformance/expected-proofs/proofs/list_builtin.pl +1 -1
  122. package/test/run-playground.mjs +2 -2
  123. package/test/run-regression.mjs +69 -11
  124. package/the-art-of-eyeprolog.md +297 -38
@@ -7,7 +7,7 @@ why(
7
7
  bindings([binding("Pack", bp1), binding("Margin", -18.0), binding("Maximum", 60.0), binding("Temperature", 78.0)]),
8
8
  uses([
9
9
  proof(
10
- goal(limit(max_safe_temperature_c, 60.0)),
10
+ goal(safety_limit(max_safe_temperature_c, 60.0)),
11
11
  by(fact("spacecraft-battery-diagnosis.pl", clause(7)))
12
12
  ),
13
13
  proof(
@@ -68,7 +68,7 @@ why(
68
68
  by(fact("spacecraft-battery-diagnosis.pl", clause(1)))
69
69
  ),
70
70
  proof(
71
- goal(limit(max_safe_temperature_c, 60.0)),
71
+ goal(safety_limit(max_safe_temperature_c, 60.0)),
72
72
  by(fact("spacecraft-battery-diagnosis.pl", clause(7)))
73
73
  ),
74
74
  proof(
@@ -87,7 +87,7 @@ why(
87
87
  by(fact("spacecraft-battery-diagnosis.pl", clause(2)))
88
88
  ),
89
89
  proof(
90
- goal(limit(max_temperature_rise_c_per_min, 1.5)),
90
+ goal(safety_limit(max_temperature_rise_c_per_min, 1.5)),
91
91
  by(fact("spacecraft-battery-diagnosis.pl", clause(8)))
92
92
  ),
93
93
  proof(
@@ -106,7 +106,7 @@ why(
106
106
  by(fact("spacecraft-battery-diagnosis.pl", clause(5)))
107
107
  ),
108
108
  proof(
109
- goal(limit(max_cell_delta_v, 0.08)),
109
+ goal(safety_limit(max_cell_delta_v, 0.08)),
110
110
  by(fact("spacecraft-battery-diagnosis.pl", clause(9)))
111
111
  ),
112
112
  proof(
@@ -180,7 +180,7 @@ why(
180
180
  by(fact("spacecraft-battery-diagnosis.pl", clause(1)))
181
181
  ),
182
182
  proof(
183
- goal(limit(max_safe_temperature_c, 60.0)),
183
+ goal(safety_limit(max_safe_temperature_c, 60.0)),
184
184
  by(fact("spacecraft-battery-diagnosis.pl", clause(7)))
185
185
  ),
186
186
  proof(
@@ -199,7 +199,7 @@ why(
199
199
  by(fact("spacecraft-battery-diagnosis.pl", clause(2)))
200
200
  ),
201
201
  proof(
202
- goal(limit(max_temperature_rise_c_per_min, 1.5)),
202
+ goal(safety_limit(max_temperature_rise_c_per_min, 1.5)),
203
203
  by(fact("spacecraft-battery-diagnosis.pl", clause(8)))
204
204
  ),
205
205
  proof(
@@ -218,7 +218,7 @@ why(
218
218
  by(fact("spacecraft-battery-diagnosis.pl", clause(5)))
219
219
  ),
220
220
  proof(
221
- goal(limit(max_cell_delta_v, 0.08)),
221
+ goal(safety_limit(max_cell_delta_v, 0.08)),
222
222
  by(fact("spacecraft-battery-diagnosis.pl", clause(9)))
223
223
  ),
224
224
  proof(
@@ -281,7 +281,7 @@ why(
281
281
  by(fact("spacecraft-battery-diagnosis.pl", clause(6)))
282
282
  ),
283
283
  proof(
284
- goal(limit(max_safe_temperature_c, 60.0)),
284
+ goal(safety_limit(max_safe_temperature_c, 60.0)),
285
285
  by(fact("spacecraft-battery-diagnosis.pl", clause(7)))
286
286
  ),
287
287
  proof(
@@ -71,7 +71,7 @@ why(
71
71
  bindings([binding("Text", 'edge(a, [b, c])')]),
72
72
  uses([
73
73
  proof(
74
- goal(term_string(edge(a, [b, c]), 'edge(a, [b, c])')),
74
+ goal(term_string(edge(a, "bc"), 'edge(a, [b, c])')),
75
75
  by(library(term_string, 2))
76
76
  )
77
77
  ])