eyeprolog 1.6.2 → 1.6.3

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 (994) hide show
  1. package/examples/book/README.md +1 -1
  2. package/examples/book/chapter-11/01-query.pl +12 -0
  3. package/examples/output/abstract-interpretation.pl +25 -16
  4. package/examples/output/access-control-policy.pl +11 -2
  5. package/examples/output/ackermann.pl +19 -12
  6. package/examples/output/age.pl +11 -2
  7. package/examples/output/aliases-and-namespaces.pl +14 -5
  8. package/examples/output/alignment-demo.pl +45 -32
  9. package/examples/output/allen-interval-calculus.pl +163 -154
  10. package/examples/output/ancestor.pl +11 -6
  11. package/examples/output/animal.pl +11 -4
  12. package/examples/output/annotation.pl +13 -4
  13. package/examples/output/attributed-variables.pl +7 -2
  14. package/examples/output/auroracare.pl +207 -117
  15. package/examples/output/backward.pl +4 -1
  16. package/examples/output/basic-monadic.pl +1521 -1518
  17. package/examples/output/bayes-diagnosis.pl +30 -17
  18. package/examples/output/bayes-therapy.pl +50 -23
  19. package/examples/output/beam-deflection.pl +16 -5
  20. package/examples/output/bench.pl +5 -1
  21. package/examples/output/binomial-vandermonde.pl +7 -4
  22. package/examples/output/blocks-world-planning.pl +16 -4
  23. package/examples/output/bmi.pl +121 -41
  24. package/examples/output/braking-safety-worlds.pl +29 -18
  25. package/examples/output/buck-converter-design.pl +21 -6
  26. package/examples/output/bulk-stream-write.pl +4 -1
  27. package/examples/output/cache-performance.pl +14 -4
  28. package/examples/output/canary-release.pl +16 -5
  29. package/examples/output/cat-koko.pl +8 -3
  30. package/examples/output/catalan-convolution.pl +7 -4
  31. package/examples/output/cdcl-sat-solver.pl +12 -7
  32. package/examples/output/chart-parser.pl +9 -6
  33. package/examples/output/clinical-trial-screening.pl +16 -9
  34. package/examples/output/clpb-boolean-circuit.pl +10 -5
  35. package/examples/output/clpb-cardinality.pl +8 -3
  36. package/examples/output/clpb-feature-model.pl +10 -5
  37. package/examples/output/clpb-weighted-planning.pl +4 -1
  38. package/examples/output/clpz-factorial.pl +4 -1
  39. package/examples/output/clpz-global-constraints.pl +10 -7
  40. package/examples/output/clpz-n-queens.pl +8 -3
  41. package/examples/output/clpz-resource-allocation.pl +6 -3
  42. package/examples/output/clpz-sudoku-9x9.pl +5 -1
  43. package/examples/output/collatz-1000.pl +2837 -1000
  44. package/examples/output/combinatorics-findall-sort.pl +11 -2
  45. package/examples/output/competitive-enzyme-kinetics.pl +21 -6
  46. package/examples/output/complex.pl +24 -6
  47. package/examples/output/composition-of-injective-functions-is-injective.pl +5 -2
  48. package/examples/output/context-association.pl +12 -3
  49. package/examples/output/context-schema-audit.pl +17 -12
  50. package/examples/output/continued-fraction-sqrt2.pl +7 -4
  51. package/examples/output/control-system.pl +15 -6
  52. package/examples/output/critical-path-schedule.pl +22 -19
  53. package/examples/output/cross-organization-data-sharing.pl +21 -8
  54. package/examples/output/cyclic-path.pl +19 -16
  55. package/examples/output/d3-group.pl +11 -2
  56. package/examples/output/dairy-energy-balance.pl +24 -13
  57. package/examples/output/data-negotiation.pl +4 -1
  58. package/examples/output/dcg-command-parser.pl +7 -4
  59. package/examples/output/dcg-expression-language.pl +8 -5
  60. package/examples/output/declarative-fault-localization.pl +4 -1
  61. package/examples/output/deep-taxonomy-10.pl +41 -16
  62. package/examples/output/deep-taxonomy-100.pl +41 -16
  63. package/examples/output/deep-taxonomy-1000.pl +43 -16
  64. package/examples/output/deep-taxonomy-10000.pl +43 -16
  65. package/examples/output/deep-taxonomy-100000.pl +43 -16
  66. package/examples/output/defeasible-reasoning.pl +13 -6
  67. package/examples/output/delfour.pl +96 -31
  68. package/examples/output/deontic-logic.pl +11 -4
  69. package/examples/output/derived-backward-rule.pl +10 -3
  70. package/examples/output/derived-rule.pl +9 -2
  71. package/examples/output/diamond-property.pl +11 -4
  72. package/examples/output/dif-constraints.pl +7 -2
  73. package/examples/output/dijkstra-findall-sort.pl +9 -2
  74. package/examples/output/dijkstra-risk-path.pl +48 -29
  75. package/examples/output/dijkstra.pl +21 -16
  76. package/examples/output/dining-philosophers.pl +369 -350
  77. package/examples/output/dog.pl +4 -1
  78. package/examples/output/donald-gerald-robert.pl +8 -5
  79. package/examples/output/dpv-odrl-purpose-mapping.pl +95 -18
  80. package/examples/output/drone-corridor-planner.pl +54 -17
  81. package/examples/output/easter-computus.pl +37 -30
  82. package/examples/output/electrical-rc-filter.pl +10 -3
  83. package/examples/output/enigma1225.pl +5 -1
  84. package/examples/output/epidemic-policy.pl +27 -14
  85. package/examples/output/equality-saturation.pl +10 -5
  86. package/examples/output/equivalence-classes-overlap-implies-same-class.pl +21 -18
  87. package/examples/output/eulerian-path.pl +12 -3
  88. package/examples/output/ev-range-worlds.pl +32 -19
  89. package/examples/output/existential-rule.pl +5 -2
  90. package/examples/output/exoplanet-validation-worlds.pl +35 -22
  91. package/examples/output/explainable-ev-depot-configuration.pl +17 -8
  92. package/examples/output/expression-eval.pl +4 -1
  93. package/examples/output/family-cousins.pl +35 -28
  94. package/examples/output/fast-fourier-transform.pl +5 -1
  95. package/examples/output/fastpow.pl +17 -6
  96. package/examples/output/fft8-numeric.pl +13 -4
  97. package/examples/output/fibonacci.pl +13 -6
  98. package/examples/output/field-nitrogen-balance.pl +36 -21
  99. package/examples/output/flandor.pl +136 -43
  100. package/examples/output/floating-point.pl +14 -9
  101. package/examples/output/four-color-map.pl +12 -3
  102. package/examples/output/fundamental-theorem-arithmetic.pl +28 -9
  103. package/examples/output/gd-step-certified.pl +98 -79
  104. package/examples/output/gdpr-compliance.pl +11 -6
  105. package/examples/output/goldbach.pl +27 -24
  106. package/examples/output/good-cobbler.pl +4 -1
  107. package/examples/output/gps.pl +48 -21
  108. package/examples/output/graph-reachability.pl +8 -3
  109. package/examples/output/graph.pl +24 -21
  110. package/examples/output/gray-code-counter.pl +6 -1
  111. package/examples/output/greatest-lower-bound-uniqueness.pl +5 -2
  112. package/examples/output/group-inverse-uniqueness.pl +5 -2
  113. package/examples/output/hamiltonian-path.pl +126 -121
  114. package/examples/output/hamming-code.pl +19 -6
  115. package/examples/output/hanoi.pl +6 -1
  116. package/examples/output/heat-loss.pl +16 -5
  117. package/examples/output/herbrand-semantics.pl +5 -2
  118. package/examples/output/herbrand-witnesses.pl +16 -7
  119. package/examples/output/heron-theorem.pl +13 -4
  120. package/examples/output/http-client.pl +1 -0
  121. package/examples/output/ideal-gas-law.pl +10 -3
  122. package/examples/output/illegitimate-reasoning.pl +40 -19
  123. package/examples/output/integer-partitions.pl +7 -4
  124. package/examples/output/integrity-check.pl +7 -2
  125. package/examples/output/intuitionistic-logic-kripke.pl +16 -5
  126. package/examples/output/iso-atomic-conversion.pl +16 -13
  127. package/examples/output/iso-control-and-errors.pl +8 -5
  128. package/examples/output/iso-dynamic-database.pl +9 -4
  129. package/examples/output/iso-extension-pipeline-audit.pl +5 -1
  130. package/examples/output/iso-extensions.pl +9 -6
  131. package/examples/output/iso-grouped-solutions.pl +8 -5
  132. package/examples/output/iso-integer-arithmetic.pl +8 -5
  133. package/examples/output/iso-operators.pl +6 -3
  134. package/examples/output/iso-reflective-terms.pl +10 -7
  135. package/examples/output/iso-term-io.pl +6 -3
  136. package/examples/output/job-shop-scheduling.pl +8 -3
  137. package/examples/output/json.pl +7 -2
  138. package/examples/output/knapsack-optimization.pl +7 -4
  139. package/examples/output/knights-tour-warnsdorff.pl +6 -1
  140. package/examples/output/knowledge-engineering-alignment-flow.pl +34 -21
  141. package/examples/output/knuth-bendix-completion.pl +12 -7
  142. package/examples/output/language.pl +9 -6
  143. package/examples/output/law-of-cosines.pl +10 -3
  144. package/examples/output/least-squares-regression.pl +17 -5
  145. package/examples/output/lee.pl +5 -1
  146. package/examples/output/linear-logic-resources.pl +7 -2
  147. package/examples/output/list-collection.pl +18 -7
  148. package/examples/output/lldm.pl +19 -6
  149. package/examples/output/manufacturing-quality-control.pl +13 -6
  150. package/examples/output/map-four-color-search.pl +6 -1
  151. package/examples/output/markov-logic-network.pl +57 -32
  152. package/examples/output/matrix-chain-order.pl +9 -4
  153. package/examples/output/matrix-noncommutativity.pl +6 -3
  154. package/examples/output/microgrid-dispatch.pl +21 -6
  155. package/examples/output/missionaries-cannibals.pl +8 -3
  156. package/examples/output/modal-logic-kripke.pl +9 -4
  157. package/examples/output/modular-exponentiation.pl +7 -4
  158. package/examples/output/monkey-bananas.pl +10 -5
  159. package/examples/output/network-sla.pl +13 -4
  160. package/examples/output/newton-raphson.pl +6 -3
  161. package/examples/output/nixon-diamond.pl +12 -5
  162. package/examples/output/observability-log-correlation.pl +52 -28
  163. package/examples/output/odrl-dpv-fpv-trust-flow.pl +50 -9
  164. package/examples/output/odrl-dpv-healthcare-risk-ranked.pl +80 -15
  165. package/examples/output/odrl-dpv-risk-ranked.pl +105 -20
  166. package/examples/output/odrl-policy-advanced.pl +35 -6
  167. package/examples/output/odrl-policy-reasoning.pl +128 -34
  168. package/examples/output/odrl-policy.pl +25 -4
  169. package/examples/output/operational-incident-response.pl +19 -8
  170. package/examples/output/orbital-transfer-design.pl +24 -7
  171. package/examples/output/partial-evaluator.pl +10 -4
  172. package/examples/output/path-discovery.pl +18 -3
  173. package/examples/output/peano-arithmetic.pl +6 -1
  174. package/examples/output/peano-calculus.pl +8 -3
  175. package/examples/output/peasant.pl +21 -10
  176. package/examples/output/pell-equation.pl +7 -4
  177. package/examples/output/pendulum-period.pl +13 -4
  178. package/examples/output/pi.pl +4 -1
  179. package/examples/output/pointer-analysis.pl +19 -8
  180. package/examples/output/polynomial.pl +25 -14
  181. package/examples/output/portable-library-overlap.pl +5 -1
  182. package/examples/output/prime-range.pl +6 -3
  183. package/examples/output/proof-contrapositive.pl +12 -3
  184. package/examples/output/propositional-dynamic-logic.pl +13 -1
  185. package/examples/output/quadratic-formula.pl +11 -6
  186. package/examples/output/quine-mccluskey.pl +28 -7
  187. package/examples/output/radioactive-decay.pl +17 -5
  188. package/examples/output/rdf12-annotated-claims.pl +50 -9
  189. package/examples/output/rdf12-annotation.pl +25 -4
  190. package/examples/output/rdf12-directional-language.pl +15 -2
  191. package/examples/output/rdf12-nested-triple-term.pl +10 -1
  192. package/examples/output/rdf12-trig-graph-join.pl +10 -1
  193. package/examples/output/rdf12-trig-named-graph.pl +20 -3
  194. package/examples/output/rdf12-trig-triple-term.pl +10 -1
  195. package/examples/output/rdf12-triple-term.pl +10 -1
  196. package/examples/output/register-allocation.pl +14 -8
  197. package/examples/output/reified-conditionals.pl +4 -1
  198. package/examples/output/relational-cube-lookup.pl +7 -2
  199. package/examples/output/reusable-builtins.pl +8 -5
  200. package/examples/output/riemann-hypothesis.pl +17 -12
  201. package/examples/output/route-planning.pl +11 -4
  202. package/examples/output/sat-solver-dpll.pl +22 -11
  203. package/examples/output/sbom-vulnerability-response.pl +16 -4
  204. package/examples/output/scientific-evidence-graph.pl +22 -9
  205. package/examples/output/security-incident-correlation.pl +12 -3
  206. package/examples/output/send-more-money.pl +6 -3
  207. package/examples/output/service-impact.pl +18 -11
  208. package/examples/output/shoelace-polygon-area.pl +4 -1
  209. package/examples/output/sieve.pl +6 -1
  210. package/examples/output/skolem-functions.pl +31 -16
  211. package/examples/output/snaf.pl +4 -1
  212. package/examples/output/socrates.pl +7 -2
  213. package/examples/output/spacecraft-battery-diagnosis.pl +11 -4
  214. package/examples/output/stable-marriage.pl +7 -2
  215. package/examples/output/statistics-summary.pl +13 -4
  216. package/examples/output/stirling-bell-numbers.pl +7 -4
  217. package/examples/output/superdense-coding.pl +13 -6
  218. package/examples/output/symbiotic-knowledge-graph.pl +105 -42
  219. package/examples/output/symbolic-derivative.pl +9 -4
  220. package/examples/output/takeuchi.pl +4 -1
  221. package/examples/output/term-tools.pl +9 -6
  222. package/examples/output/totient-summatory.pl +7 -4
  223. package/examples/output/trust-flow-provenance-threshold.pl +15 -6
  224. package/examples/output/truth-maintenance-system.pl +36 -25
  225. package/examples/output/turing.pl +19 -12
  226. package/examples/output/type-inference.pl +14 -8
  227. package/examples/output/universal-vs-existential-termination.pl +4 -1
  228. package/examples/output/uuid.pl +4 -1
  229. package/examples/output/vanilla-meta-interpreter.pl +4 -1
  230. package/examples/output/vector-similarity.pl +13 -4
  231. package/examples/output/vulnerability-impact.pl +31 -20
  232. package/examples/output/web-names.pl +11 -3
  233. package/examples/output/weighted-interval-scheduling.pl +8 -5
  234. package/examples/output/witch.pl +18 -7
  235. package/examples/output/wolf-goat-cabbage.pl +8 -3
  236. package/examples/output/workplace-compliance.pl +7 -4
  237. package/examples/output/zebra.pl +10 -3
  238. package/examples/proof/access-control-policy.pl +81 -98
  239. package/examples/proof/age.pl +38 -39
  240. package/examples/proof/aliases-and-namespaces.pl +45 -63
  241. package/examples/proof/ancestor.pl +42 -108
  242. package/examples/proof/animal.pl +29 -57
  243. package/examples/proof/annotation.pl +112 -124
  244. package/examples/proof/attributed-variables.pl +35 -42
  245. package/examples/proof/backward.pl +11 -19
  246. package/examples/proof/bayes-diagnosis.pl +167 -221
  247. package/examples/proof/beam-deflection.pl +110 -126
  248. package/examples/proof/cache-performance.pl +124 -185
  249. package/examples/proof/canary-release.pl +91 -128
  250. package/examples/proof/cat-koko.pl +34 -57
  251. package/examples/proof/catalan-convolution.pl +74 -95
  252. package/examples/proof/cdcl-sat-solver.pl +82 -128
  253. package/examples/proof/chart-parser.pl +299 -300
  254. package/examples/proof/clinical-trial-screening.pl +138 -276
  255. package/examples/proof/clpb-boolean-circuit.pl +50 -88
  256. package/examples/proof/clpb-cardinality.pl +18 -17
  257. package/examples/proof/clpb-feature-model.pl +71 -88
  258. package/examples/proof/combinatorics-findall-sort.pl +57 -41
  259. package/examples/proof/composition-of-injective-functions-is-injective.pl +86 -134
  260. package/examples/proof/context-association.pl +126 -99
  261. package/examples/proof/d3-group.pl +51 -41
  262. package/examples/proof/data-negotiation.pl +64 -48
  263. package/examples/proof/dcg-command-parser.pl +50 -50
  264. package/examples/proof/declarative-fault-localization.pl +54 -55
  265. package/examples/proof/defeasible-reasoning.pl +89 -84
  266. package/examples/proof/deontic-logic.pl +81 -77
  267. package/examples/proof/derived-backward-rule.pl +36 -60
  268. package/examples/proof/derived-rule.pl +26 -32
  269. package/examples/proof/diamond-property.pl +64 -258
  270. package/examples/proof/dif-constraints.pl +25 -28
  271. package/examples/proof/dog.pl +25 -21
  272. package/examples/proof/electrical-rc-filter.pl +76 -67
  273. package/examples/proof/enigma1225.pl +23 -12
  274. package/examples/proof/epidemic-policy.pl +231 -460
  275. package/examples/proof/equality-saturation.pl +60 -84
  276. package/examples/proof/equivalence-classes-overlap-implies-same-class.pl +197 -720
  277. package/examples/proof/existential-rule.pl +22 -24
  278. package/examples/proof/expression-eval.pl +72 -71
  279. package/examples/proof/floating-point.pl +65 -119
  280. package/examples/proof/four-color-map.pl +105 -122
  281. package/examples/proof/gdpr-compliance.pl +136 -149
  282. package/examples/proof/good-cobbler.pl +17 -12
  283. package/examples/proof/graph-reachability.pl +79 -105
  284. package/examples/proof/greatest-lower-bound-uniqueness.pl +44 -106
  285. package/examples/proof/group-inverse-uniqueness.pl +41 -58
  286. package/examples/proof/hanoi.pl +138 -89
  287. package/examples/proof/heat-loss.pl +109 -142
  288. package/examples/proof/herbrand-semantics.pl +13 -24
  289. package/examples/proof/herbrand-witnesses.pl +70 -89
  290. package/examples/proof/ideal-gas-law.pl +75 -89
  291. package/examples/proof/integrity-check.pl +27 -33
  292. package/examples/proof/intuitionistic-logic-kripke.pl +114 -109
  293. package/examples/proof/iso-control-and-errors.pl +84 -106
  294. package/examples/proof/iso-dynamic-database.pl +40 -57
  295. package/examples/proof/iso-extension-pipeline-audit.pl +57 -18
  296. package/examples/proof/iso-extensions.pl +70 -76
  297. package/examples/proof/iso-grouped-solutions.pl +87 -111
  298. package/examples/proof/iso-integer-arithmetic.pl +44 -65
  299. package/examples/proof/iso-operators.pl +46 -46
  300. package/examples/proof/job-shop-scheduling.pl +50 -51
  301. package/examples/proof/json.pl +40 -31
  302. package/examples/proof/knapsack-optimization.pl +53 -71
  303. package/examples/proof/knights-tour-warnsdorff.pl +512 -271
  304. package/examples/proof/language.pl +59 -108
  305. package/examples/proof/linear-logic-resources.pl +187 -124
  306. package/examples/proof/list-collection.pl +67 -94
  307. package/examples/proof/modal-logic-kripke.pl +88 -103
  308. package/examples/proof/nixon-diamond.pl +79 -146
  309. package/examples/proof/partial-evaluator.pl +248 -322
  310. package/examples/proof/peasant.pl +131 -138
  311. package/examples/proof/prime-range.pl +27 -44
  312. package/examples/proof/proof-contrapositive.pl +38 -61
  313. package/examples/proof/propositional-dynamic-logic.pl +101 -69
  314. package/examples/proof/rdf12-annotation.pl +130 -90
  315. package/examples/proof/rdf12-directional-language.pl +56 -24
  316. package/examples/proof/rdf12-nested-triple-term.pl +33 -12
  317. package/examples/proof/rdf12-trig-graph-join.pl +40 -13
  318. package/examples/proof/rdf12-trig-named-graph.pl +79 -38
  319. package/examples/proof/rdf12-trig-triple-term.pl +33 -12
  320. package/examples/proof/rdf12-triple-term.pl +33 -12
  321. package/examples/proof/reified-conditionals.pl +25 -15
  322. package/examples/proof/reusable-builtins.pl +102 -74
  323. package/examples/proof/route-planning.pl +79 -126
  324. package/examples/proof/security-incident-correlation.pl +108 -187
  325. package/examples/proof/sieve.pl +27 -13
  326. package/examples/proof/snaf.pl +11 -13
  327. package/examples/proof/socrates.pl +15 -31
  328. package/examples/proof/spacecraft-battery-diagnosis.pl +153 -172
  329. package/examples/proof/stable-marriage.pl +82 -78
  330. package/examples/proof/symbolic-derivative.pl +150 -140
  331. package/examples/proof/term-tools.pl +49 -76
  332. package/examples/proof/totient-summatory.pl +51 -81
  333. package/examples/proof/trust-flow-provenance-threshold.pl +139 -160
  334. package/examples/proof/universal-vs-existential-termination.pl +33 -30
  335. package/examples/proof/uuid.pl +41 -21
  336. package/examples/proof/vanilla-meta-interpreter.pl +17 -13
  337. package/examples/proof/web-names.pl +86 -46
  338. package/examples/proof/weighted-interval-scheduling.pl +480 -3887
  339. package/examples/proof/witch.pl +43 -173
  340. package/examples/proof/workplace-compliance.pl +65 -57
  341. package/index.d.ts +39 -0
  342. package/package.json +1 -1
  343. package/src/check-proof.js +231 -0
  344. package/src/cli.js +24 -24
  345. package/src/execute.js +34 -2
  346. package/src/explain.js +150 -1
  347. package/src/index.js +27 -11
  348. package/src/result-format.js +208 -0
  349. package/test/conformance/README.md +1 -1
  350. package/test/conformance/expected/aggregation/044_findall_user_goal.pl +4 -1
  351. package/test/conformance/expected/aggregation/057_countall_empty_and_nonempty.pl +4 -1
  352. package/test/conformance/expected/aggregation/058_sumall_numeric_template.pl +4 -1
  353. package/test/conformance/expected/aggregation/059_aggregate_min_template.pl +4 -1
  354. package/test/conformance/expected/aggregation/060_aggregate_max_compound_key.pl +4 -1
  355. package/test/conformance/expected/aggregation/075_aggregation_edges.pl +10 -7
  356. package/test/conformance/expected/aggregation/098_aggregation_nested_templates.pl +11 -6
  357. package/test/conformance/expected/aggregation/aggregate_max_no_answers_fails.pl +4 -1
  358. package/test/conformance/expected/aggregation/aggregate_min_structured_key.pl +4 -1
  359. package/test/conformance/expected/aggregation/countall_zero.pl +4 -1
  360. package/test/conformance/expected/aggregation/existential_qualifier_autoload.pl +8 -5
  361. package/test/conformance/expected/aggregation/extra_aggregate_max_iri_key.pl +4 -1
  362. package/test/conformance/expected/aggregation/extra_aggregate_min_tie_first.pl +4 -1
  363. package/test/conformance/expected/aggregation/extra_countall_with_filter.pl +4 -1
  364. package/test/conformance/expected/aggregation/extra_findall_repeated_template.pl +4 -1
  365. package/test/conformance/expected/aggregation/extra_sumall_float_template.pl +4 -1
  366. package/test/conformance/expected/aggregation/findall_empty_bag.pl +4 -1
  367. package/test/conformance/expected/aggregation/sumall_empty_zero.pl +4 -1
  368. package/test/conformance/expected/arithmetic/024_numeric_literal_readback.pl +6 -3
  369. package/test/conformance/expected/arithmetic/029_arithmetic_and_comparison.pl +12 -9
  370. package/test/conformance/expected/arithmetic/039_numeric_functions.pl +10 -7
  371. package/test/conformance/expected/arithmetic/040_between_enumeration.pl +6 -3
  372. package/test/conformance/expected/arithmetic/041_smallest_divisor.pl +4 -1
  373. package/test/conformance/expected/arithmetic/054_numeric_and_lexical_comparison.pl +6 -3
  374. package/test/conformance/expected/arithmetic/061_date_difference.pl +5 -2
  375. package/test/conformance/expected/arithmetic/062_reusable_numeric_builtins.pl +11 -8
  376. package/test/conformance/expected/arithmetic/066_numeric_edges.pl +10 -7
  377. package/test/conformance/expected/arithmetic/079_big_integer_arithmetic.pl +9 -6
  378. package/test/conformance/expected/arithmetic/080_rounding_modes.pl +11 -8
  379. package/test/conformance/expected/arithmetic/081_zero_safe_numeric_functions.pl +10 -7
  380. package/test/conformance/expected/arithmetic/082_comparison_semantics.pl +11 -8
  381. package/test/conformance/expected/arithmetic/083_between_modes_and_empty_ranges.pl +11 -8
  382. package/test/conformance/expected/arithmetic/between_bound_value.pl +4 -1
  383. package/test/conformance/expected/arithmetic/between_singleton.pl +4 -1
  384. package/test/conformance/expected/arithmetic/duration_comparison.pl +4 -1
  385. package/test/conformance/expected/arithmetic/extra_acos_one.pl +4 -1
  386. package/test/conformance/expected/arithmetic/extra_asin_zero.pl +4 -1
  387. package/test/conformance/expected/arithmetic/extra_atan2_axis.pl +4 -1
  388. package/test/conformance/expected/arithmetic/extra_difference_leap_day.pl +4 -1
  389. package/test/conformance/expected/arithmetic/extra_difference_same_day.pl +4 -1
  390. package/test/conformance/expected/arithmetic/extra_div_float_exact.pl +4 -1
  391. package/test/conformance/expected/arithmetic/extra_div_integer_trunc.pl +4 -1
  392. package/test/conformance/expected/arithmetic/extra_exp_zero.pl +4 -1
  393. package/test/conformance/expected/arithmetic/extra_ge_equal_duration.pl +4 -1
  394. package/test/conformance/expected/arithmetic/extra_le_equal_string.pl +4 -1
  395. package/test/conformance/expected/arithmetic/extra_log_one.pl +4 -1
  396. package/test/conformance/expected/arithmetic/extra_mod_negative_right.pl +4 -1
  397. package/test/conformance/expected/arithmetic/extra_pow_large_integer.pl +4 -1
  398. package/test/conformance/expected/arithmetic/float_add_and_div.pl +5 -2
  399. package/test/conformance/expected/arithmetic/min_max_mixed.pl +5 -2
  400. package/test/conformance/expected/arithmetic/mod_negative_left.pl +4 -1
  401. package/test/conformance/expected/arithmetic/neg_abs_integer.pl +5 -2
  402. package/test/conformance/expected/arithmetic/pow_negative_exponent_fails.pl +4 -1
  403. package/test/conformance/expected/arithmetic/pow_zero_exponent.pl +4 -1
  404. package/test/conformance/expected/arithmetic/rounding_negative_float.pl +7 -4
  405. package/test/conformance/expected/arithmetic/smallest_divisor_prime.pl +4 -1
  406. package/test/conformance/expected/atoms/008_graphic_atoms.pl +6 -3
  407. package/test/conformance/expected/atoms/016_arity_zero_atom.pl +4 -1
  408. package/test/conformance/expected/atoms/018_quoted_atom_readback.pl +6 -3
  409. package/test/conformance/expected/atoms/103_angle_iri_atoms.pl +8 -3
  410. package/test/conformance/expected/atoms/angle_iri_percent_encoded.pl +3 -0
  411. package/test/conformance/expected/atoms/extra_graphic_backslash_atom.pl +3 -0
  412. package/test/conformance/expected/atoms/extra_iri_mailto_plus.pl +3 -0
  413. package/test/conformance/expected/atoms/extra_iri_uuid_scheme.pl +3 -0
  414. package/test/conformance/expected/atoms/extra_quoted_atom_with_quote_readback.pl +3 -0
  415. package/test/conformance/expected/atoms/graphic_angle_atom_stays_graphic.pl +4 -1
  416. package/test/conformance/expected/atoms/graphic_atom_predicate.pl +4 -1
  417. package/test/conformance/expected/atoms/graphic_less_than_atom.pl +4 -1
  418. package/test/conformance/expected/atoms/iri_as_predicate_name_quoted.pl +4 -1
  419. package/test/conformance/expected/atoms/iri_atoms_in_lists.pl +4 -1
  420. package/test/conformance/expected/atoms/iri_mailto_readback.pl +4 -1
  421. package/test/conformance/expected/atoms/iri_query_fragment_readback.pl +4 -1
  422. package/test/conformance/expected/atoms/iri_quoted_absolute_readback.pl +5 -2
  423. package/test/conformance/expected/atoms/iri_quoted_and_angle_unify.pl +3 -0
  424. package/test/conformance/expected/atoms/iri_urn_readback.pl +4 -1
  425. package/test/conformance/expected/atoms/question_mark_graphic_atom.pl +4 -1
  426. package/test/conformance/expected/atoms/quoted_relative_iri_not_angle.pl +3 -0
  427. package/test/conformance/expected/atoms/quoted_urn_iri_readback.pl +4 -1
  428. package/test/conformance/expected/atoms/zero_arity_atom_roundtrip.pl +6 -3
  429. package/test/conformance/expected/builtins/037_matching_and_comparison.pl +8 -5
  430. package/test/conformance/expected/builtins/076_composed_reusable_builtins.pl +8 -5
  431. package/test/conformance/expected/builtins/100_reusable_builtin_workflow.pl +9 -6
  432. package/test/conformance/expected/builtins/atom_string_iri_atom.pl +4 -1
  433. package/test/conformance/expected/builtins/eq_unifies_iri_atoms.pl +3 -0
  434. package/test/conformance/expected/builtins/extra_difference_end_before_start_fails.pl +3 -0
  435. package/test/conformance/expected/builtins/extra_difference_invalid_date_fails.pl +3 -0
  436. package/test/conformance/expected/builtins/extra_eq_binds_both_sides.pl +4 -1
  437. package/test/conformance/expected/builtins/extra_neq_different_iri_atoms.pl +4 -1
  438. package/test/conformance/expected/builtins/extra_neq_same_iri_fails.pl +4 -1
  439. package/test/conformance/expected/builtins/extra_uuid_v4.pl +4 -1
  440. package/test/conformance/expected/context/032_context_parts.pl +6 -3
  441. package/test/conformance/expected/context/051_nested_context_parts.pl +6 -3
  442. package/test/conformance/expected/context/052_context_member.pl +5 -2
  443. package/test/conformance/expected/context/094_context_enumeration.pl +11 -8
  444. package/test/conformance/expected/context/context_compound_formula.pl +4 -1
  445. package/test/conformance/expected/context/context_fails_when_missing.pl +4 -1
  446. package/test/conformance/expected/context/context_parts_from_formula.pl +5 -2
  447. package/test/conformance/expected/context/extra_context_atom_parts.pl +5 -2
  448. package/test/conformance/expected/context/extra_context_ignores_string_parts.pl +4 -1
  449. package/test/conformance/expected/context/extra_context_list_parts.pl +5 -2
  450. package/test/conformance/expected/context/extra_context_term_nested_order.pl +6 -3
  451. package/test/conformance/expected/control/014_failure_filters_answers.pl +4 -1
  452. package/test/conformance/expected/control/043_once_user_predicate.pl +4 -1
  453. package/test/conformance/expected/control/074_forall_edges.pl +8 -5
  454. package/test/conformance/expected/control/097_control_negation_once_forall.pl +9 -6
  455. package/test/conformance/expected/control/double_negation_ground_goal.pl +4 -1
  456. package/test/conformance/expected/control/extra_forall_bound_check.pl +4 -1
  457. package/test/conformance/expected/control/extra_forall_counterexample_fails.pl +3 -0
  458. package/test/conformance/expected/control/extra_not_unbound_existing_goal_fails.pl +3 -0
  459. package/test/conformance/expected/control/extra_not_unbound_unknown_goal_succeeds.pl +4 -1
  460. package/test/conformance/expected/control/extra_once_empty_fails.pl +3 -0
  461. package/test/conformance/expected/control/extra_once_preserves_binding.pl +4 -1
  462. package/test/conformance/expected/control/forall_detects_counterexample.pl +4 -1
  463. package/test/conformance/expected/control/forall_empty_generator_true.pl +4 -1
  464. package/test/conformance/expected/control/negation_with_bound_generator.pl +4 -1
  465. package/test/conformance/expected/control/once_keeps_first_answer.pl +4 -1
  466. package/test/conformance/expected/explicit-tabling/038_explicit_tabling.pl +5 -2
  467. package/test/conformance/expected/explicit-tabling/102_recursive_inference.pl +9 -6
  468. package/test/conformance/expected/explicit-tabling/explicit_left_recursion_path.pl +5 -2
  469. package/test/conformance/expected/explicit-tabling/explicit_tabling_preserves_answers.pl +6 -3
  470. package/test/conformance/expected/explicit-tabling/extra_explicit_bound_cycle.pl +5 -2
  471. package/test/conformance/expected/explicit-tabling/extra_explicit_open_call.pl +5 -2
  472. package/test/conformance/expected/iso/arg_first_success.pl +4 -1
  473. package/test/conformance/expected/iso/arg_last_success.pl +4 -1
  474. package/test/conformance/expected/iso/arg_out_of_range_fails.pl +4 -1
  475. package/test/conformance/expected/iso/arithmetic.pl +4 -1
  476. package/test/conformance/expected/iso/arithmetic_bit_and.pl +4 -1
  477. package/test/conformance/expected/iso/arithmetic_bit_or.pl +4 -1
  478. package/test/conformance/expected/iso/arithmetic_bit_shift.pl +4 -1
  479. package/test/conformance/expected/iso/arithmetic_comparison_equal.pl +4 -1
  480. package/test/conformance/expected/iso/arithmetic_comparison_not_equal.pl +4 -1
  481. package/test/conformance/expected/iso/arithmetic_integer_quotient.pl +4 -1
  482. package/test/conformance/expected/iso/arithmetic_remainder.pl +4 -1
  483. package/test/conformance/expected/iso/arithmetic_unary_plus.pl +4 -1
  484. package/test/conformance/expected/iso/arithmetic_underflow_rounds.pl +4 -1
  485. package/test/conformance/expected/iso/atom_chars_forward.pl +4 -1
  486. package/test/conformance/expected/iso/atom_chars_reverse.pl +4 -1
  487. package/test/conformance/expected/iso/atom_codes_forward.pl +4 -1
  488. package/test/conformance/expected/iso/atom_codes_reverse.pl +4 -1
  489. package/test/conformance/expected/iso/atom_concat_forward.pl +4 -1
  490. package/test/conformance/expected/iso/atom_concat_prefix.pl +4 -1
  491. package/test/conformance/expected/iso/atom_concat_suffix.pl +4 -1
  492. package/test/conformance/expected/iso/atom_length_unicode.pl +4 -1
  493. package/test/conformance/expected/iso/atom_length_zero.pl +4 -1
  494. package/test/conformance/expected/iso/atomic_term_processing.pl +23 -6
  495. package/test/conformance/expected/iso/bitwise_complement.pl +4 -1
  496. package/test/conformance/expected/iso/call_success.pl +4 -1
  497. package/test/conformance/expected/iso/catch_recovers.pl +4 -1
  498. package/test/conformance/expected/iso/char_code_forward.pl +4 -1
  499. package/test/conformance/expected/iso/char_code_reverse.pl +4 -1
  500. package/test/conformance/expected/iso/clause_body_conversion.pl +13 -4
  501. package/test/conformance/expected/iso/clause_static_and_dynamic_access.pl +10 -3
  502. package/test/conformance/expected/iso/compare_equal_result.pl +4 -1
  503. package/test/conformance/expected/iso/compare_greater_result.pl +4 -1
  504. package/test/conformance/expected/iso/compare_less_result.pl +4 -1
  505. package/test/conformance/expected/iso/control_and_terms.pl +5 -2
  506. package/test/conformance/expected/iso/copy_term_fresh_variables.pl +4 -1
  507. package/test/conformance/expected/iso/core_predicates.pl +4 -1
  508. package/test/conformance/expected/iso/corrigenda_arithmetic.pl +27 -1
  509. package/test/conformance/expected/iso/corrigenda_bar_operator.pl +4 -1
  510. package/test/conformance/expected/iso/corrigenda_call_closure.pl +6 -1
  511. package/test/conformance/expected/iso/corrigenda_catch_callability.pl +4 -1
  512. package/test/conformance/expected/iso/corrigenda_retractall.pl +4 -1
  513. package/test/conformance/expected/iso/corrigenda_sort_keysort.pl +4 -1
  514. package/test/conformance/expected/iso/corrigenda_term_predicates.pl +4 -1
  515. package/test/conformance/expected/iso/corrigendum1_double_quote_operator.pl +4 -1
  516. package/test/conformance/expected/iso/corrigendum3_write_variable_names.pl +4 -1
  517. package/test/conformance/expected/iso/cut_control.pl +30 -11
  518. package/test/conformance/expected/iso/cut_disjunction_scope.pl +5 -2
  519. package/test/conformance/expected/iso/dcg_ambiguous_alternatives.pl +4 -1
  520. package/test/conformance/expected/iso/dcg_call_phrase_semicontext.pl +13 -4
  521. package/test/conformance/expected/iso/dcg_control_constructs.pl +17 -6
  522. package/test/conformance/expected/iso/dcg_declaration_nonterminal_indicators.pl +4 -1
  523. package/test/conformance/expected/iso/dcg_double_quotes_atom.pl +4 -1
  524. package/test/conformance/expected/iso/dcg_double_quotes_codes.pl +4 -1
  525. package/test/conformance/expected/iso/dcg_dynamic_body_control.pl +8 -5
  526. package/test/conformance/expected/iso/dcg_dynamic_nonterminal_indicator.pl +4 -1
  527. package/test/conformance/expected/iso/dcg_explicit_qualified_head.pl +4 -1
  528. package/test/conformance/expected/iso/dcg_module_nonterminal_indicator.pl +7 -2
  529. package/test/conformance/expected/iso/dcg_nested_phrase_call.pl +4 -1
  530. package/test/conformance/expected/iso/dcg_operator_table.pl +5 -2
  531. package/test/conformance/expected/iso/dcg_partial_sequences.pl +6 -3
  532. package/test/conformance/expected/iso/dcg_phrase_steadfastness.pl +7 -4
  533. package/test/conformance/expected/iso/dcg_qualified_chain.pl +7 -2
  534. package/test/conformance/expected/iso/dcg_recursive_sequences.pl +10 -3
  535. package/test/conformance/expected/iso/dcg_terminals_and_remainder.pl +7 -2
  536. package/test/conformance/expected/iso/dcg_variable_hygiene.pl +9 -2
  537. package/test/conformance/expected/iso/double_quoted_lists.pl +25 -8
  538. package/test/conformance/expected/iso/dynamic_database.pl +8 -3
  539. package/test/conformance/expected/iso/exceptions_and_flags.pl +21 -3
  540. package/test/conformance/expected/iso/false_builtin.pl +5 -2
  541. package/test/conformance/expected/iso/functor_construct_atom.pl +4 -1
  542. package/test/conformance/expected/iso/functor_construct_compound.pl +4 -1
  543. package/test/conformance/expected/iso/functor_decompose_atom.pl +4 -1
  544. package/test/conformance/expected/iso/functor_decompose_compound.pl +4 -1
  545. package/test/conformance/expected/iso/functor_decompose_number.pl +4 -1
  546. package/test/conformance/expected/iso/grouped_solutions_and_clauses.pl +25 -10
  547. package/test/conformance/expected/iso/halt.pl +3 -0
  548. package/test/conformance/expected/iso/identity_shared_variable.pl +4 -1
  549. package/test/conformance/expected/iso/if_then_else_fallback.pl +4 -1
  550. package/test/conformance/expected/iso/if_then_success.pl +4 -1
  551. package/test/conformance/expected/iso/include_and_ensure_loaded.pl +5 -2
  552. package/test/conformance/expected/iso/lexical_and_curly_terms.pl +23 -1
  553. package/test/conformance/expected/iso/logtalk_abolish.pl +4 -1
  554. package/test/conformance/expected/iso/logtalk_arg_unification.pl +4 -1
  555. package/test/conformance/expected/iso/logtalk_assert_order.pl +4 -1
  556. package/test/conformance/expected/iso/logtalk_atom_chars.pl +4 -1
  557. package/test/conformance/expected/iso/logtalk_atom_codes.pl +4 -1
  558. package/test/conformance/expected/iso/logtalk_atom_concat.pl +8 -1
  559. package/test/conformance/expected/iso/logtalk_atom_length.pl +4 -1
  560. package/test/conformance/expected/iso/logtalk_bagof.pl +4 -1
  561. package/test/conformance/expected/iso/logtalk_char_code.pl +4 -1
  562. package/test/conformance/expected/iso/logtalk_clause.pl +4 -1
  563. package/test/conformance/expected/iso/logtalk_compare_standard_order.pl +4 -1
  564. package/test/conformance/expected/iso/logtalk_copy_term_semantics.pl +4 -1
  565. package/test/conformance/expected/iso/logtalk_current_predicate.pl +4 -1
  566. package/test/conformance/expected/iso/logtalk_current_streams.pl +4 -1
  567. package/test/conformance/expected/iso/logtalk_dcg_conjunction_disjunction.pl +17 -8
  568. package/test/conformance/expected/iso/logtalk_dcg_cut.pl +7 -4
  569. package/test/conformance/expected/iso/logtalk_dcg_cut_positions.pl +7 -4
  570. package/test/conformance/expected/iso/logtalk_dcg_embedded_goals.pl +13 -4
  571. package/test/conformance/expected/iso/logtalk_dcg_embedded_sequences.pl +10 -3
  572. package/test/conformance/expected/iso/logtalk_dcg_graphic_nonterminal.pl +4 -1
  573. package/test/conformance/expected/iso/logtalk_dcg_if_then_else.pl +22 -7
  574. package/test/conformance/expected/iso/logtalk_dcg_negation_positions.pl +7 -4
  575. package/test/conformance/expected/iso/logtalk_dcg_nonterminals.pl +10 -3
  576. package/test/conformance/expected/iso/logtalk_dcg_phrase_identity.pl +9 -6
  577. package/test/conformance/expected/iso/logtalk_dcg_semicontext_variants.pl +13 -4
  578. package/test/conformance/expected/iso/logtalk_dcg_semicontexts.pl +13 -4
  579. package/test/conformance/expected/iso/logtalk_dcg_terminal_variables.pl +10 -3
  580. package/test/conformance/expected/iso/logtalk_dcg_terminals.pl +17 -6
  581. package/test/conformance/expected/iso/logtalk_dcg_variable_bodies.pl +11 -4
  582. package/test/conformance/expected/iso/logtalk_findall.pl +4 -1
  583. package/test/conformance/expected/iso/logtalk_number_chars.pl +4 -1
  584. package/test/conformance/expected/iso/logtalk_number_codes.pl +4 -1
  585. package/test/conformance/expected/iso/logtalk_occurs_check.pl +4 -1
  586. package/test/conformance/expected/iso/logtalk_once.pl +4 -1
  587. package/test/conformance/expected/iso/logtalk_operators.pl +4 -1
  588. package/test/conformance/expected/iso/logtalk_prolog_flags.pl +6 -1
  589. package/test/conformance/expected/iso/logtalk_repeat.pl +4 -1
  590. package/test/conformance/expected/iso/logtalk_retract.pl +4 -1
  591. package/test/conformance/expected/iso/logtalk_setof.pl +4 -1
  592. package/test/conformance/expected/iso/logtalk_sub_atom.pl +4 -1
  593. package/test/conformance/expected/iso/logtalk_term_comparison.pl +4 -1
  594. package/test/conformance/expected/iso/logtalk_term_variables.pl +16 -5
  595. package/test/conformance/expected/iso/logtalk_univ.pl +6 -1
  596. package/test/conformance/expected/iso/negation_success.pl +4 -1
  597. package/test/conformance/expected/iso/nonidentity_distinct_variables.pl +4 -1
  598. package/test/conformance/expected/iso/nonunifiable_compounds.pl +4 -1
  599. package/test/conformance/expected/iso/number_chars_integer.pl +4 -1
  600. package/test/conformance/expected/iso/number_chars_minus_line_comment.pl +4 -1
  601. package/test/conformance/expected/iso/number_codes_decimal.pl +4 -1
  602. package/test/conformance/expected/iso/occurs_check_rejects_cycle.pl +4 -1
  603. package/test/conformance/expected/iso/once_commits_first.pl +4 -1
  604. package/test/conformance/expected/iso/operator_atoms_as_arguments.pl +8 -3
  605. package/test/conformance/expected/iso/operators.pl +20 -5
  606. package/test/conformance/expected/iso/part3_grammar_body_constructs.pl +16 -13
  607. package/test/conformance/expected/iso/part3_phrase_examples.pl +11 -6
  608. package/test/conformance/expected/iso/public_procedure_access.pl +19 -6
  609. package/test/conformance/expected/iso/remaining_builtins_and_directives.pl +10 -3
  610. package/test/conformance/expected/iso/scryer_backslash_atom.pl +4 -1
  611. package/test/conformance/expected/iso/scryer_bare_exponent_lexing.pl +4 -1
  612. package/test/conformance/expected/iso/scryer_bracket_and_curly_term_parsing.pl +4 -1
  613. package/test/conformance/expected/iso/scryer_call_zero_arity.pl +4 -1
  614. package/test/conformance/expected/iso/scryer_current_predicate_after_existence_error.pl +4 -1
  615. package/test/conformance/expected/iso/scryer_current_prolog_flag_shared_var.pl +4 -1
  616. package/test/conformance/expected/iso/scryer_default_prefix_operator_priorities.pl +4 -1
  617. package/test/conformance/expected/iso/scryer_dollar_sign_atoms.pl +4 -1
  618. package/test/conformance/expected/iso/scryer_empty_list_atom_functor.pl +4 -1
  619. package/test/conformance/expected/iso/scryer_exponent_minus_lexing.pl +4 -1
  620. package/test/conformance/expected/iso/scryer_large_float_exponent.pl +4 -1
  621. package/test/conformance/expected/iso/scryer_lexical_terms.pl +13 -4
  622. package/test/conformance/expected/iso/scryer_line_continuation_in_quoted_atoms.pl +4 -1
  623. package/test/conformance/expected/iso/scryer_lower_priority_prefix_with_infix.pl +4 -1
  624. package/test/conformance/expected/iso/scryer_mixed_prefix_infix_operator_priority.pl +4 -1
  625. package/test/conformance/expected/iso/scryer_op_bar_prefix_permission.pl +4 -1
  626. package/test/conformance/expected/iso/scryer_op_error_conditions.pl +19 -5
  627. package/test/conformance/expected/iso/scryer_op_name_list_unbound_element.pl +4 -1
  628. package/test/conformance/expected/iso/scryer_op_name_type_error.pl +4 -1
  629. package/test/conformance/expected/iso/scryer_op_specifier_type_error.pl +4 -1
  630. package/test/conformance/expected/iso/scryer_op_wrong_arity_existence_error.pl +4 -1
  631. package/test/conformance/expected/iso/scryer_operator_application_vs_functor_notation.pl +4 -1
  632. package/test/conformance/expected/iso/scryer_operator_precedence.pl +4 -1
  633. package/test/conformance/expected/iso/scryer_postfix_operator_negative_number.pl +4 -1
  634. package/test/conformance/expected/iso/scryer_prefix_minus_chain.pl +4 -1
  635. package/test/conformance/expected/iso/scryer_quote_and_char_code_literals.pl +4 -1
  636. package/test/conformance/expected/iso/scryer_special_atom_names.pl +4 -1
  637. package/test/conformance/expected/iso/scryer_subnormal_float_underflow.pl +4 -1
  638. package/test/conformance/expected/iso/scryer_unary_plus_compound.pl +4 -1
  639. package/test/conformance/expected/iso/scryer_user_operator_with_prefix_minus.pl +4 -1
  640. package/test/conformance/expected/iso/streams_and_term_io.pl +25 -7
  641. package/test/conformance/expected/iso/sub_atom_empty.pl +4 -1
  642. package/test/conformance/expected/iso/sub_atom_prefix.pl +4 -1
  643. package/test/conformance/expected/iso/sub_atom_suffix.pl +4 -1
  644. package/test/conformance/expected/iso/swipl_call_n_builds_control_construct.pl +4 -1
  645. package/test/conformance/expected/iso/swipl_catch_partial_unification_rethrow.pl +4 -1
  646. package/test/conformance/expected/iso/swipl_keysort_remaining_errors.pl +7 -1
  647. package/test/conformance/expected/iso/swipl_length_errors.pl +7 -1
  648. package/test/conformance/expected/iso/swipl_memberchk_binding_retention.pl +4 -1
  649. package/test/conformance/expected/iso/swipl_occurs_check.pl +4 -1
  650. package/test/conformance/expected/iso/swipl_operator_syntax.pl +8 -3
  651. package/test/conformance/expected/iso/swipl_operator_table_self_named.pl +12 -1
  652. package/test/conformance/expected/iso/swipl_sort_partial_list_errors.pl +4 -1
  653. package/test/conformance/expected/iso/swipl_write_canonical_var_and_curly.pl +4 -1
  654. package/test/conformance/expected/iso/term_modes_and_ordering.pl +13 -4
  655. package/test/conformance/expected/iso/term_order_atom_less.pl +4 -1
  656. package/test/conformance/expected/iso/term_order_equal_greater_or_equal.pl +4 -1
  657. package/test/conformance/expected/iso/term_order_equal_less_or_equal.pl +4 -1
  658. package/test/conformance/expected/iso/term_order_number_greater.pl +4 -1
  659. package/test/conformance/expected/iso/throw_copies_ball.pl +7 -2
  660. package/test/conformance/expected/iso/trealla_append_modes.pl +11 -6
  661. package/test/conformance/expected/iso/trealla_arithmetic_constants.pl +4 -1
  662. package/test/conformance/expected/iso/trealla_atom_codes_unicode.pl +7 -2
  663. package/test/conformance/expected/iso/trealla_atom_enumeration.pl +14 -9
  664. package/test/conformance/expected/iso/trealla_bagof_multi_free_variables.pl +12 -5
  665. package/test/conformance/expected/iso/trealla_bagof_setof_duplicate_handling.pl +4 -1
  666. package/test/conformance/expected/iso/trealla_bignum_arithmetic.pl +20 -4
  667. package/test/conformance/expected/iso/trealla_call_missing_extended_arity.pl +4 -1
  668. package/test/conformance/expected/iso/trealla_call_transparent_to_disjunction.pl +4 -1
  669. package/test/conformance/expected/iso/trealla_clause_enumeration_backtracking.pl +4 -1
  670. package/test/conformance/expected/iso/trealla_compare_standard_order.pl +4 -1
  671. package/test/conformance/expected/iso/trealla_copy_term_binding_direction.pl +4 -1
  672. package/test/conformance/expected/iso/trealla_copy_term_bound_list_tail.pl +4 -1
  673. package/test/conformance/expected/iso/trealla_curly_and_colon_syntax_equivalence.pl +6 -1
  674. package/test/conformance/expected/iso/trealla_curly_braces_as_predicate.pl +4 -1
  675. package/test/conformance/expected/iso/trealla_dif_unification_shared_var.pl +4 -1
  676. package/test/conformance/expected/iso/trealla_disjunction_commit_and_fallthrough.pl +4 -1
  677. package/test/conformance/expected/iso/trealla_findall_bagof_grouping.pl +4 -1
  678. package/test/conformance/expected/iso/trealla_findall_solution_independence.pl +4 -1
  679. package/test/conformance/expected/iso/trealla_float_literal_representation_error.pl +10 -1
  680. package/test/conformance/expected/iso/trealla_float_parts_extremes.pl +13 -4
  681. package/test/conformance/expected/iso/trealla_forall_arithmetic_facts.pl +4 -1
  682. package/test/conformance/expected/iso/trealla_forall_double_negation.pl +4 -1
  683. package/test/conformance/expected/iso/trealla_functor_arg_partial_term.pl +7 -2
  684. package/test/conformance/expected/iso/trealla_ground_progressive_backtracking.pl +4 -1
  685. package/test/conformance/expected/iso/trealla_if_then_else_backtracking.pl +12 -5
  686. package/test/conformance/expected/iso/trealla_if_then_noncallable_then.pl +4 -1
  687. package/test/conformance/expected/iso/trealla_logical_update_view.pl +5 -2
  688. package/test/conformance/expected/iso/trealla_mod_sign_rules.pl +23 -1
  689. package/test/conformance/expected/iso/trealla_negation_eager_callability.pl +10 -1
  690. package/test/conformance/expected/iso/trealla_number_chars_skips_comments.pl +4 -1
  691. package/test/conformance/expected/iso/trealla_number_chars_syntax_error.pl +4 -1
  692. package/test/conformance/expected/iso/trealla_number_codes_char_literal.pl +4 -1
  693. package/test/conformance/expected/iso/trealla_occurs_check_rational_tree_subtleties.pl +4 -1
  694. package/test/conformance/expected/iso/trealla_occurs_check_reverse_order.pl +4 -1
  695. package/test/conformance/expected/iso/trealla_once_inside_findall_template.pl +4 -1
  696. package/test/conformance/expected/iso/trealla_quoted_atom_line_continuation.pl +4 -1
  697. package/test/conformance/expected/iso/trealla_retract_backtracking.pl +4 -1
  698. package/test/conformance/expected/iso/trealla_shared_argument_aliasing.pl +4 -1
  699. package/test/conformance/expected/iso/trealla_shared_variable_unification.pl +31 -10
  700. package/test/conformance/expected/iso/trealla_sort_duplicates_and_empty.pl +4 -1
  701. package/test/conformance/expected/iso/trealla_sub_atom_modes.pl +35 -22
  702. package/test/conformance/expected/iso/trealla_term_shapes.pl +4 -1
  703. package/test/conformance/expected/iso/trealla_term_variables_partial_list_error.pl +4 -1
  704. package/test/conformance/expected/iso/trealla_unicode_length_agreement.pl +4 -1
  705. package/test/conformance/expected/iso/trealla_variable_aliasing_across_calls.pl +4 -1
  706. package/test/conformance/expected/iso/trealla_variable_goal_normalization.pl +4 -1
  707. package/test/conformance/expected/iso/trealla_write_associative_operators.pl +4 -1
  708. package/test/conformance/expected/iso/trealla_write_canonical_operators.pl +12 -3
  709. package/test/conformance/expected/iso/trealla_write_term_duplicate_variable_names.pl +4 -1
  710. package/test/conformance/expected/iso/trealla_write_term_ignore_ops_quoted_independence.pl +4 -1
  711. package/test/conformance/expected/iso/trealla_write_term_variable_names_malformed.pl +4 -1
  712. package/test/conformance/expected/iso/type_atom_success.pl +4 -1
  713. package/test/conformance/expected/iso/type_atomic_atom_success.pl +4 -1
  714. package/test/conformance/expected/iso/type_atomic_number_success.pl +4 -1
  715. package/test/conformance/expected/iso/type_callable_atom_success.pl +4 -1
  716. package/test/conformance/expected/iso/type_callable_compound_success.pl +4 -1
  717. package/test/conformance/expected/iso/type_compound_success.pl +4 -1
  718. package/test/conformance/expected/iso/type_float_success.pl +4 -1
  719. package/test/conformance/expected/iso/type_ground_success.pl +4 -1
  720. package/test/conformance/expected/iso/type_integer_success.pl +4 -1
  721. package/test/conformance/expected/iso/type_nonvar_success.pl +4 -1
  722. package/test/conformance/expected/iso/type_number_float_success.pl +4 -1
  723. package/test/conformance/expected/iso/type_number_integer_success.pl +4 -1
  724. package/test/conformance/expected/iso/type_var_success.pl +4 -1
  725. package/test/conformance/expected/iso/unification_control_information.pl +4 -1
  726. package/test/conformance/expected/iso/univ_construct_compound.pl +4 -1
  727. package/test/conformance/expected/iso/univ_construct_number.pl +4 -1
  728. package/test/conformance/expected/iso/univ_decompose_atom.pl +4 -1
  729. package/test/conformance/expected/iso/univ_decompose_compound.pl +4 -1
  730. package/test/conformance/expected/iso/wg17_syntax_high_risk.pl +28 -9
  731. package/test/conformance/expected/lists/005_list_deconstruction.pl +5 -2
  732. package/test/conformance/expected/lists/015_improper_list_unification.pl +6 -3
  733. package/test/conformance/expected/lists/020_nested_list_terms.pl +5 -2
  734. package/test/conformance/expected/lists/031_lists_aggregation_ordering.pl +12 -9
  735. package/test/conformance/expected/lists/035_list_relations.pl +7 -4
  736. package/test/conformance/expected/lists/036_append_splits.pl +6 -3
  737. package/test/conformance/expected/lists/045_sort_deduplicates_atoms.pl +4 -1
  738. package/test/conformance/expected/lists/046_append_bound_prefix_suffix.pl +5 -2
  739. package/test/conformance/expected/lists/047_nth0_index_generation.pl +4 -1
  740. package/test/conformance/expected/lists/048_set_nth0_edges.pl +5 -2
  741. package/test/conformance/expected/lists/049_select_duplicate_occurrences.pl +5 -2
  742. package/test/conformance/expected/lists/063_reusable_list_builtins.pl +12 -9
  743. package/test/conformance/expected/lists/067_list_edges.pl +11 -8
  744. package/test/conformance/expected/lists/068_list_generation_order.pl +12 -9
  745. package/test/conformance/expected/lists/069_list_summaries_and_sets.pl +10 -7
  746. package/test/conformance/expected/lists/084_append_and_select_composition.pl +13 -10
  747. package/test/conformance/expected/lists/085_nth_and_update_edges.pl +11 -8
  748. package/test/conformance/expected/lists/086_slicing_pipeline.pl +10 -7
  749. package/test/conformance/expected/lists/087_sort_reverse_length.pl +9 -6
  750. package/test/conformance/expected/lists/088_list_summaries_failures.pl +8 -5
  751. package/test/conformance/expected/lists/empty_list_term.pl +4 -1
  752. package/test/conformance/expected/lists/extra_append_all_splits_three.pl +7 -4
  753. package/test/conformance/expected/lists/extra_append_to_improper_tail.pl +4 -1
  754. package/test/conformance/expected/lists/extra_drop_all.pl +4 -1
  755. package/test/conformance/expected/lists/extra_last_singleton.pl +4 -1
  756. package/test/conformance/expected/lists/extra_length_improper_fails.pl +3 -0
  757. package/test/conformance/expected/lists/extra_list_pattern_improper.pl +4 -1
  758. package/test/conformance/expected/lists/extra_list_to_set_stable_order.pl +4 -1
  759. package/test/conformance/expected/lists/extra_member_repeated_nested.pl +5 -2
  760. package/test/conformance/expected/lists/extra_nth0_duplicate_indexes.pl +5 -2
  761. package/test/conformance/expected/lists/extra_reverse_nested_terms.pl +4 -1
  762. package/test/conformance/expected/lists/extra_select_structured_duplicate.pl +5 -2
  763. package/test/conformance/expected/lists/extra_slice_end.pl +4 -1
  764. package/test/conformance/expected/lists/extra_sort_iri_atoms.pl +4 -1
  765. package/test/conformance/expected/lists/extra_take_all.pl +4 -1
  766. package/test/conformance/expected/lists/improper_list_readback.pl +4 -1
  767. package/test/conformance/expected/lists/length_empty_and_nested.pl +5 -2
  768. package/test/conformance/expected/lists/list_pattern_last.pl +6 -3
  769. package/test/conformance/expected/lists/list_to_set_structural_duplicates.pl +4 -1
  770. package/test/conformance/expected/lists/list_with_iri_atoms.pl +4 -1
  771. package/test/conformance/expected/lists/min_list_empty_fails.pl +4 -1
  772. package/test/conformance/expected/lists/nth0_known_value.pl +4 -1
  773. package/test/conformance/expected/lists/nth0_out_of_range_fails.pl +4 -1
  774. package/test/conformance/expected/lists/reverse_empty.pl +4 -1
  775. package/test/conformance/expected/lists/select_all_occurrences.pl +6 -3
  776. package/test/conformance/expected/lists/set_nth0_middle.pl +4 -1
  777. package/test/conformance/expected/lists/slice_middle.pl +3 -0
  778. package/test/conformance/expected/lists/slice_out_of_range_fails.pl +4 -1
  779. package/test/conformance/expected/lists/sort_structured_terms.pl +4 -1
  780. package/test/conformance/expected/lists/sum_list_empty_zero.pl +4 -1
  781. package/test/conformance/expected/lists/sum_min_max_list.pl +6 -3
  782. package/test/conformance/expected/lists/swipl_aggregate_sum_count.pl +7 -2
  783. package/test/conformance/expected/lists/swipl_assoc_del_min_roundtrip.pl +11 -3
  784. package/test/conformance/expected/lists/swipl_assoc_is_assoc_malformed.pl +10 -3
  785. package/test/conformance/expected/lists/swipl_assoc_is_assoc_valid.pl +4 -1
  786. package/test/conformance/expected/lists/swipl_lists_foldl_empty.pl +7 -2
  787. package/test/conformance/expected/lists/swipl_lists_reverse_mode.pl +4 -1
  788. package/test/conformance/expected/lists/swipl_ordsets_intersection_difference.pl +11 -1
  789. package/test/conformance/expected/lists/swipl_ordsets_is_ordset.pl +7 -2
  790. package/test/conformance/expected/lists/swipl_ugraphs_top_sort.pl +4 -1
  791. package/test/conformance/expected/lists/take_zero_and_drop_all.pl +5 -2
  792. package/test/conformance/expected/modules/qualified_call.pl +4 -1
  793. package/test/conformance/expected/modules/selective_library_import.pl +4 -1
  794. package/test/conformance/expected/negation/033_negation_once_generators.pl +5 -2
  795. package/test/conformance/expected/negation/042_negation_filter.pl +5 -2
  796. package/test/conformance/expected/negation/050_negated_member_filter.pl +4 -1
  797. package/test/conformance/expected/negation/extra_not_with_bound_fails.pl +3 -0
  798. package/test/conformance/expected/negation/extra_not_with_bound_success.pl +4 -1
  799. package/test/conformance/expected/negation/not_known_goal_fails.pl +3 -0
  800. package/test/conformance/expected/negation/not_unknown_goal_succeeds.pl +4 -1
  801. package/test/conformance/expected/negation/stratified_negation_answers.pl +4 -1
  802. package/test/conformance/expected/query/027_default_derived_output.pl +6 -3
  803. package/test/conformance/expected/query/028_query_focus.pl +4 -1
  804. package/test/conformance/expected/query/053_query_excludes_source_fact.pl +4 -1
  805. package/test/conformance/expected/query/099_multiple_queries.pl +9 -4
  806. package/test/conformance/expected/query/arity_specific_outputs.pl +3 -0
  807. package/test/conformance/expected/query/extra_query_selects_arity.pl +3 -0
  808. package/test/conformance/expected/query/extra_query_source_and_derived.pl +4 -1
  809. package/test/conformance/expected/query/source_facts_suppressed.pl +4 -1
  810. package/test/conformance/expected/rules/001_fact_output.pl +4 -1
  811. package/test/conformance/expected/rules/002_rule_recursion.pl +5 -2
  812. package/test/conformance/expected/rules/011_predicate_arity.pl +5 -2
  813. package/test/conformance/expected/rules/013_multiple_clauses_order.pl +5 -2
  814. package/test/conformance/expected/rules/017_three_step_recursion.pl +6 -3
  815. package/test/conformance/expected/rules/022_rule_head_structure.pl +5 -2
  816. package/test/conformance/expected/rules/077_recursive_path_with_lists.pl +6 -3
  817. package/test/conformance/expected/rules/078_mutual_recursion_with_arithmetic.pl +10 -7
  818. package/test/conformance/expected/rules/atom_predicates.pl +6 -1
  819. package/test/conformance/expected/rules/extra_left_to_right_multiple_bindings.pl +5 -2
  820. package/test/conformance/expected/rules/extra_structured_head_rule.pl +4 -1
  821. package/test/conformance/expected/rules/left_to_right_body_binding.pl +4 -1
  822. package/test/conformance/expected/rules/transitive_rule_three_edges.pl +9 -6
  823. package/test/conformance/expected/stc/bagof_answer_order.pl +4 -1
  824. package/test/conformance/expected/stc/clause_variable_identity.pl +4 -1
  825. package/test/conformance/expected/stc/float_underflow_input.pl +4 -1
  826. package/test/conformance/expected/stc/integer_to_float_evaluable.pl +4 -1
  827. package/test/conformance/expected/stc/mixed_integer_float_comparison.pl +4 -1
  828. package/test/conformance/expected/strings/023_quoted_escapes_readback.pl +5 -2
  829. package/test/conformance/expected/strings/030_strings_and_atoms.pl +5 -2
  830. package/test/conformance/expected/strings/055_string_matching_filters.pl +5 -2
  831. package/test/conformance/expected/strings/056_string_concat_modes.pl +14 -9
  832. package/test/conformance/expected/strings/064_reusable_string_builtins.pl +13 -10
  833. package/test/conformance/expected/strings/070_matches_named_captures.pl +4 -1
  834. package/test/conformance/expected/strings/071_string_edges.pl +11 -8
  835. package/test/conformance/expected/strings/072_string_conversions.pl +11 -8
  836. package/test/conformance/expected/strings/089_string_split_join_pipeline.pl +7 -4
  837. package/test/conformance/expected/strings/090_string_substring_replace_edges.pl +10 -7
  838. package/test/conformance/expected/strings/091_string_case_and_trim.pl +8 -5
  839. package/test/conformance/expected/strings/092_scalar_string_conversions.pl +10 -7
  840. package/test/conformance/expected/strings/093_regex_named_captures_context.pl +8 -5
  841. package/test/conformance/expected/strings/atom_string_from_string.pl +4 -1
  842. package/test/conformance/expected/strings/casefold_atoms.pl +5 -2
  843. package/test/conformance/expected/strings/contains_empty_needle.pl +4 -1
  844. package/test/conformance/expected/strings/extra_atom_string_number_input.pl +4 -1
  845. package/test/conformance/expected/strings/extra_join_empty_list.pl +4 -1
  846. package/test/conformance/expected/strings/extra_join_iri_and_atom.pl +4 -1
  847. package/test/conformance/expected/strings/extra_lowercase_iri_atom.pl +4 -1
  848. package/test/conformance/expected/strings/extra_matches_invalid_pattern_fails.pl +3 -0
  849. package/test/conformance/expected/strings/extra_named_regex_optional_missing.pl +4 -1
  850. package/test/conformance/expected/strings/extra_number_string_atom_input.pl +4 -1
  851. package/test/conformance/expected/strings/extra_replace_multiple.pl +4 -1
  852. package/test/conformance/expected/strings/extra_split_empty_separator.pl +4 -1
  853. package/test/conformance/expected/strings/extra_substring_last_char.pl +4 -1
  854. package/test/conformance/expected/strings/extra_term_string_iri_list.pl +4 -1
  855. package/test/conformance/expected/strings/extra_uppercase_mixed_string.pl +4 -1
  856. package/test/conformance/expected/strings/join_mixed_scalars.pl +4 -1
  857. package/test/conformance/expected/strings/matches_simple_alternation.pl +4 -1
  858. package/test/conformance/expected/strings/named_regex_two_groups.pl +4 -1
  859. package/test/conformance/expected/strings/not_matches_simple_pattern.pl +4 -1
  860. package/test/conformance/expected/strings/number_string_from_string.pl +4 -1
  861. package/test/conformance/expected/strings/number_string_rejects_non_numeric.pl +4 -1
  862. package/test/conformance/expected/strings/replace_empty_search_no_change.pl +4 -1
  863. package/test/conformance/expected/strings/split_without_separator_match.pl +4 -1
  864. package/test/conformance/expected/strings/substring_out_of_range_fails.pl +4 -1
  865. package/test/conformance/expected/strings/substring_zero_count.pl +4 -1
  866. package/test/conformance/expected/strings/term_string_nested_term.pl +4 -1
  867. package/test/conformance/expected/strings/trim_tabs_and_spaces.pl +4 -1
  868. package/test/conformance/expected/syntax/004_conjunction_and_parentheses.pl +4 -1
  869. package/test/conformance/expected/syntax/006_comma_formula_data.pl +4 -1
  870. package/test/conformance/expected/syntax/009_comments_and_whitespace.pl +5 -2
  871. package/test/conformance/expected/syntax/019_parenthesized_three_conjuncts.pl +4 -1
  872. package/test/conformance/expected/syntax/025_body_parentheses_with_formula_data.pl +4 -1
  873. package/test/conformance/expected/syntax/comments_inside_program.pl +3 -0
  874. package/test/conformance/expected/syntax/extra_comments_after_terms.pl +3 -0
  875. package/test/conformance/expected/syntax/extra_nested_parenthesized_body.pl +4 -1
  876. package/test/conformance/expected/syntax/infix_subtraction_term.pl +4 -1
  877. package/test/conformance/expected/syntax/parenthesized_query_style_body.pl +4 -1
  878. package/test/conformance/expected/syntax/quoted_atom_with_newline_escape.pl +3 -0
  879. package/test/conformance/expected/syntax/string_with_tab_escape.pl +3 -0
  880. package/test/conformance/expected/terms/003_terms_and_readback.pl +16 -13
  881. package/test/conformance/expected/terms/065_reusable_term_control_builtins.pl +9 -6
  882. package/test/conformance/expected/terms/073_term_introspection_edges.pl +12 -9
  883. package/test/conformance/expected/terms/095_term_introspection_roundtrip.pl +9 -6
  884. package/test/conformance/expected/terms/096_functor_scalar_edges.pl +8 -5
  885. package/test/conformance/expected/terms/arg_first_and_second.pl +5 -2
  886. package/test/conformance/expected/terms/arg_zero_fails.pl +4 -1
  887. package/test/conformance/expected/terms/compound_name_arguments_atom_zero_args.pl +4 -1
  888. package/test/conformance/expected/terms/compound_name_arguments_builds_atom_from_empty_args.pl +4 -1
  889. package/test/conformance/expected/terms/compound_name_arguments_builds_compound.pl +4 -1
  890. package/test/conformance/expected/terms/compound_name_arguments_iri_name.pl +4 -1
  891. package/test/conformance/expected/terms/extra_arg_first_last.pl +4 -1
  892. package/test/conformance/expected/terms/extra_arg_zero_fails.pl +3 -0
  893. package/test/conformance/expected/terms/extra_compound_name_arguments_construct_atom_zero.pl +4 -1
  894. package/test/conformance/expected/terms/extra_compound_name_arguments_construct_iri.pl +4 -1
  895. package/test/conformance/expected/terms/extra_compound_name_arguments_decompose_list.pl +4 -1
  896. package/test/conformance/expected/terms/extra_functor_list_cons.pl +4 -1
  897. package/test/conformance/expected/terms/extra_functor_number_scalar.pl +4 -1
  898. package/test/conformance/expected/terms/extra_functor_string_scalar.pl +4 -1
  899. package/test/conformance/expected/terms/functor_atom_arity_zero.pl +4 -1
  900. package/test/conformance/expected/terms/functor_number_and_string.pl +5 -2
  901. package/test/conformance/expected/terms/herbrand_witness_different_inputs_distinct.pl +4 -1
  902. package/test/conformance/expected/terms/herbrand_witness_one_input.pl +5 -2
  903. package/test/conformance/expected/terms/herbrand_witness_same_inputs_same_term.pl +4 -1
  904. package/test/conformance/expected/terms/herbrand_witness_two_inputs.pl +5 -2
  905. package/test/conformance/expected/terms/term_string_readback_iri_list.pl +4 -1
  906. package/test/conformance/expected/unification/012_nested_compound_unification.pl +5 -2
  907. package/test/conformance/expected/unification/021_repeated_variable_head.pl +5 -2
  908. package/test/conformance/expected/unification/034_equality_and_inequality.pl +7 -4
  909. package/test/conformance/expected/unification/compound_arity_mismatch_fails.pl +4 -1
  910. package/test/conformance/expected/unification/extra_eq_iri_and_quoted_atom.pl +3 -0
  911. package/test/conformance/expected/unification/extra_eq_list_tail_binding.pl +4 -1
  912. package/test/conformance/expected/unification/extra_eq_nested_repeated_fails.pl +3 -0
  913. package/test/conformance/expected/unification/extra_eq_nested_repeated_success.pl +4 -1
  914. package/test/conformance/expected/unification/extra_eq_scalar_number_atom.pl +3 -0
  915. package/test/conformance/expected/unification/extra_eq_scalar_string_number.pl +3 -0
  916. package/test/conformance/expected/unification/extra_neq_compound_arity_mismatch.pl +4 -1
  917. package/test/conformance/expected/unification/extra_neq_scalar_same_lexical_fails.pl +4 -1
  918. package/test/conformance/expected/unification/extra_variable_clause_locality.pl +5 -2
  919. package/test/conformance/expected/unification/list_tail_binding.pl +4 -1
  920. package/test/conformance/expected/unification/logical_equality_inequality_boundaries.pl +6 -3
  921. package/test/conformance/expected/unification/nested_repeated_variable.pl +4 -1
  922. package/test/conformance/expected/unification/occurs_check_rejects_recursive_binding.pl +4 -1
  923. package/test/conformance/expected/unification/scalar_cross_type_same_lexical_value.pl +3 -0
  924. package/test/conformance/expected/variables/007_anonymous_variables.pl +4 -1
  925. package/test/conformance/expected/variables/010_variable_scope_and_reuse.pl +5 -2
  926. package/test/conformance/expected/variables/026_question_underscore_named_variable_reuse.pl +4 -1
  927. package/test/conformance/expected/variables/101_question_mark_variables.pl +6 -3
  928. package/test/conformance/expected/variables/anonymous_in_two_goals.pl +4 -1
  929. package/test/conformance/expected/variables/clause_local_variable_names.pl +5 -2
  930. package/test/conformance/expected/variables/extra_anonymous_not_reused.pl +4 -1
  931. package/test/conformance/expected/variables/extra_named_variable_reused.pl +4 -1
  932. package/test/conformance/expected/variables/extra_question_underscore_named_distinct.pl +4 -1
  933. package/test/conformance/expected/variables/extra_question_uppercase_named.pl +4 -1
  934. package/test/conformance/expected/variables/question_anonymous_not_reused.pl +7 -4
  935. package/test/conformance/expected/variables/question_underscore_named_reuse.pl +4 -1
  936. package/test/conformance/expected/variables/question_uppercase_variable.pl +4 -1
  937. package/test/conformance/expected/variables/question_variable_digits_and_underscore.pl +4 -1
  938. package/test/conformance/expected/variables/question_variable_uppercase_name.pl +4 -1
  939. package/test/conformance/expected/variables/variable_scope_per_clause.pl +5 -2
  940. package/test/conformance/expected-proofs/proofs/bindings_nested_term.pl +10 -12
  941. package/test/conformance/expected-proofs/proofs/builtin_numeric.pl +9 -12
  942. package/test/conformance/expected-proofs/proofs/conjunction_order.pl +12 -13
  943. package/test/conformance/expected-proofs/proofs/explicit_recursive.pl +18 -45
  944. package/test/conformance/expected-proofs/proofs/extra_aggregate_min.pl +14 -12
  945. package/test/conformance/expected-proofs/proofs/extra_compound_name_arguments.pl +16 -12
  946. package/test/conformance/expected-proofs/proofs/extra_context_parts.pl +39 -42
  947. package/test/conformance/expected-proofs/proofs/extra_eq_builtin.pl +9 -12
  948. package/test/conformance/expected-proofs/proofs/extra_explicit_path_bound.pl +19 -46
  949. package/test/conformance/expected-proofs/proofs/extra_findall_builtin.pl +9 -12
  950. package/test/conformance/expected-proofs/proofs/extra_forall_builtin.pl +9 -12
  951. package/test/conformance/expected-proofs/proofs/extra_iri_join.pl +14 -12
  952. package/test/conformance/expected-proofs/proofs/extra_negation_success.pl +9 -12
  953. package/test/conformance/expected-proofs/proofs/extra_nested_list_binding.pl +9 -12
  954. package/test/conformance/expected-proofs/proofs/extra_once_member.pl +10 -19
  955. package/test/conformance/expected-proofs/proofs/extra_recursive_path.pl +18 -45
  956. package/test/conformance/expected-proofs/proofs/herbrand_witness.pl +10 -12
  957. package/test/conformance/expected-proofs/proofs/iri_atom.pl +13 -12
  958. package/test/conformance/expected-proofs/proofs/list_builtin.pl +10 -13
  959. package/test/conformance/expected-proofs/proofs/once_child.pl +11 -19
  960. package/test/conformance/expected-proofs/proofs/rule_fact.pl +10 -12
  961. package/test/conformance/expected-warnings/negation/extra_stratified_multiple_negations_quiet.pl +4 -1
  962. package/test/conformance/expected-warnings/negation/extra_stratified_negation_with_recursion_quiet.pl +4 -1
  963. package/test/conformance/expected-warnings/negation/extra_unstratified_indirect_self_with_fact.pl +3 -0
  964. package/test/conformance/expected-warnings/negation/extra_unstratified_positive_negative_loop.pl +3 -0
  965. package/test/conformance/expected-warnings/negation/extra_unstratified_three_cycle_all_negative.pl +3 -0
  966. package/test/conformance/expected-warnings/negation/extra_warning_preserves_empty_stdout.pl +3 -0
  967. package/test/conformance/expected-warnings/negation/negative_unknown_group_quiet.pl +4 -1
  968. package/test/conformance/expected-warnings/negation/no_negation_quiet.pl +4 -1
  969. package/test/conformance/expected-warnings/negation/stratified_negative_unknown_after_positive_quiet.pl +4 -1
  970. package/test/conformance/expected-warnings/negation/stratified_quiet.pl +4 -1
  971. package/test/conformance/expected-warnings/negation/stratified_two_level_quiet.pl +4 -1
  972. package/test/conformance/expected-warnings/negation/unstratified_mutual.pl +3 -0
  973. package/test/conformance/expected-warnings/negation/unstratified_positive_prefix.pl +3 -0
  974. package/test/conformance/expected-warnings/negation/unstratified_self.pl +3 -0
  975. package/test/conformance/expected-warnings/negation/unstratified_three_step.pl +4 -1
  976. package/test/conformance/expected-warnings/negation/unstratified_two_arity_cycle.pl +3 -0
  977. package/test/conformance/expected-warnings/negation/unstratified_two_independent_cycles.pl +3 -0
  978. package/test/conformance/expected-warnings/negation/unstratified_with_iri_predicates.pl +3 -0
  979. package/test/conformance/expected-warnings/negation/warning_preserves_multiple_stdout_answers.pl +3 -0
  980. package/test/regression/cases-api.mjs +30 -8
  981. package/test/regression/cases-regression.mjs +69 -57
  982. package/test/regression/cases-white-box.mjs +12 -13
  983. package/test/regression/support.mjs +28 -7
  984. package/test/run-all.mjs +2 -0
  985. package/test/run-http-json.mjs +9 -1
  986. package/test/run-iso-part2-amendment.mjs +9 -1
  987. package/test/run-iso-strict.mjs +9 -1
  988. package/test/run-playground.mjs +6 -5
  989. package/test/run-proof-checking.mjs +56 -0
  990. package/test/run-wg17.mjs +11 -0
  991. package/test/test-support.mjs +76 -0
  992. package/the-art-of-eyeprolog.md +79 -64
  993. package/why-eyeprolog.md +13 -12
  994. package/examples/book/chapter-11/01-why.pl +0 -14
@@ -78,7 +78,7 @@ node tools/extract-book-examples.mjs
78
78
 
79
79
  ## Chapter 11: Queries, answers, and proofs
80
80
 
81
- - [01-why.pl](chapter-11/01-why.pl)
81
+ - [01-query.pl](chapter-11/01-query.pl)
82
82
 
83
83
  ## Chapter 12: Integrity checks as ordinary predicates
84
84
 
@@ -0,0 +1,12 @@
1
+ % From The Art of EyeProlog, Chapter 11.
2
+ % Prolog result format 4
3
+ query(1, type(socrates, mortal), []).
4
+ result(1, complete, 1).
5
+ answer(1, []).
6
+ why(1, [], [type(socrates, mortal)]).
7
+
8
+ clause(1, type(socrates, man), true).
9
+ clause(2, type(var('X'), mortal), type(var('X'), man)).
10
+
11
+ step(type(socrates, mortal), rule(2), ['X' = socrates], [type(socrates, man)]).
12
+ step(type(socrates, man), fact(1), [], []).
@@ -1,16 +1,25 @@
1
- absState(input, x, sign(neg)).
2
- absState(input, x, sign(zero)).
3
- absState(input, x, sign(pos)).
4
- absState(negative_branch, x, sign(neg)).
5
- absState(nonnegative_branch, x, sign(zero)).
6
- absState(nonnegative_branch, x, sign(pos)).
7
- absState(negative_branch, y, sign(pos)).
8
- absState(nonnegative_branch, y, sign(zero)).
9
- absState(nonnegative_branch, y, sign(pos)).
10
- absState(join, x, sign(neg)).
11
- absState(join, y, sign(pos)).
12
- absState(join, x, sign(zero)).
13
- absState(join, x, sign(pos)).
14
- absState(join, y, sign(zero)).
15
- absWarning(division_by_zero, join).
16
- absConclusion(case, "abstract interpretation keeps all feasible signs and warns because y may be zero").
1
+ % Prolog result format 4
2
+ query(1, absState(_0, _1, _2), ['X0' = _0, 'X1' = _1, 'X2' = _2]).
3
+ result(1, complete, 14).
4
+ answer(1, ['X0' = input, 'X1' = x, 'X2' = sign(neg)]).
5
+ answer(1, ['X0' = input, 'X1' = x, 'X2' = sign(zero)]).
6
+ answer(1, ['X0' = input, 'X1' = x, 'X2' = sign(pos)]).
7
+ answer(1, ['X0' = negative_branch, 'X1' = x, 'X2' = sign(neg)]).
8
+ answer(1, ['X0' = nonnegative_branch, 'X1' = x, 'X2' = sign(zero)]).
9
+ answer(1, ['X0' = nonnegative_branch, 'X1' = x, 'X2' = sign(pos)]).
10
+ answer(1, ['X0' = negative_branch, 'X1' = y, 'X2' = sign(pos)]).
11
+ answer(1, ['X0' = nonnegative_branch, 'X1' = y, 'X2' = sign(zero)]).
12
+ answer(1, ['X0' = nonnegative_branch, 'X1' = y, 'X2' = sign(pos)]).
13
+ answer(1, ['X0' = join, 'X1' = x, 'X2' = sign(neg)]).
14
+ answer(1, ['X0' = join, 'X1' = y, 'X2' = sign(pos)]).
15
+ answer(1, ['X0' = join, 'X1' = x, 'X2' = sign(zero)]).
16
+ answer(1, ['X0' = join, 'X1' = x, 'X2' = sign(pos)]).
17
+ answer(1, ['X0' = join, 'X1' = y, 'X2' = sign(zero)]).
18
+ query(2, absWarning(_0, _1), ['X0' = _0, 'X1' = _1]).
19
+ result(2, complete, 1).
20
+ answer(2, ['X0' = division_by_zero, 'X1' = join]).
21
+ query(3, absConclusion(_0, _1), ['X0' = _0, 'X1' = _1]).
22
+ result(3, complete, 1).
23
+ answer(3,
24
+ ['X0' = case,
25
+ 'X1' = "abstract interpretation keeps all feasible signs and warns because y may be zero"]).
@@ -1,2 +1,11 @@
1
- status(test1, policy_passed).
2
- reason(test1, "all required claims are present, one allowed claim is present, and no forbidden claim is present").
1
+ % Prolog result format 4
2
+ query(1, policy(_0, _1), ['X0' = _0, 'X1' = _1]).
3
+ result(1, complete, 0).
4
+ query(2, status(_0, _1), ['X0' = _0, 'X1' = _1]).
5
+ result(2, complete, 1).
6
+ answer(2, ['X0' = test1, 'X1' = policy_passed]).
7
+ query(3, reason(_0, _1), ['X0' = _0, 'X1' = _1]).
8
+ result(3, complete, 1).
9
+ answer(3,
10
+ ['X0' = test1,
11
+ 'X1' = "all required claims are present, one allowed claim is present, and no forbidden claim is present"]).
@@ -1,12 +1,19 @@
1
- ackermann([0, 0], 1).
2
- ackermann([0, 6], 7).
3
- ackermann([1, 2], 4).
4
- ackermann([1, 7], 9).
5
- ackermann([2, 2], 7).
6
- ackermann([2, 9], 21).
7
- ackermann([3, 4], 125).
8
- ackermann([3, 1000], 85720688574901385675874003924800144844912384936442688595500031069628084089994889799455870305255668650207573833404251746014971622855385123487876620597588598431476542198593847883368596840498969135023633457224371799868655530139190140473324351568616503316569571821492337341283438653220995094697645344555005).
9
- ackermann([4, 0], 13).
10
- ackermann([4, 1], 65533).
11
- ackermann([4, 2], 2003529930406846464979072351560255750447825475569751419265016973710894059556311453089506130880933348101038234342907263181822949382118812668869506364761547029165041871916351587966347219442930927982084309104855990570159318959639524863372367203002916969592156108764948889254090805911457037675208500206671563702366126359747144807111774815880914135742720967190151836282560618091458852699826141425030123391108273603843767876449043205960379124490905707560314035076162562476031863793126484703743782954975613770981604614413308692118102485959152380195331030292162800160568670105651646750568038741529463842244845292537361442533614373729088303794601274724958414864915930647252015155693922628180691650796381064132275307267143998158508811292628901134237782705567421080070065283963322155077831214288551675554073345107213112427399562982719769150054883905223804357045848197956393157853510018992000024141963706813559840464039472194016069517690156119726982337890017641517190051133466306898140219383481435426387306539552969691388024158161859561100640362119796101859534802787167200122604642492385111393400464351623867567078745259464670903886547743483217897012764455529409092021959585751622973333576159552394885297579954028471943529913543763705986928913757153740001986394332464890052543106629669165243419174691389632476560289415199775477703138064781342309596190960654591300890188887588084733625956065444888501447335706058817090162108499714529568344061979690565469813631162053579369791403236328496233046421066136200220175787851857409162050489711781820400187282939943446186224328009837323764931814789848119452713007440220765680910376203999203492023906626264491909167985461515778839060397720759279378852241294301017458086862263369284725851403039615558564330385450688652213114813638408384778263790459607186876728509763471271988890680478243230394718650525660978150729861141430305816927924971409161059417185352275887504477592218301158780701975535722241400019548102005661773589781499532325208589753463547007786690406429016763808161740550405117670093673202804549339027992491867306539931640720492238474815280619166900933805732120816350707634351669869625020969023162859350071874190579161241536897514808261904847946571736601005892476655445840838334790544144817684255327207315586349347605137419779525190365032198020108764738368682531025183377533908861426184800374008082238104076468878471647552945326947661700424461063311238021134588694532200116564076327023074292426051582811070387018345324567635625951430032037432740780879056283663406965030844225855967039271869461158513793386475699748568670079823960604393478850861649260304945061743412365828352144806726676841807083754862211408236579802961200027441324438432402331257403545019352428776430880232850855886089962774458164680857875115807014743763867976955049991643998284357290415378143438847303484261903388841494031366139854257635577105335580206622185577060082551288893332226436281984838613239570676191409638533832374343758830859233722284644287996245605476932428998432652677378373173288063210753211238680604674708428051166488709084770291208161104912555598322366244868556651402684641209694982590565519216188104341226838996283071654868525536914850299539675503954938371853405900096187489473992880432496373165753803673586710175783994818471798498246948060532081996066183434012476096639519778021441199752546704080608499344178256285092726523709898651539462193004607364507926212975917698293892367015170992091531567814439791248475706237804600009918293321306880570046591458387208088016887445835557926258465124763087148566313528934166117490617526671492672176128330845273936469244582892571388877839056300482483799839692029222215486145902373478222682521639957440801727144146179559226175083889020074169926238300282286249284182671243405751424188569994272331606998712986882771820617214453142574944015066139463169197629181506579745526236191224848063890033669074365989226349564114665503062965960199720636202603521917776740668777463549375318899587866282125469797102065747232721372918144666659421872003474508942830911535189271114287108376159222380276605327823351661555149369375778466670145717971901227117812780450240026384758788339396817962950690798817121690686929538248529830023476068454114178139110648560236549754227497231007615131870024053910510913817843721791422528587432098524957878034683703337818421444017138688124249984418618129271198533315382567321870421530631197748535214670955334626336610864667332292409879849256691109516143618601548909740241913509623043612196128165950518666022030715613684732364660868905014263913906515063908199378852318365059897299125404479443425166774299659811849233151555272883274028352688442408752811283289980625912673699546247341543333500147231430612750390307397135252069338173843322950701049061867539433130784798015655130384758155685236218010419650255596181934986315913233036096461905990236112681196023441843363334594927631946101716652913823717182394299216272538461776065694542297877071383198817036964588689811863210976900355735884624464835706291453052757101278872027965364479724025405448132748391794128826423835171949197209797145936887537198729130831738033911016128547415377377715951728084111627597186384924222802373441925469991983672192131287035585307966942713416391033882754318613643490100943197409047331014476299861725424423355612237435715825933382804986243892498222780715951762757847109475119033482241412025182688713728193104253478196128440176479531505057110722974314569915223451643121848657575786528197564843508958384722923534559464521215831657751471298708225909292655638836651120681943836904116252668710044560243704200663709001941185557160472044643696932850060046928140507119069261393993902735534545567470314903886022024639948260501762431969305640666366626090207048887438898907498152865444381862917382901051820869936382661868303915273264581286782806601337500096593364625146091723180312930347877421234679118454791311109897794648216922505629399956793483801699157439700537542134485874586856047286751065423341893839099110586465595113646061055156838541217459801807133163612573079611168343863767667307354583494789788316330129240800836356825939157113130978030516441716682518346573675934198084958947940983292500086389778563494693212473426103062713745077286156922596628573857905533240641849018451328284632709269753830867308409142247659474439973348130810986399417379789657010687026734161967196591599588537834822988270125605842365589539690306474965584147981310997157542043256395776070485100881578291408250777738559790129129407309462785944505859412273194812753225152324801503466519048228961406646890305102510916237770448486230229488966711380555607956620732449373374027836767300203011615227008921843515652121379215748206859356920790214502277133099987729459596952817044582181956080965811702798062669891205061560742325686842271306295009864421853470810407128917646906550836129916694778023822502789667843489199409657361704586786242554006942516693979292624714524945408858422726153755260071904336329196375777502176005195800693847635789586878489536872122898557806826518192703632099480155874455575175312736471421295536494084385586615208012115079075068553344489258693283859653013272046970694571546959353658571788894862333292465202735853188533370948455403336565356988172582528918056635488363743793348411845580168331827676834646291995605513470039147876808640322629616641560667508153710646723108461964247537490553744805318226002710216400980584497526023035640038083472053149941172965736785066421400842696497103241919182121213206939769143923368374709228267738708132236680086924703491586840991153098315412063566123187504305467536983230827966457417620806593177265685841681837966106144963432544111706941700222657817358351259821080769101961052229263879745049019254311900620561906577452416191913187533984049343976823310298465893318373015809592522829206820862230332585280119266496314441316442773003237792274712330696417149945532261035475145631290668854345426869788447742981777493710117614651624183616680254815296335308490849943006763654806102940094693750609845588558043970485914449584445079978497045583550685408745163316464118083123079704389849190506587586425810738422420591191941674182490452700288263983057950057341711487031187142834184499153456702915280104485145176055306971441761368582384102787659324662689978418319620312262421177391477208004883578333569204533935953254564897028558589735505751235129536540502842081022785248776603574246366673148680279486052445782673626230852978265057114624846595914210278122788941448163994973881884622768244851622051817076722169863265701654316919742651230041757329904473537672536845792754365412826553581858046840069367718605020070547247548400805530424951854495267247261347318174742180078574693465447136036975884118029408039616746946288540679172138601225419503819704538417268006398820656328792839582708510919958839448297775647152026132871089526163417707151642899487953564854553553148754978134009964854498635824847690590033116961303766127923464323129706628411307427046202032013368350385425360313636763575212604707425311209233402837482949453104727418969287275572027615272268283376741393425652653283068469997597097750005560889932685025049212884068274139881631540456490350775871680074055685724021758685439053228133770707415830756269628316955687424060527726485853050611356384851965918968649596335568216975437621430778665934730450164822432964891270709898076676625671517269062058815549666382573829274182082278960684488222983394816670984039024283514306813767253460126007269262969468672750794346190439996618979611928750519442356402644303271737341591281496056168353988188569484045342311424613559925272330064881627466723523751234311893442118885085079358163848994487544756331689213869675574302737953785262542329024881047181939037220666894702204258836895840939998453560948869946833852579675161882159410981624918741813364726965123980677561947912557957446471427868624053750576104204267149366084980238274680575982591331006919941904651906531171908926077949119217946407355129633864523035673345588033313197080365457184791550432654899559705862888286866606618021882248602144999973122164138170653480175510438406624412822803616648904257377640956326482825258407669045608439490325290526337532316509087681336614242398309530806549661879381949120033919489494065132398816642080088395554942237096734840072642705701165089075196155370186264797456381187856175457113400473810762763014953309735174180655479112660938034311378532532883533352024934365979129341284854970946826329075830193072665337782559314331110963848053940859283988907796210479847919686876539987477095912788727475874439806779824968278272200926449944559380414608770641941810440758269805688038949654616587983904660587645341810289907194293021774519976104495043196841503455514044820928933378657363052830619990077748726922998608279053171691876578860908941817057993404890218441559791092676862796597583952483926734883634745651687016166240642424241228961118010615682342539392180052483454723779219911228595914191877491793823340010078128326506710281781396029120914720100947878752551263372884222353869490067927664511634758101193875319657242121476038284774774571704578610417385747911301908583877890152334343013005282797038580359815182929600305682612091950943737325454171056383887047528950563961029843641360935641632589408137981511693338619797339821670761004607980096016024823096943043806956620123213650140549586250615282588033022908385812478469315720323233601899469437647726721879376826431828382603564520699468630216048874528424363593558622333506235945002890558581611275341783750455936126130852640828051213873177490200249552738734585956405160830583053770732533971552620444705429573538361113677523169972740292941674204423248113875075631319078272188864053374694213842169928862940479635305150560788126366206497231257579019598873041195626227343728900516561111094111745277965482790471250581999077498063821559376885546498822938985408291325129076478386322494781016753491693489288104203015610283386143827378160946341335383578340765314321417150655877547820252454780657301342277470616744241968952613164274104695474621483756288299771804186785084546965619150908695874251184435837306590951460980451247409411373899927822492983367796011015387096129749705566301637307202750734759922943792393824427421186158236161317886392553095117188421298508307238259729144142251579403883011359083331651858234967221259621812507058113759495525022747274674369887131926670769299199084467161228738858457584622726573330753735572823951616964175198675012681745429323738294143824814377139861906716657572945807804820559511881687188075212971832636442155336787751274766940790117057509819575084563565217389544179875074523854455200133572033332379895074393905312918212255259833790909463630202185353848854825062897715616963860712382771725621313460549401770413581731931763370136332252819127547191443450920711848838366818174263342949611870091503049165339464763717766439120798347494627397822171502090670190302469762151278521956142070806461631373236517853976292092025500288962012970141379640038055734949269073535145961208674796547733692958773628635660143767964038430796864138563447801328261284589184898528048048844180821639423974014362903481665458114454366460032490618763039502356402044530748210241366895196644221339200757479128683805175150634662569391937740283512075666260829890491877287833852178522792045771846965855278790447562192663992008409302075673925363735628390829817577902153202106409617373283598494066652141198183810884515459772895164572131897797907491941013148368544639616904607030107596818933741217575988165127000761262789169510406315857637534787420070222051070891257612361658026806815858499852631465878086616800733264676830206391697203064894405628195406190685242003053463156621891327309069687353181641094514288036605995220248248886711554429104721929134248346438705368508648749099178812670565665387191049721820042371492740164460943459845392536706132210616533085662021188968234005752675486101476993688738209584552211571923479686888160853631615862880150395949418529489227074410828207169303387818084936204018255222271010985653444817207470756019245915599431072949578197878590578940052540122867517142511184356437184053563024181225473266093302710397968091064939272722683035410467632591355279683837705019855234621222858410557119921731717969804339317707750755627056047831779844447637560254637033369247114220815519973691371975163241302748712199863404548248524570118553342675264715978310731245663429805221455494156252724028915333354349341217862037007260315279870771872491234494477147909520734761385425485311552773301030342476835865496093722324007154518129732692081058424090557725645803681462234493189708138897143299831347617799679712453782310703739151473878692119187566700319321281896803322696594459286210607438827416919465162267632540665070881071030394178860564893769816734159025925194611823642945652669372203155504700213598846292758012527715422016629954863130324912311029627923723899766416803497141226527931907636326136814145516376656559839788489381733082668779901962886932296597379951931621187215455287394170243669885593888793316744533363119541518404088283815193421234122820030950313341050704760159987985472529190665222479319715440331794836837373220821885773341623856441380700541913530245943913502554531886454796252260251762928374330465102361057583514550739443339610216229675461415781127197001738611494279501411253280621254775810512972088465263158094806633687670147310733540717710876615935856814098212967730759197382973441445256688770855324570888958320993823432102718224114763732791357568615421252849657903335093152776925505845644010552192644505312073756287744998163646332835816140330175813967359427327690448920361880386754955751806890058532927201493923500525845146706982628548257883267398735220457228239290207144822219885587102896991935873074277815159757620764023951243860202032596596250212578349957710085626386118233813318509014686577064010676278617583772772895892746039403930337271873850536912957126715066896688493880885142943609962012966759079225082275313812849851526902931700263136328942095797577959327635531162066753488651317323872438748063513314512644889967589828812925480076425186586490241111127301357197181381602583178506932244007998656635371544088454866393181708395735780799059730839094881804060935959190907473960904410150516321749681412100765719177483767355751000733616922386537429079457803200042337452807566153042929014495780629634138383551783599764708851349004856973697965238695845994595592090709058956891451141412684505462117945026611750166928260250950770778211950432617383223562437601776799362796099368975191394965033358507155418436456852616674243688920371037495328425927131610537834980740739158633817967658425258036737206469351248652238481341663808061505704829059890696451936440018597120425723007316410009916987524260377362177763430621616744884930810929901009517974541564251204822086714586849255132444266777127863728211331536224301091824391243380214046242223349153559516890816288487989988273630445372432174280215755777967021666317047969728172483392841015642274507271779269399929740308072770395013581545142494049026536105825409373114653104943382484379718606937214444600826798002471229489405761853892203425608302697052876621377373594394224114707074072902725461307358541745691419446487624357682397065703184168467540733466346293673983620004041400714054277632480132742202685393698869787607009590048684650626771363070979821006557285101306601010780633743344773073478653881742681230743766066643312775356466578603715192922768440458273283243808212841218776132042460464900801054731426749260826922155637405486241717031027919996942645620955619816454547662045022411449404749349832206807191352767986747813458203859570413466177937228534940031631599544093684089572533438702986717829770373332806801764639502090023941931499115009105276821119510999063166150311585582835582607179410052528583611369961303442790173811787412061288182062023263849861515656451230047792967563618345768105043341769543067538041113928553792529241347339481050532025708728186307291158911335942014761872664291564036371927602306283840650425441742335464549987055318726887926424102147363698625463747159744354943443899730051742525110877357886390946812096673428152585919924857640488055071329814299359911463239919113959926752576359007446572810191805841807342227734721397723218231771716916400108826112549093361186780575722391018186168549108500885272274374212086524852372456248697662245384819298671129452945515497030585919307198497105414181636968976131126744027009648667545934567059936995464500558921628047976365686133316563907395703272034389175415267500915011198856872708848195531676931681272892143031376818016445477367518353497857924276463354162433601125960252109501612264110346083465648235597934274056868849224458745493776752120324703803035491157544831295275891939893680876327685438769557694881422844311998595700727521393176837831770339130423060958999137314684569010422095161967070506420256733873446115655276175992727151877660010238944760539789516945708802728736225121076224091810066700883474737605156285533943565843756271241244457651663064085939507947550920463932245202535463634444791755661725962187199279186575490857852950012840229035061514937310107009446151011613712423761426722541732055959202782129325725947146417224977321316381845326555279604270541871496236585252458648933254145062642337885651464670604298564781968461593663288954299780722542264790400616019751975007460545150060291806638271497016110987951336633771378434416194053121445291855180136575558667615019373029691932076120009255065081583275508499340768797252369987023567931026804136745718956641431852679054717169962990363015545645090044802789055701968328313630718997699153166679208958768572290600915472919636381673596673959975710326015571920237348580521128117458610065152598883843114511894880552129145775699146577530041384717124577965048175856395072895337539755822087777506072339445587895905719156733).
12
- ackermann([5, 0], 65533).
1
+ % Prolog result format 4
2
+ query(1, ackermann(_0, _1), ['X0' = _0, 'X1' = _1]).
3
+ result(1, complete, 12).
4
+ answer(1, ['X0' = [0, 0], 'X1' = 1]).
5
+ answer(1, ['X0' = [0, 6], 'X1' = 7]).
6
+ answer(1, ['X0' = [1, 2], 'X1' = 4]).
7
+ answer(1, ['X0' = [1, 7], 'X1' = 9]).
8
+ answer(1, ['X0' = [2, 2], 'X1' = 7]).
9
+ answer(1, ['X0' = [2, 9], 'X1' = 21]).
10
+ answer(1, ['X0' = [3, 4], 'X1' = 125]).
11
+ answer(1,
12
+ ['X0' = [3, 1000],
13
+ 'X1' = 85720688574901385675874003924800144844912384936442688595500031069628084089994889799455870305255668650207573833404251746014971622855385123487876620597588598431476542198593847883368596840498969135023633457224371799868655530139190140473324351568616503316569571821492337341283438653220995094697645344555005]).
14
+ answer(1, ['X0' = [4, 0], 'X1' = 13]).
15
+ answer(1, ['X0' = [4, 1], 'X1' = 65533]).
16
+ answer(1,
17
+ ['X0' = [4, 2],
18
+ 'X1' = 2003529930406846464979072351560255750447825475569751419265016973710894059556311453089506130880933348101038234342907263181822949382118812668869506364761547029165041871916351587966347219442930927982084309104855990570159318959639524863372367203002916969592156108764948889254090805911457037675208500206671563702366126359747144807111774815880914135742720967190151836282560618091458852699826141425030123391108273603843767876449043205960379124490905707560314035076162562476031863793126484703743782954975613770981604614413308692118102485959152380195331030292162800160568670105651646750568038741529463842244845292537361442533614373729088303794601274724958414864915930647252015155693922628180691650796381064132275307267143998158508811292628901134237782705567421080070065283963322155077831214288551675554073345107213112427399562982719769150054883905223804357045848197956393157853510018992000024141963706813559840464039472194016069517690156119726982337890017641517190051133466306898140219383481435426387306539552969691388024158161859561100640362119796101859534802787167200122604642492385111393400464351623867567078745259464670903886547743483217897012764455529409092021959585751622973333576159552394885297579954028471943529913543763705986928913757153740001986394332464890052543106629669165243419174691389632476560289415199775477703138064781342309596190960654591300890188887588084733625956065444888501447335706058817090162108499714529568344061979690565469813631162053579369791403236328496233046421066136200220175787851857409162050489711781820400187282939943446186224328009837323764931814789848119452713007440220765680910376203999203492023906626264491909167985461515778839060397720759279378852241294301017458086862263369284725851403039615558564330385450688652213114813638408384778263790459607186876728509763471271988890680478243230394718650525660978150729861141430305816927924971409161059417185352275887504477592218301158780701975535722241400019548102005661773589781499532325208589753463547007786690406429016763808161740550405117670093673202804549339027992491867306539931640720492238474815280619166900933805732120816350707634351669869625020969023162859350071874190579161241536897514808261904847946571736601005892476655445840838334790544144817684255327207315586349347605137419779525190365032198020108764738368682531025183377533908861426184800374008082238104076468878471647552945326947661700424461063311238021134588694532200116564076327023074292426051582811070387018345324567635625951430032037432740780879056283663406965030844225855967039271869461158513793386475699748568670079823960604393478850861649260304945061743412365828352144806726676841807083754862211408236579802961200027441324438432402331257403545019352428776430880232850855886089962774458164680857875115807014743763867976955049991643998284357290415378143438847303484261903388841494031366139854257635577105335580206622185577060082551288893332226436281984838613239570676191409638533832374343758830859233722284644287996245605476932428998432652677378373173288063210753211238680604674708428051166488709084770291208161104912555598322366244868556651402684641209694982590565519216188104341226838996283071654868525536914850299539675503954938371853405900096187489473992880432496373165753803673586710175783994818471798498246948060532081996066183434012476096639519778021441199752546704080608499344178256285092726523709898651539462193004607364507926212975917698293892367015170992091531567814439791248475706237804600009918293321306880570046591458387208088016887445835557926258465124763087148566313528934166117490617526671492672176128330845273936469244582892571388877839056300482483799839692029222215486145902373478222682521639957440801727144146179559226175083889020074169926238300282286249284182671243405751424188569994272331606998712986882771820617214453142574944015066139463169197629181506579745526236191224848063890033669074365989226349564114665503062965960199720636202603521917776740668777463549375318899587866282125469797102065747232721372918144666659421872003474508942830911535189271114287108376159222380276605327823351661555149369375778466670145717971901227117812780450240026384758788339396817962950690798817121690686929538248529830023476068454114178139110648560236549754227497231007615131870024053910510913817843721791422528587432098524957878034683703337818421444017138688124249984418618129271198533315382567321870421530631197748535214670955334626336610864667332292409879849256691109516143618601548909740241913509623043612196128165950518666022030715613684732364660868905014263913906515063908199378852318365059897299125404479443425166774299659811849233151555272883274028352688442408752811283289980625912673699546247341543333500147231430612750390307397135252069338173843322950701049061867539433130784798015655130384758155685236218010419650255596181934986315913233036096461905990236112681196023441843363334594927631946101716652913823717182394299216272538461776065694542297877071383198817036964588689811863210976900355735884624464835706291453052757101278872027965364479724025405448132748391794128826423835171949197209797145936887537198729130831738033911016128547415377377715951728084111627597186384924222802373441925469991983672192131287035585307966942713416391033882754318613643490100943197409047331014476299861725424423355612237435715825933382804986243892498222780715951762757847109475119033482241412025182688713728193104253478196128440176479531505057110722974314569915223451643121848657575786528197564843508958384722923534559464521215831657751471298708225909292655638836651120681943836904116252668710044560243704200663709001941185557160472044643696932850060046928140507119069261393993902735534545567470314903886022024639948260501762431969305640666366626090207048887438898907498152865444381862917382901051820869936382661868303915273264581286782806601337500096593364625146091723180312930347877421234679118454791311109897794648216922505629399956793483801699157439700537542134485874586856047286751065423341893839099110586465595113646061055156838541217459801807133163612573079611168343863767667307354583494789788316330129240800836356825939157113130978030516441716682518346573675934198084958947940983292500086389778563494693212473426103062713745077286156922596628573857905533240641849018451328284632709269753830867308409142247659474439973348130810986399417379789657010687026734161967196591599588537834822988270125605842365589539690306474965584147981310997157542043256395776070485100881578291408250777738559790129129407309462785944505859412273194812753225152324801503466519048228961406646890305102510916237770448486230229488966711380555607956620732449373374027836767300203011615227008921843515652121379215748206859356920790214502277133099987729459596952817044582181956080965811702798062669891205061560742325686842271306295009864421853470810407128917646906550836129916694778023822502789667843489199409657361704586786242554006942516693979292624714524945408858422726153755260071904336329196375777502176005195800693847635789586878489536872122898557806826518192703632099480155874455575175312736471421295536494084385586615208012115079075068553344489258693283859653013272046970694571546959353658571788894862333292465202735853188533370948455403336565356988172582528918056635488363743793348411845580168331827676834646291995605513470039147876808640322629616641560667508153710646723108461964247537490553744805318226002710216400980584497526023035640038083472053149941172965736785066421400842696497103241919182121213206939769143923368374709228267738708132236680086924703491586840991153098315412063566123187504305467536983230827966457417620806593177265685841681837966106144963432544111706941700222657817358351259821080769101961052229263879745049019254311900620561906577452416191913187533984049343976823310298465893318373015809592522829206820862230332585280119266496314441316442773003237792274712330696417149945532261035475145631290668854345426869788447742981777493710117614651624183616680254815296335308490849943006763654806102940094693750609845588558043970485914449584445079978497045583550685408745163316464118083123079704389849190506587586425810738422420591191941674182490452700288263983057950057341711487031187142834184499153456702915280104485145176055306971441761368582384102787659324662689978418319620312262421177391477208004883578333569204533935953254564897028558589735505751235129536540502842081022785248776603574246366673148680279486052445782673626230852978265057114624846595914210278122788941448163994973881884622768244851622051817076722169863265701654316919742651230041757329904473537672536845792754365412826553581858046840069367718605020070547247548400805530424951854495267247261347318174742180078574693465447136036975884118029408039616746946288540679172138601225419503819704538417268006398820656328792839582708510919958839448297775647152026132871089526163417707151642899487953564854553553148754978134009964854498635824847690590033116961303766127923464323129706628411307427046202032013368350385425360313636763575212604707425311209233402837482949453104727418969287275572027615272268283376741393425652653283068469997597097750005560889932685025049212884068274139881631540456490350775871680074055685724021758685439053228133770707415830756269628316955687424060527726485853050611356384851965918968649596335568216975437621430778665934730450164822432964891270709898076676625671517269062058815549666382573829274182082278960684488222983394816670984039024283514306813767253460126007269262969468672750794346190439996618979611928750519442356402644303271737341591281496056168353988188569484045342311424613559925272330064881627466723523751234311893442118885085079358163848994487544756331689213869675574302737953785262542329024881047181939037220666894702204258836895840939998453560948869946833852579675161882159410981624918741813364726965123980677561947912557957446471427868624053750576104204267149366084980238274680575982591331006919941904651906531171908926077949119217946407355129633864523035673345588033313197080365457184791550432654899559705862888286866606618021882248602144999973122164138170653480175510438406624412822803616648904257377640956326482825258407669045608439490325290526337532316509087681336614242398309530806549661879381949120033919489494065132398816642080088395554942237096734840072642705701165089075196155370186264797456381187856175457113400473810762763014953309735174180655479112660938034311378532532883533352024934365979129341284854970946826329075830193072665337782559314331110963848053940859283988907796210479847919686876539987477095912788727475874439806779824968278272200926449944559380414608770641941810440758269805688038949654616587983904660587645341810289907194293021774519976104495043196841503455514044820928933378657363052830619990077748726922998608279053171691876578860908941817057993404890218441559791092676862796597583952483926734883634745651687016166240642424241228961118010615682342539392180052483454723779219911228595914191877491793823340010078128326506710281781396029120914720100947878752551263372884222353869490067927664511634758101193875319657242121476038284774774571704578610417385747911301908583877890152334343013005282797038580359815182929600305682612091950943737325454171056383887047528950563961029843641360935641632589408137981511693338619797339821670761004607980096016024823096943043806956620123213650140549586250615282588033022908385812478469315720323233601899469437647726721879376826431828382603564520699468630216048874528424363593558622333506235945002890558581611275341783750455936126130852640828051213873177490200249552738734585956405160830583053770732533971552620444705429573538361113677523169972740292941674204423248113875075631319078272188864053374694213842169928862940479635305150560788126366206497231257579019598873041195626227343728900516561111094111745277965482790471250581999077498063821559376885546498822938985408291325129076478386322494781016753491693489288104203015610283386143827378160946341335383578340765314321417150655877547820252454780657301342277470616744241968952613164274104695474621483756288299771804186785084546965619150908695874251184435837306590951460980451247409411373899927822492983367796011015387096129749705566301637307202750734759922943792393824427421186158236161317886392553095117188421298508307238259729144142251579403883011359083331651858234967221259621812507058113759495525022747274674369887131926670769299199084467161228738858457584622726573330753735572823951616964175198675012681745429323738294143824814377139861906716657572945807804820559511881687188075212971832636442155336787751274766940790117057509819575084563565217389544179875074523854455200133572033332379895074393905312918212255259833790909463630202185353848854825062897715616963860712382771725621313460549401770413581731931763370136332252819127547191443450920711848838366818174263342949611870091503049165339464763717766439120798347494627397822171502090670190302469762151278521956142070806461631373236517853976292092025500288962012970141379640038055734949269073535145961208674796547733692958773628635660143767964038430796864138563447801328261284589184898528048048844180821639423974014362903481665458114454366460032490618763039502356402044530748210241366895196644221339200757479128683805175150634662569391937740283512075666260829890491877287833852178522792045771846965855278790447562192663992008409302075673925363735628390829817577902153202106409617373283598494066652141198183810884515459772895164572131897797907491941013148368544639616904607030107596818933741217575988165127000761262789169510406315857637534787420070222051070891257612361658026806815858499852631465878086616800733264676830206391697203064894405628195406190685242003053463156621891327309069687353181641094514288036605995220248248886711554429104721929134248346438705368508648749099178812670565665387191049721820042371492740164460943459845392536706132210616533085662021188968234005752675486101476993688738209584552211571923479686888160853631615862880150395949418529489227074410828207169303387818084936204018255222271010985653444817207470756019245915599431072949578197878590578940052540122867517142511184356437184053563024181225473266093302710397968091064939272722683035410467632591355279683837705019855234621222858410557119921731717969804339317707750755627056047831779844447637560254637033369247114220815519973691371975163241302748712199863404548248524570118553342675264715978310731245663429805221455494156252724028915333354349341217862037007260315279870771872491234494477147909520734761385425485311552773301030342476835865496093722324007154518129732692081058424090557725645803681462234493189708138897143299831347617799679712453782310703739151473878692119187566700319321281896803322696594459286210607438827416919465162267632540665070881071030394178860564893769816734159025925194611823642945652669372203155504700213598846292758012527715422016629954863130324912311029627923723899766416803497141226527931907636326136814145516376656559839788489381733082668779901962886932296597379951931621187215455287394170243669885593888793316744533363119541518404088283815193421234122820030950313341050704760159987985472529190665222479319715440331794836837373220821885773341623856441380700541913530245943913502554531886454796252260251762928374330465102361057583514550739443339610216229675461415781127197001738611494279501411253280621254775810512972088465263158094806633687670147310733540717710876615935856814098212967730759197382973441445256688770855324570888958320993823432102718224114763732791357568615421252849657903335093152776925505845644010552192644505312073756287744998163646332835816140330175813967359427327690448920361880386754955751806890058532927201493923500525845146706982628548257883267398735220457228239290207144822219885587102896991935873074277815159757620764023951243860202032596596250212578349957710085626386118233813318509014686577064010676278617583772772895892746039403930337271873850536912957126715066896688493880885142943609962012966759079225082275313812849851526902931700263136328942095797577959327635531162066753488651317323872438748063513314512644889967589828812925480076425186586490241111127301357197181381602583178506932244007998656635371544088454866393181708395735780799059730839094881804060935959190907473960904410150516321749681412100765719177483767355751000733616922386537429079457803200042337452807566153042929014495780629634138383551783599764708851349004856973697965238695845994595592090709058956891451141412684505462117945026611750166928260250950770778211950432617383223562437601776799362796099368975191394965033358507155418436456852616674243688920371037495328425927131610537834980740739158633817967658425258036737206469351248652238481341663808061505704829059890696451936440018597120425723007316410009916987524260377362177763430621616744884930810929901009517974541564251204822086714586849255132444266777127863728211331536224301091824391243380214046242223349153559516890816288487989988273630445372432174280215755777967021666317047969728172483392841015642274507271779269399929740308072770395013581545142494049026536105825409373114653104943382484379718606937214444600826798002471229489405761853892203425608302697052876621377373594394224114707074072902725461307358541745691419446487624357682397065703184168467540733466346293673983620004041400714054277632480132742202685393698869787607009590048684650626771363070979821006557285101306601010780633743344773073478653881742681230743766066643312775356466578603715192922768440458273283243808212841218776132042460464900801054731426749260826922155637405486241717031027919996942645620955619816454547662045022411449404749349832206807191352767986747813458203859570413466177937228534940031631599544093684089572533438702986717829770373332806801764639502090023941931499115009105276821119510999063166150311585582835582607179410052528583611369961303442790173811787412061288182062023263849861515656451230047792967563618345768105043341769543067538041113928553792529241347339481050532025708728186307291158911335942014761872664291564036371927602306283840650425441742335464549987055318726887926424102147363698625463747159744354943443899730051742525110877357886390946812096673428152585919924857640488055071329814299359911463239919113959926752576359007446572810191805841807342227734721397723218231771716916400108826112549093361186780575722391018186168549108500885272274374212086524852372456248697662245384819298671129452945515497030585919307198497105414181636968976131126744027009648667545934567059936995464500558921628047976365686133316563907395703272034389175415267500915011198856872708848195531676931681272892143031376818016445477367518353497857924276463354162433601125960252109501612264110346083465648235597934274056868849224458745493776752120324703803035491157544831295275891939893680876327685438769557694881422844311998595700727521393176837831770339130423060958999137314684569010422095161967070506420256733873446115655276175992727151877660010238944760539789516945708802728736225121076224091810066700883474737605156285533943565843756271241244457651663064085939507947550920463932245202535463634444791755661725962187199279186575490857852950012840229035061514937310107009446151011613712423761426722541732055959202782129325725947146417224977321316381845326555279604270541871496236585252458648933254145062642337885651464670604298564781968461593663288954299780722542264790400616019751975007460545150060291806638271497016110987951336633771378434416194053121445291855180136575558667615019373029691932076120009255065081583275508499340768797252369987023567931026804136745718956641431852679054717169962990363015545645090044802789055701968328313630718997699153166679208958768572290600915472919636381673596673959975710326015571920237348580521128117458610065152598883843114511894880552129145775699146577530041384717124577965048175856395072895337539755822087777506072339445587895905719156733]).
19
+ answer(1, ['X0' = [5, 0], 'X1' = 65533]).
@@ -1,2 +1,11 @@
1
- ageAbove(patH, 'P80Y').
2
- holds_result(test, true).
1
+ % Prolog result format 4
2
+ query(1, birthDay(_0, _1), ['X0' = _0, 'X1' = _1]).
3
+ result(1, complete, 0).
4
+ query(2, duration(_0, _1), ['X0' = _0, 'X1' = _1]).
5
+ result(2, complete, 0).
6
+ query(3, ageAbove(_0, _1), ['X0' = _0, 'X1' = _1]).
7
+ result(3, complete, 1).
8
+ answer(3, ['X0' = patH, 'X1' = 'P80Y']).
9
+ query(4, holds_result(_0, _1), ['X0' = _0, 'X1' = _1]).
10
+ result(4, complete, 1).
11
+ answer(4, ['X0' = test, 'X1' = true]).
@@ -1,5 +1,14 @@
1
- value(nativeMath, 1.0).
2
- ok(nativeCompare, true).
3
- ok(nativeString, true).
4
- tail(nativeList, "bc").
5
- label(vocabularyExample, "vocabulary names are ordinary predicate names").
1
+ % Prolog result format 4
2
+ query(1, value(_0, _1), ['X0' = _0, 'X1' = _1]).
3
+ result(1, complete, 1).
4
+ answer(1, ['X0' = nativeMath, 'X1' = 1.0]).
5
+ query(2, ok(_0, _1), ['X0' = _0, 'X1' = _1]).
6
+ result(2, complete, 2).
7
+ answer(2, ['X0' = nativeCompare, 'X1' = true]).
8
+ answer(2, ['X0' = nativeString, 'X1' = true]).
9
+ query(3, tail(_0, _1), ['X0' = _0, 'X1' = _1]).
10
+ result(3, complete, 1).
11
+ answer(3, ['X0' = nativeList, 'X1' = "bc"]).
12
+ query(4, label(_0, _1), ['X0' = _0, 'X1' = _1]).
13
+ result(4, complete, 1).
14
+ answer(4, ['X0' = vocabularyExample, 'X1' = "vocabulary names are ordinary predicate names"]).
@@ -1,32 +1,45 @@
1
- broader(tel_car, ref_car).
2
- broader(tel_heavy_vehicle, ref_car).
3
- broader(anpr_vehicle_with_plate, ref_car).
4
- broader(anpr_passenger_car, anpr_vehicle_with_plate).
5
- narrower(ref_car, tel_car).
6
- narrower(ref_car, tel_heavy_vehicle).
7
- narrower(ref_car, anpr_vehicle_with_plate).
8
- narrower(anpr_vehicle_with_plate, anpr_passenger_car).
9
- broaderTransitive(tel_car, ref_car).
10
- broaderTransitive(tel_heavy_vehicle, ref_car).
11
- broaderTransitive(anpr_vehicle_with_plate, ref_car).
12
- broaderTransitive(anpr_passenger_car, anpr_vehicle_with_plate).
13
- broaderTransitive(anpr_passenger_car, ref_car).
14
- narrowerTransitive(ref_car, tel_car).
15
- narrowerTransitive(ref_car, tel_heavy_vehicle).
16
- narrowerTransitive(ref_car, anpr_vehicle_with_plate).
17
- narrowerTransitive(anpr_vehicle_with_plate, anpr_passenger_car).
18
- narrowerTransitive(ref_car, anpr_passenger_car).
19
- narrowerOrEqualOf(ref_car, ref_car).
20
- narrowerOrEqualOf(tel_car, tel_car).
21
- narrowerOrEqualOf(tel_heavy_vehicle, tel_heavy_vehicle).
22
- narrowerOrEqualOf(anpr_vehicle_with_plate, anpr_vehicle_with_plate).
23
- narrowerOrEqualOf(anpr_passenger_car, anpr_passenger_car).
24
- narrowerOrEqualOf(tel_car, ref_car).
25
- narrowerOrEqualOf(tel_heavy_vehicle, ref_car).
26
- narrowerOrEqualOf(anpr_vehicle_with_plate, ref_car).
27
- narrowerOrEqualOf(anpr_passenger_car, anpr_vehicle_with_plate).
28
- narrowerOrEqualOf(anpr_passenger_car, ref_car).
29
- rollsUpTo(tel_car, ref_car).
30
- rollsUpTo(tel_heavy_vehicle, ref_car).
31
- rollsUpTo(anpr_vehicle_with_plate, ref_car).
32
- rollsUpTo(anpr_passenger_car, ref_car).
1
+ % Prolog result format 4
2
+ query(1, broader(_0, _1), ['X0' = _0, 'X1' = _1]).
3
+ result(1, complete, 4).
4
+ answer(1, ['X0' = tel_car, 'X1' = ref_car]).
5
+ answer(1, ['X0' = tel_heavy_vehicle, 'X1' = ref_car]).
6
+ answer(1, ['X0' = anpr_vehicle_with_plate, 'X1' = ref_car]).
7
+ answer(1, ['X0' = anpr_passenger_car, 'X1' = anpr_vehicle_with_plate]).
8
+ query(2, narrower(_0, _1), ['X0' = _0, 'X1' = _1]).
9
+ result(2, complete, 4).
10
+ answer(2, ['X0' = ref_car, 'X1' = tel_car]).
11
+ answer(2, ['X0' = ref_car, 'X1' = tel_heavy_vehicle]).
12
+ answer(2, ['X0' = ref_car, 'X1' = anpr_vehicle_with_plate]).
13
+ answer(2, ['X0' = anpr_vehicle_with_plate, 'X1' = anpr_passenger_car]).
14
+ query(3, broaderTransitive(_0, _1), ['X0' = _0, 'X1' = _1]).
15
+ result(3, complete, 5).
16
+ answer(3, ['X0' = tel_car, 'X1' = ref_car]).
17
+ answer(3, ['X0' = tel_heavy_vehicle, 'X1' = ref_car]).
18
+ answer(3, ['X0' = anpr_vehicle_with_plate, 'X1' = ref_car]).
19
+ answer(3, ['X0' = anpr_passenger_car, 'X1' = anpr_vehicle_with_plate]).
20
+ answer(3, ['X0' = anpr_passenger_car, 'X1' = ref_car]).
21
+ query(4, narrowerTransitive(_0, _1), ['X0' = _0, 'X1' = _1]).
22
+ result(4, complete, 5).
23
+ answer(4, ['X0' = ref_car, 'X1' = tel_car]).
24
+ answer(4, ['X0' = ref_car, 'X1' = tel_heavy_vehicle]).
25
+ answer(4, ['X0' = ref_car, 'X1' = anpr_vehicle_with_plate]).
26
+ answer(4, ['X0' = anpr_vehicle_with_plate, 'X1' = anpr_passenger_car]).
27
+ answer(4, ['X0' = ref_car, 'X1' = anpr_passenger_car]).
28
+ query(5, narrowerOrEqualOf(_0, _1), ['X0' = _0, 'X1' = _1]).
29
+ result(5, complete, 10).
30
+ answer(5, ['X0' = ref_car, 'X1' = ref_car]).
31
+ answer(5, ['X0' = tel_car, 'X1' = tel_car]).
32
+ answer(5, ['X0' = tel_heavy_vehicle, 'X1' = tel_heavy_vehicle]).
33
+ answer(5, ['X0' = anpr_vehicle_with_plate, 'X1' = anpr_vehicle_with_plate]).
34
+ answer(5, ['X0' = anpr_passenger_car, 'X1' = anpr_passenger_car]).
35
+ answer(5, ['X0' = tel_car, 'X1' = ref_car]).
36
+ answer(5, ['X0' = tel_heavy_vehicle, 'X1' = ref_car]).
37
+ answer(5, ['X0' = anpr_vehicle_with_plate, 'X1' = ref_car]).
38
+ answer(5, ['X0' = anpr_passenger_car, 'X1' = anpr_vehicle_with_plate]).
39
+ answer(5, ['X0' = anpr_passenger_car, 'X1' = ref_car]).
40
+ query(6, rollsUpTo(_0, _1), ['X0' = _0, 'X1' = _1]).
41
+ result(6, complete, 4).
42
+ answer(6, ['X0' = tel_car, 'X1' = ref_car]).
43
+ answer(6, ['X0' = tel_heavy_vehicle, 'X1' = ref_car]).
44
+ answer(6, ['X0' = anpr_vehicle_with_plate, 'X1' = ref_car]).
45
+ answer(6, ['X0' = anpr_passenger_car, 'X1' = ref_car]).