eyelang 1.7.16 → 2.0.0

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 (1830) hide show
  1. package/README.md +5 -5
  2. package/docs/guide.md +231 -231
  3. package/docs/language-reference.md +130 -132
  4. package/examples/abstract-interpretation.pl +50 -0
  5. package/examples/access-control-policy.pl +52 -0
  6. package/examples/ackermann.pl +47 -0
  7. package/examples/age.pl +26 -0
  8. package/examples/aliases-and-namespaces.pl +20 -0
  9. package/examples/alignment-demo.pl +44 -0
  10. package/examples/allen-interval-calculus.pl +64 -0
  11. package/examples/ancestor.pl +22 -0
  12. package/examples/animal.pl +21 -0
  13. package/examples/annotation.pl +34 -0
  14. package/examples/auroracare.pl +309 -0
  15. package/examples/backward.pl +11 -0
  16. package/examples/basic-monadic.pl +10032 -0
  17. package/examples/bayes-diagnosis.pl +108 -0
  18. package/examples/bayes-therapy.pl +189 -0
  19. package/examples/beam-deflection.pl +48 -0
  20. package/examples/binomial-vandermonde.pl +49 -0
  21. package/examples/blocks-world-planning.pl +77 -0
  22. package/examples/bmi.pl +232 -0
  23. package/examples/braking-safety-worlds.pl +69 -0
  24. package/examples/buck-converter-design.pl +83 -0
  25. package/examples/cache-performance.pl +56 -0
  26. package/examples/canary-release.pl +51 -0
  27. package/examples/cat-koko.pl +24 -0
  28. package/examples/catalan-convolution.pl +37 -0
  29. package/examples/cdcl-sat-solver.pl +65 -0
  30. package/examples/chart-parser.pl +65 -0
  31. package/examples/clinical-trial-screening.pl +97 -0
  32. package/examples/collatz-1000.pl +45 -0
  33. package/examples/combinatorics-findall-sort.pl +38 -0
  34. package/examples/competitive-enzyme-kinetics.pl +78 -0
  35. package/examples/complex.pl +133 -0
  36. package/examples/composition-of-injective-functions-is-injective.pl +50 -0
  37. package/examples/context-association.pl +53 -0
  38. package/examples/context-schema-audit.pl +46 -0
  39. package/examples/continued-fraction-sqrt2.pl +36 -0
  40. package/examples/control-system.pl +76 -0
  41. package/examples/critical-path-schedule.pl +82 -0
  42. package/examples/cyclic-path.pl +18 -0
  43. package/examples/d3-group.pl +99 -0
  44. package/examples/dairy-energy-balance.pl +66 -0
  45. package/examples/data-negotiation.pl +38 -0
  46. package/examples/deep-taxonomy-10.pl +106 -0
  47. package/examples/deep-taxonomy-100.pl +376 -0
  48. package/examples/deep-taxonomy-1000.pl +3076 -0
  49. package/examples/deep-taxonomy-10000.pl +30076 -0
  50. package/examples/deep-taxonomy-100000.pl +300076 -0
  51. package/examples/delfour.pl +281 -0
  52. package/examples/deontic-logic.pl +52 -0
  53. package/examples/derived-backward-rule.pl +30 -0
  54. package/examples/derived-rule.pl +27 -0
  55. package/examples/diamond-property.pl +38 -0
  56. package/examples/dijkstra-findall-sort.pl +43 -0
  57. package/examples/dijkstra-risk-path.pl +87 -0
  58. package/examples/dijkstra.pl +50 -0
  59. package/examples/dining-philosophers.pl +147 -0
  60. package/examples/dog.pl +25 -0
  61. package/examples/dpv-odrl-purpose-mapping.pl +48 -0
  62. package/examples/drone-corridor-planner.pl +48 -0
  63. package/examples/easter-computus.pl +88 -0
  64. package/examples/electrical-rc-filter.pl +37 -0
  65. package/examples/epidemic-policy.pl +66 -0
  66. package/examples/equality-saturation.pl +84 -0
  67. package/examples/equivalence-classes-overlap-implies-same-class.pl +27 -0
  68. package/examples/eulerian-path.pl +87 -0
  69. package/examples/ev-range-worlds.pl +87 -0
  70. package/examples/existential-rule.pl +14 -0
  71. package/examples/exoplanet-validation-worlds.pl +94 -0
  72. package/examples/expression-eval.pl +45 -0
  73. package/examples/family-cousins.pl +67 -0
  74. package/examples/fastpow.pl +61 -0
  75. package/examples/fft8-numeric.pl +85 -0
  76. package/examples/fibonacci.pl +60 -0
  77. package/examples/field-nitrogen-balance.pl +73 -0
  78. package/examples/flandor.pl +296 -0
  79. package/examples/floating-point.pl +28 -0
  80. package/examples/four-color-map.pl +133 -0
  81. package/examples/fundamental-theorem-arithmetic.pl +119 -0
  82. package/examples/gd-step-certified.pl +162 -0
  83. package/examples/gdpr-compliance.pl +69 -0
  84. package/examples/good-cobbler.pl +16 -0
  85. package/examples/gps.pl +146 -0
  86. package/examples/graph-reachability.pl +33 -0
  87. package/examples/graph.pl +35 -0
  88. package/examples/gray-code-counter.pl +47 -0
  89. package/examples/greatest-lower-bound-uniqueness.pl +30 -0
  90. package/examples/group-inverse-uniqueness.pl +36 -0
  91. package/examples/hamiltonian-path.pl +51 -0
  92. package/examples/hamming-code.pl +109 -0
  93. package/examples/hanoi.pl +19 -0
  94. package/examples/heat-loss.pl +56 -0
  95. package/examples/herbrand-witnesses.pl +31 -0
  96. package/examples/heron-theorem.pl +42 -0
  97. package/examples/ideal-gas-law.pl +39 -0
  98. package/examples/illegitimate-reasoning.pl +88 -0
  99. package/examples/integer-partitions.pl +35 -0
  100. package/examples/intuitionistic-logic-kripke.pl +69 -0
  101. package/examples/job-shop-scheduling.pl +48 -0
  102. package/examples/knapsack-optimization.pl +46 -0
  103. package/examples/knowledge-engineering-alignment-flow.pl +46 -0
  104. package/examples/knuth-bendix-completion.pl +55 -0
  105. package/examples/language.pl +25 -0
  106. package/examples/law-of-cosines.pl +37 -0
  107. package/examples/least-squares-regression.pl +85 -0
  108. package/examples/linear-logic-resources.pl +51 -0
  109. package/examples/list-collection.pl +35 -0
  110. package/examples/lldm.pl +80 -0
  111. package/examples/manufacturing-quality-control.pl +73 -0
  112. package/examples/map-four-color-search.pl +65 -0
  113. package/examples/markov-logic-network.pl +87 -0
  114. package/examples/matrix-chain-order.pl +79 -0
  115. package/examples/matrix-noncommutativity.pl +43 -0
  116. package/examples/microgrid-dispatch.pl +89 -0
  117. package/examples/missionaries-cannibals.pl +53 -0
  118. package/examples/modal-logic-kripke.pl +45 -0
  119. package/examples/modular-exponentiation.pl +35 -0
  120. package/examples/monkey-bananas.pl +45 -0
  121. package/examples/n-queens-8.pl +35 -0
  122. package/examples/network-sla.pl +48 -0
  123. package/examples/newton-raphson.pl +48 -0
  124. package/examples/nixon-diamond.pl +37 -0
  125. package/examples/observability-log-correlation.pl +40 -0
  126. package/examples/odrl-dpv-fpv-trust-flow.pl +51 -0
  127. package/examples/odrl-dpv-healthcare-risk-ranked.pl +270 -0
  128. package/examples/odrl-dpv-risk-ranked.pl +320 -0
  129. package/examples/orbital-transfer-design.pl +116 -0
  130. package/examples/output/deep-taxonomy-10.pl +16 -0
  131. package/examples/output/deep-taxonomy-100.pl +16 -0
  132. package/examples/output/deep-taxonomy-1000.pl +16 -0
  133. package/examples/output/deep-taxonomy-10000.pl +16 -0
  134. package/examples/output/deep-taxonomy-100000.pl +16 -0
  135. package/examples/output/language.pl +6 -0
  136. package/examples/output/web-names.pl +3 -0
  137. package/examples/partial-evaluator.pl +74 -0
  138. package/examples/path-discovery.pl +45013 -0
  139. package/examples/peano-arithmetic.pl +33 -0
  140. package/examples/peano-calculus.pl +40 -0
  141. package/examples/peasant.pl +29 -0
  142. package/examples/pell-equation.pl +34 -0
  143. package/examples/pendulum-period.pl +50 -0
  144. package/examples/pointer-analysis.pl +50 -0
  145. package/examples/polynomial.pl +124 -0
  146. package/examples/prime-range.pl +45 -0
  147. package/examples/proof/access-control-policy.pl +158 -0
  148. package/examples/proof/age.pl +71 -0
  149. package/examples/proof/aliases-and-namespaces.pl +78 -0
  150. package/examples/proof/ancestor.pl +140 -0
  151. package/examples/proof/animal.pl +68 -0
  152. package/examples/proof/annotation.pl +80 -0
  153. package/examples/proof/backward.pl +22 -0
  154. package/examples/proof/bayes-diagnosis.pl +208 -0
  155. package/examples/proof/beam-deflection.pl +227 -0
  156. package/examples/proof/cache-performance.pl +310 -0
  157. package/examples/proof/canary-release.pl +172 -0
  158. package/examples/proof/cat-koko.pl +86 -0
  159. package/examples/proof/chart-parser.pl +474 -0
  160. package/examples/proof/clinical-trial-screening.pl +389 -0
  161. package/examples/proof/composition-of-injective-functions-is-injective.pl +258 -0
  162. package/examples/proof/context-association.pl +78 -0
  163. package/examples/proof/data-negotiation.pl +76 -0
  164. package/examples/proof/deontic-logic.pl +109 -0
  165. package/examples/proof/derived-backward-rule.pl +74 -0
  166. package/examples/proof/derived-rule.pl +43 -0
  167. package/examples/proof/diamond-property.pl +307 -0
  168. package/examples/proof/dog.pl +31 -0
  169. package/examples/proof/dpv-odrl-purpose-mapping.pl +348 -0
  170. package/examples/proof/electrical-rc-filter.pl +105 -0
  171. package/examples/proof/epidemic-policy.pl +774 -0
  172. package/examples/proof/equivalence-classes-overlap-implies-same-class.pl +1098 -0
  173. package/examples/proof/existential-rule.pl +32 -0
  174. package/examples/proof/expression-eval.pl +105 -0
  175. package/examples/proof/floating-point.pl +160 -0
  176. package/examples/proof/gdpr-compliance.pl +199 -0
  177. package/examples/proof/good-cobbler.pl +16 -0
  178. package/examples/proof/graph-reachability.pl +151 -0
  179. package/examples/proof/greatest-lower-bound-uniqueness.pl +150 -0
  180. package/examples/proof/group-inverse-uniqueness.pl +84 -0
  181. package/examples/proof/hanoi.pl +185 -0
  182. package/examples/proof/heat-loss.pl +228 -0
  183. package/examples/proof/ideal-gas-law.pl +151 -0
  184. package/examples/proof/intuitionistic-logic-kripke.pl +133 -0
  185. package/examples/proof/linear-logic-resources.pl +205 -0
  186. package/examples/proof/list-collection.pl +52 -0
  187. package/examples/proof/modal-logic-kripke.pl +125 -0
  188. package/examples/proof/nixon-diamond.pl +181 -0
  189. package/examples/proof/proof-contrapositive.pl +78 -0
  190. package/examples/proof/reusable-builtins.pl +124 -0
  191. package/examples/proof/security-incident-correlation.pl +270 -0
  192. package/examples/proof/socket-age.pl +32 -0
  193. package/examples/proof/socket-family.pl +59 -0
  194. package/examples/proof/socrates.pl +38 -0
  195. package/examples/proof/term-tools.pl +95 -0
  196. package/examples/proof/witch.pl +216 -0
  197. package/examples/proof-contrapositive.pl +27 -0
  198. package/examples/quadratic-formula.pl +56 -0
  199. package/examples/radioactive-decay.pl +58 -0
  200. package/examples/register-allocation.pl +77 -0
  201. package/examples/reusable-builtins.pl +36 -0
  202. package/examples/riemann-hypothesis.pl +110 -0
  203. package/examples/route-planning.pl +33 -0
  204. package/examples/sat-solver-dpll.pl +88 -0
  205. package/examples/security-incident-correlation.pl +69 -0
  206. package/examples/send-more-money.pl +71 -0
  207. package/examples/service-impact.pl +41 -0
  208. package/examples/shoelace-polygon-area.pl +22 -0
  209. package/examples/sieve.pl +20 -0
  210. package/examples/skolem-functions.pl +52 -0
  211. package/examples/socket-age.pl +39 -0
  212. package/examples/socket-family.pl +28 -0
  213. package/examples/socrates.pl +19 -0
  214. package/examples/stable-marriage.pl +92 -0
  215. package/examples/statistics-summary.pl +56 -0
  216. package/examples/stirling-bell-numbers.pl +69 -0
  217. package/examples/sudoku-4x4.pl +54 -0
  218. package/examples/superdense-coding.pl +84 -0
  219. package/examples/symbolic-derivative.pl +39 -0
  220. package/examples/term-tools.pl +32 -0
  221. package/examples/totient-summatory.pl +33 -0
  222. package/examples/trust-flow-provenance-threshold.pl +47 -0
  223. package/examples/truth-maintenance-system.pl +62 -0
  224. package/examples/turing.pl +69 -0
  225. package/examples/type-inference.pl +58 -0
  226. package/examples/vector-similarity.pl +60 -0
  227. package/examples/vulnerability-impact.pl +69 -0
  228. package/examples/web-names.pl +39 -0
  229. package/examples/weighted-interval-scheduling.pl +81 -0
  230. package/examples/witch.pl +38 -0
  231. package/examples/wolf-goat-cabbage.pl +56 -0
  232. package/examples/workplace-compliance.pl +41 -0
  233. package/examples/zebra.pl +45 -0
  234. package/package.json +1 -1
  235. package/playground.html +9 -12
  236. package/src/builtins/control.js +11 -2
  237. package/src/cli.js +5 -7
  238. package/src/parser.js +7 -38
  239. package/src/solver.js +89 -1
  240. package/src/term.js +18 -10
  241. package/test/conformance/README.md +7 -7
  242. package/test/conformance/cases/aggregation/044_findall_user_goal.pl +6 -0
  243. package/test/conformance/cases/aggregation/044_findall_user_goal.query +1 -1
  244. package/test/conformance/cases/aggregation/057_countall_empty_and_nonempty.pl +4 -0
  245. package/test/conformance/cases/aggregation/057_countall_empty_and_nonempty.query +1 -1
  246. package/test/conformance/cases/aggregation/058_sumall_numeric_template.pl +5 -0
  247. package/test/conformance/cases/aggregation/058_sumall_numeric_template.query +1 -1
  248. package/test/conformance/cases/aggregation/059_aggregate_min_template.pl +5 -0
  249. package/test/conformance/cases/aggregation/059_aggregate_min_template.query +1 -1
  250. package/test/conformance/cases/aggregation/060_aggregate_max_compound_key.pl +5 -0
  251. package/test/conformance/cases/aggregation/060_aggregate_max_compound_key.query +1 -1
  252. package/test/conformance/cases/aggregation/075_aggregation_edges.pl +12 -0
  253. package/test/conformance/cases/aggregation/098_aggregation_nested_templates.pl +11 -0
  254. package/test/conformance/cases/aggregation/aggregate_max_no_answers_fails.pl +2 -0
  255. package/test/conformance/cases/aggregation/aggregate_min_structured_key.pl +5 -0
  256. package/test/conformance/cases/aggregation/countall_zero.pl +2 -0
  257. package/test/conformance/cases/aggregation/extra_aggregate_max_iri_key.pl +4 -0
  258. package/test/conformance/cases/aggregation/extra_aggregate_min_tie_first.pl +5 -0
  259. package/test/conformance/cases/aggregation/extra_countall_with_filter.pl +5 -0
  260. package/test/conformance/cases/aggregation/extra_findall_repeated_template.pl +4 -0
  261. package/test/conformance/cases/aggregation/extra_sumall_float_template.pl +4 -0
  262. package/test/conformance/cases/aggregation/findall_empty_bag.pl +2 -0
  263. package/test/conformance/cases/aggregation/sumall_empty_zero.pl +2 -0
  264. package/test/conformance/cases/arithmetic/024_numeric_literal_readback.pl +6 -0
  265. package/test/conformance/cases/arithmetic/029_arithmetic_and_comparison.pl +11 -0
  266. package/test/conformance/cases/arithmetic/029_arithmetic_and_comparison.query +1 -1
  267. package/test/conformance/cases/arithmetic/039_numeric_functions.pl +9 -0
  268. package/test/conformance/cases/arithmetic/039_numeric_functions.query +1 -1
  269. package/test/conformance/cases/arithmetic/040_between_enumeration.pl +3 -0
  270. package/test/conformance/cases/arithmetic/040_between_enumeration.query +1 -1
  271. package/test/conformance/cases/arithmetic/041_smallest_divisor.pl +3 -0
  272. package/test/conformance/cases/arithmetic/041_smallest_divisor.query +1 -1
  273. package/test/conformance/cases/arithmetic/054_numeric_and_lexical_comparison.query +1 -1
  274. package/test/conformance/cases/arithmetic/061_date_difference.pl +4 -0
  275. package/test/conformance/cases/arithmetic/062_reusable_numeric_builtins.pl +10 -0
  276. package/test/conformance/cases/arithmetic/066_numeric_edges.pl +14 -0
  277. package/test/conformance/cases/arithmetic/079_big_integer_arithmetic.pl +8 -0
  278. package/test/conformance/cases/arithmetic/080_rounding_modes.pl +10 -0
  279. package/test/conformance/cases/arithmetic/081_zero_safe_numeric_functions.pl +9 -0
  280. package/test/conformance/cases/arithmetic/083_between_modes_and_empty_ranges.pl +8 -0
  281. package/test/conformance/cases/arithmetic/between_singleton.pl +2 -0
  282. package/test/conformance/cases/arithmetic/extra_acos_one.pl +2 -0
  283. package/test/conformance/cases/arithmetic/extra_asin_zero.pl +2 -0
  284. package/test/conformance/cases/arithmetic/extra_atan2_axis.pl +2 -0
  285. package/test/conformance/cases/arithmetic/extra_difference_leap_day.pl +2 -0
  286. package/test/conformance/cases/arithmetic/extra_difference_same_day.pl +2 -0
  287. package/test/conformance/cases/arithmetic/extra_div_float_exact.pl +2 -0
  288. package/test/conformance/cases/arithmetic/extra_div_integer_trunc.pl +2 -0
  289. package/test/conformance/cases/arithmetic/extra_division_by_zero_fails.pl +2 -0
  290. package/test/conformance/cases/arithmetic/extra_exp_zero.pl +2 -0
  291. package/test/conformance/cases/arithmetic/extra_log_one.pl +2 -0
  292. package/test/conformance/cases/arithmetic/extra_mod_negative_right.pl +2 -0
  293. package/test/conformance/cases/arithmetic/extra_pow_large_integer.pl +2 -0
  294. package/test/conformance/cases/arithmetic/float_add_and_div.pl +3 -0
  295. package/test/conformance/cases/arithmetic/min_max_mixed.pl +3 -0
  296. package/test/conformance/cases/arithmetic/mod_negative_left.pl +2 -0
  297. package/test/conformance/cases/arithmetic/neg_abs_integer.pl +4 -0
  298. package/test/conformance/cases/arithmetic/pow_negative_exponent_fails.pl +2 -0
  299. package/test/conformance/cases/arithmetic/pow_zero_exponent.pl +2 -0
  300. package/test/conformance/cases/arithmetic/rounding_negative_float.pl +5 -0
  301. package/test/conformance/cases/arithmetic/smallest_divisor_prime.pl +2 -0
  302. package/test/conformance/cases/arithmetic/sqrt_negative_fails.pl +2 -0
  303. package/test/conformance/cases/atoms/008_graphic_atoms.pl +6 -0
  304. package/test/conformance/cases/atoms/008_graphic_atoms.query +1 -1
  305. package/test/conformance/cases/atoms/016_arity_zero_atom.pl +4 -0
  306. package/test/conformance/cases/atoms/018_quoted_atom_readback.pl +6 -0
  307. package/test/conformance/cases/atoms/018_quoted_atom_readback.query +1 -1
  308. package/test/conformance/cases/atoms/103_angle_iri_atoms.pl +7 -0
  309. package/test/conformance/cases/atoms/angle_iri_percent_encoded.pl +2 -0
  310. package/test/conformance/cases/atoms/extra_iri_mailto_plus.pl +2 -0
  311. package/test/conformance/cases/atoms/extra_iri_uuid_scheme.pl +2 -0
  312. package/test/conformance/cases/atoms/graphic_angle_atom_stays_graphic.pl +4 -0
  313. package/test/conformance/cases/atoms/graphic_less_than_atom.pl +4 -0
  314. package/test/conformance/cases/atoms/iri_atoms_in_lists.pl +4 -0
  315. package/test/conformance/cases/atoms/iri_mailto_readback.pl +4 -0
  316. package/test/conformance/cases/atoms/iri_query_fragment_readback.pl +4 -0
  317. package/test/conformance/cases/atoms/iri_quoted_absolute_readback.pl +5 -0
  318. package/test/conformance/cases/atoms/iri_quoted_and_angle_unify.pl +3 -0
  319. package/test/conformance/cases/atoms/iri_urn_readback.pl +4 -0
  320. package/test/conformance/cases/atoms/quoted_urn_iri_readback.pl +4 -0
  321. package/test/conformance/cases/atoms/zero_arity_atom_roundtrip.pl +5 -0
  322. package/test/conformance/cases/builtins/037_matching_and_comparison.query +1 -1
  323. package/test/conformance/cases/builtins/076_composed_reusable_builtins.pl +8 -0
  324. package/test/conformance/cases/builtins/100_reusable_builtin_workflow.pl +10 -0
  325. package/test/conformance/cases/builtins/atom_string_iri_atom.pl +3 -0
  326. package/test/conformance/cases/builtins/eq_unifies_iri_atoms.pl +3 -0
  327. package/test/conformance/cases/builtins/extra_difference_end_before_start_fails.pl +2 -0
  328. package/test/conformance/cases/builtins/extra_difference_invalid_date_fails.pl +2 -0
  329. package/test/conformance/cases/builtins/extra_eq_binds_both_sides.pl +2 -0
  330. package/test/conformance/cases/builtins/extra_neq_different_iri_atoms.pl +2 -0
  331. package/test/conformance/cases/builtins/extra_neq_same_iri_fails.pl +2 -0
  332. package/test/conformance/cases/context/032_holds_parts.pl +4 -0
  333. package/test/conformance/cases/context/051_nested_holds_parts.pl +4 -0
  334. package/test/conformance/cases/context/052_holds_member.pl +3 -0
  335. package/test/conformance/cases/context/094_context_holds_enumeration.pl +7 -0
  336. package/test/conformance/cases/context/extra_holds_atom_parts.pl +2 -0
  337. package/test/conformance/cases/context/extra_holds_ignores_string_parts.pl +2 -0
  338. package/test/conformance/cases/context/extra_holds_list_parts.pl +2 -0
  339. package/test/conformance/cases/context/extra_holds_term_nested_order.pl +2 -0
  340. package/test/conformance/cases/context/holds_parts_from_formula.pl +2 -0
  341. package/test/conformance/cases/control/014_failure_filters_answers.pl +7 -0
  342. package/test/conformance/cases/control/014_failure_filters_answers.query +1 -1
  343. package/test/conformance/cases/control/043_once_user_predicate.pl +5 -0
  344. package/test/conformance/cases/control/043_once_user_predicate.query +1 -1
  345. package/test/conformance/cases/control/074_forall_edges.pl +10 -0
  346. package/test/conformance/cases/control/097_control_negation_once_forall.pl +13 -0
  347. package/test/conformance/cases/control/extra_forall_bound_check.pl +2 -0
  348. package/test/conformance/cases/control/extra_forall_counterexample_fails.pl +2 -0
  349. package/test/conformance/cases/control/extra_not_unbound_existing_goal_fails.pl +3 -0
  350. package/test/conformance/cases/control/extra_not_unbound_unknown_goal_succeeds.pl +2 -0
  351. package/test/conformance/cases/control/extra_once_preserves_binding.pl +2 -0
  352. package/test/conformance/cases/control/forall_detects_counterexample.pl +5 -0
  353. package/test/conformance/cases/control/forall_empty_generator_true.pl +2 -0
  354. package/test/conformance/cases/control/negation_with_bound_generator.pl +5 -0
  355. package/test/conformance/cases/control/once_keeps_first_answer.pl +4 -0
  356. package/test/conformance/cases/declarations/104_mode_determinism_declarations.pl +11 -0
  357. package/test/conformance/cases/declarations/memoize_is_ordinary_fact.pl +4 -0
  358. package/test/conformance/cases/declarations/mode_determinism_are_facts.pl +8 -0
  359. package/test/conformance/cases/declarations/table_is_also_fact.pl +4 -0
  360. package/test/conformance/cases/lists/005_list_deconstruction.pl +6 -0
  361. package/test/conformance/cases/lists/005_list_deconstruction.query +1 -1
  362. package/test/conformance/cases/lists/015_improper_list_unification.pl +6 -0
  363. package/test/conformance/cases/lists/015_improper_list_unification.query +1 -1
  364. package/test/conformance/cases/lists/020_nested_list_terms.pl +5 -0
  365. package/test/conformance/cases/lists/020_nested_list_terms.query +1 -1
  366. package/test/conformance/cases/lists/031_lists_aggregation_ordering.pl +10 -0
  367. package/test/conformance/cases/lists/031_lists_aggregation_ordering.query +1 -1
  368. package/test/conformance/cases/lists/035_list_relations.pl +5 -0
  369. package/test/conformance/cases/lists/035_list_relations.query +1 -1
  370. package/test/conformance/cases/lists/036_append_splits.pl +3 -0
  371. package/test/conformance/cases/lists/036_append_splits.query +1 -1
  372. package/test/conformance/cases/lists/045_sort_deduplicates_atoms.pl +3 -0
  373. package/test/conformance/cases/lists/045_sort_deduplicates_atoms.query +1 -1
  374. package/test/conformance/cases/lists/046_append_bound_prefix_suffix.pl +4 -0
  375. package/test/conformance/cases/lists/046_append_bound_prefix_suffix.query +1 -1
  376. package/test/conformance/cases/lists/047_nth0_index_generation.pl +3 -0
  377. package/test/conformance/cases/lists/047_nth0_index_generation.query +1 -1
  378. package/test/conformance/cases/lists/048_set_nth0_edges.pl +4 -0
  379. package/test/conformance/cases/lists/048_set_nth0_edges.query +1 -1
  380. package/test/conformance/cases/lists/049_select_duplicate_occurrences.pl +3 -0
  381. package/test/conformance/cases/lists/049_select_duplicate_occurrences.query +1 -1
  382. package/test/conformance/cases/lists/063_reusable_list_builtins.pl +11 -0
  383. package/test/conformance/cases/lists/067_list_edges.pl +10 -0
  384. package/test/conformance/cases/lists/068_list_generation_order.pl +7 -0
  385. package/test/conformance/cases/lists/069_list_summaries_and_sets.pl +9 -0
  386. package/test/conformance/cases/lists/084_append_and_select_composition.pl +7 -0
  387. package/test/conformance/cases/lists/085_nth_and_update_edges.pl +8 -0
  388. package/test/conformance/cases/lists/086_slicing_pipeline.pl +10 -0
  389. package/test/conformance/cases/lists/087_sort_reverse_length.pl +8 -0
  390. package/test/conformance/cases/lists/088_list_summaries_failures.pl +8 -0
  391. package/test/conformance/cases/lists/empty_list_term.pl +4 -0
  392. package/test/conformance/cases/lists/extra_append_all_splits_three.pl +2 -0
  393. package/test/conformance/cases/lists/extra_append_to_improper_tail.pl +2 -0
  394. package/test/conformance/cases/lists/extra_drop_all.pl +2 -0
  395. package/test/conformance/cases/lists/extra_head_and_rest_improper.pl +2 -0
  396. package/test/conformance/cases/lists/extra_last_singleton.pl +2 -0
  397. package/test/conformance/cases/lists/extra_length_improper_fails.pl +2 -0
  398. package/test/conformance/cases/lists/extra_list_to_set_stable_order.pl +2 -0
  399. package/test/conformance/cases/lists/extra_member_repeated_nested.pl +2 -0
  400. package/test/conformance/cases/lists/extra_nth0_duplicate_indexes.pl +2 -0
  401. package/test/conformance/cases/lists/extra_reverse_nested_terms.pl +2 -0
  402. package/test/conformance/cases/lists/extra_select_structured_duplicate.pl +2 -0
  403. package/test/conformance/cases/lists/extra_slice_end.pl +2 -0
  404. package/test/conformance/cases/lists/extra_sort_iri_atoms.pl +2 -0
  405. package/test/conformance/cases/lists/extra_take_all.pl +2 -0
  406. package/test/conformance/cases/lists/head_rest_last.pl +4 -0
  407. package/test/conformance/cases/lists/improper_list_readback.pl +4 -0
  408. package/test/conformance/cases/lists/length_empty_and_nested.pl +3 -0
  409. package/test/conformance/cases/lists/list_to_set_structural_duplicates.pl +2 -0
  410. package/test/conformance/cases/lists/list_with_iri_atoms.pl +4 -0
  411. package/test/conformance/cases/lists/min_list_empty_fails.pl +2 -0
  412. package/test/conformance/cases/lists/nth0_out_of_range_fails.pl +2 -0
  413. package/test/conformance/cases/lists/reverse_empty.pl +2 -0
  414. package/test/conformance/cases/lists/select_all_occurrences.pl +2 -0
  415. package/test/conformance/cases/lists/set_nth0_middle.pl +2 -0
  416. package/test/conformance/cases/lists/slice_middle.pl +2 -0
  417. package/test/conformance/cases/lists/slice_out_of_range_fails.pl +2 -0
  418. package/test/conformance/cases/lists/sort_structured_terms.pl +2 -0
  419. package/test/conformance/cases/lists/sum_list_empty_zero.pl +2 -0
  420. package/test/conformance/cases/lists/sum_min_max_list.pl +4 -0
  421. package/test/conformance/cases/lists/take_zero_and_drop_all.pl +3 -0
  422. package/test/conformance/cases/materialize/027_default_derived_output.pl +5 -0
  423. package/test/conformance/cases/materialize/028_materialize_focus.pl +5 -0
  424. package/test/conformance/cases/materialize/053_materialize_excludes_source_fact.pl +6 -0
  425. package/test/conformance/cases/materialize/099_materialize_multiple_arities.pl +8 -0
  426. package/test/conformance/cases/materialize/source_facts_suppressed.pl +5 -0
  427. package/test/conformance/cases/negation/033_negation_once_generators.pl +7 -0
  428. package/test/conformance/cases/negation/033_negation_once_generators.query +1 -1
  429. package/test/conformance/cases/negation/042_negation_filter.pl +7 -0
  430. package/test/conformance/cases/negation/042_negation_filter.query +1 -1
  431. package/test/conformance/cases/negation/050_not_member_filter.pl +6 -0
  432. package/test/conformance/cases/negation/050_not_member_filter.query +1 -1
  433. package/test/conformance/cases/negation/stratified_negation_answers.pl +6 -0
  434. package/test/conformance/cases/rules/001_fact_output.pl +4 -0
  435. package/test/conformance/cases/rules/002_rule_recursion.pl +7 -0
  436. package/test/conformance/cases/rules/002_rule_recursion.query +1 -1
  437. package/test/conformance/cases/rules/011_predicate_arity.pl +6 -0
  438. package/test/conformance/cases/rules/011_predicate_arity.query +1 -1
  439. package/test/conformance/cases/rules/013_multiple_clauses_order.pl +6 -0
  440. package/test/conformance/cases/rules/013_multiple_clauses_order.query +1 -1
  441. package/test/conformance/cases/rules/017_three_step_recursion.pl +8 -0
  442. package/test/conformance/cases/rules/017_three_step_recursion.query +1 -1
  443. package/test/conformance/cases/rules/022_rule_head_structure.pl +5 -0
  444. package/test/conformance/cases/rules/077_recursive_path_with_lists.pl +10 -0
  445. package/test/conformance/cases/rules/078_mutual_recursion_with_arithmetic.pl +7 -0
  446. package/test/conformance/cases/rules/extra_left_to_right_multiple_bindings.pl +5 -0
  447. package/test/conformance/cases/rules/extra_structured_head_rule.pl +3 -0
  448. package/test/conformance/cases/rules/left_to_right_body_binding.pl +4 -0
  449. package/test/conformance/cases/rules/transitive_rule_three_edges.pl +7 -0
  450. package/test/conformance/cases/strings/023_quoted_escapes_readback.pl +5 -0
  451. package/test/conformance/cases/strings/030_strings_and_atoms.pl +4 -0
  452. package/test/conformance/cases/strings/030_strings_and_atoms.query +1 -1
  453. package/test/conformance/cases/strings/055_string_matching_filters.pl +6 -0
  454. package/test/conformance/cases/strings/055_string_matching_filters.query +1 -1
  455. package/test/conformance/cases/strings/056_string_and_atom_concat.pl +3 -0
  456. package/test/conformance/cases/strings/056_string_and_atom_concat.query +1 -1
  457. package/test/conformance/cases/strings/064_reusable_string_builtins.pl +12 -0
  458. package/test/conformance/cases/strings/070_matches_named_captures.pl +13 -0
  459. package/test/conformance/cases/strings/071_string_edges.pl +10 -0
  460. package/test/conformance/cases/strings/072_string_conversions.pl +10 -0
  461. package/test/conformance/cases/strings/089_string_split_join_pipeline.pl +7 -0
  462. package/test/conformance/cases/strings/090_string_substring_replace_edges.pl +9 -0
  463. package/test/conformance/cases/strings/091_string_case_and_trim.pl +7 -0
  464. package/test/conformance/cases/strings/092_scalar_string_conversions.pl +9 -0
  465. package/test/conformance/cases/strings/093_regex_named_captures_context.pl +8 -0
  466. package/test/conformance/cases/strings/atom_string_from_string.pl +2 -0
  467. package/test/conformance/cases/strings/casefold_atoms.pl +3 -0
  468. package/test/conformance/cases/strings/extra_atom_string_number_input.pl +2 -0
  469. package/test/conformance/cases/strings/extra_join_empty_list.pl +2 -0
  470. package/test/conformance/cases/strings/extra_join_iri_and_atom.pl +2 -0
  471. package/test/conformance/cases/strings/extra_lowercase_iri_atom.pl +2 -0
  472. package/test/conformance/cases/strings/extra_named_regex_optional_missing.pl +2 -0
  473. package/test/conformance/cases/strings/extra_number_string_atom_input.pl +2 -0
  474. package/test/conformance/cases/strings/extra_replace_multiple.pl +2 -0
  475. package/test/conformance/cases/strings/extra_split_empty_separator.pl +2 -0
  476. package/test/conformance/cases/strings/extra_substring_last_char.pl +2 -0
  477. package/test/conformance/cases/strings/extra_term_string_iri_list.pl +2 -0
  478. package/test/conformance/cases/strings/extra_uppercase_mixed_string.pl +2 -0
  479. package/test/conformance/cases/strings/join_mixed_scalars.pl +2 -0
  480. package/test/conformance/cases/strings/named_regex_two_groups.pl +2 -0
  481. package/test/conformance/cases/strings/number_string_from_string.pl +2 -0
  482. package/test/conformance/cases/strings/number_string_rejects_non_numeric.pl +2 -0
  483. package/test/conformance/cases/strings/replace_empty_search_no_change.pl +2 -0
  484. package/test/conformance/cases/strings/split_without_separator_match.pl +2 -0
  485. package/test/conformance/cases/strings/substring_out_of_range_fails.pl +2 -0
  486. package/test/conformance/cases/strings/substring_zero_count.pl +2 -0
  487. package/test/conformance/cases/strings/term_string_nested_term.pl +2 -0
  488. package/test/conformance/cases/strings/trim_tabs_and_spaces.pl +3 -0
  489. package/test/conformance/cases/syntax/004_conjunction_and_parentheses.pl +5 -0
  490. package/test/conformance/cases/syntax/004_conjunction_and_parentheses.query +1 -1
  491. package/test/conformance/cases/syntax/006_comma_formula_data.pl +4 -0
  492. package/test/conformance/cases/syntax/006_comma_formula_data.query +1 -1
  493. package/test/conformance/cases/syntax/009_comments_and_whitespace.pl +5 -0
  494. package/test/conformance/cases/syntax/009_comments_and_whitespace.query +1 -1
  495. package/test/conformance/cases/syntax/019_parenthesized_three_conjuncts.pl +7 -0
  496. package/test/conformance/cases/syntax/019_parenthesized_three_conjuncts.query +1 -1
  497. package/test/conformance/cases/syntax/025_body_parentheses_with_formula_data.pl +5 -0
  498. package/test/conformance/cases/syntax/parenthesized_query_style_body.pl +5 -0
  499. package/test/conformance/cases/table/038_table_declaration.pl +8 -0
  500. package/test/conformance/cases/table/038_table_declaration.query +1 -1
  501. package/test/conformance/cases/table/102_table_declaration.pl +11 -0
  502. package/test/conformance/cases/table/extra_table_bound_cycle.pl +7 -0
  503. package/test/conformance/cases/table/extra_table_open_call_fallback.pl +5 -0
  504. package/test/conformance/cases/table/table_does_not_change_answers.pl +7 -0
  505. package/test/conformance/cases/table/tabled_left_recursion_path.pl +7 -0
  506. package/test/conformance/cases/terms/003_terms_and_readback.pl +16 -0
  507. package/test/conformance/cases/terms/003_terms_and_readback.query +1 -1
  508. package/test/conformance/cases/terms/065_reusable_term_control_builtins.pl +11 -0
  509. package/test/conformance/cases/terms/073_term_introspection_edges.pl +11 -0
  510. package/test/conformance/cases/terms/095_term_introspection_roundtrip.pl +8 -0
  511. package/test/conformance/cases/terms/096_functor_scalar_edges.pl +8 -0
  512. package/test/conformance/cases/terms/arg_first_and_second.pl +3 -0
  513. package/test/conformance/cases/terms/arg_zero_fails.pl +2 -0
  514. package/test/conformance/cases/terms/compound_name_arguments_atom_zero_args.pl +3 -0
  515. package/test/conformance/cases/terms/compound_name_arguments_bad_args_fail.pl +2 -0
  516. package/test/conformance/cases/terms/compound_name_arguments_builds_atom_from_empty_args.pl +3 -0
  517. package/test/conformance/cases/terms/compound_name_arguments_builds_compound.pl +2 -0
  518. package/test/conformance/cases/terms/compound_name_arguments_iri_name.pl +2 -0
  519. package/test/conformance/cases/terms/extra_arg_atom_fails.pl +2 -0
  520. package/test/conformance/cases/terms/extra_arg_first_last.pl +2 -0
  521. package/test/conformance/cases/terms/extra_arg_zero_fails.pl +2 -0
  522. package/test/conformance/cases/terms/extra_compound_name_arguments_bad_args_fails.pl +2 -0
  523. package/test/conformance/cases/terms/extra_compound_name_arguments_construct_atom_zero.pl +2 -0
  524. package/test/conformance/cases/terms/extra_compound_name_arguments_construct_iri.pl +2 -0
  525. package/test/conformance/cases/terms/extra_compound_name_arguments_decompose_list.pl +2 -0
  526. package/test/conformance/cases/terms/extra_functor_list_cons.pl +2 -0
  527. package/test/conformance/cases/terms/extra_functor_number_scalar.pl +2 -0
  528. package/test/conformance/cases/terms/extra_functor_string_scalar.pl +2 -0
  529. package/test/conformance/cases/terms/functor_atom_arity_zero.pl +3 -0
  530. package/test/conformance/cases/terms/functor_number_and_string.pl +3 -0
  531. package/test/conformance/cases/terms/herbrand_witness_one_input.pl +5 -0
  532. package/test/conformance/cases/terms/herbrand_witness_two_inputs.pl +5 -0
  533. package/test/conformance/cases/terms/term_string_readback_iri_list.pl +2 -0
  534. package/test/conformance/cases/unification/012_nested_compound_unification.pl +5 -0
  535. package/test/conformance/cases/unification/012_nested_compound_unification.query +1 -1
  536. package/test/conformance/cases/unification/021_repeated_variable_head.pl +7 -0
  537. package/test/conformance/cases/unification/034_equality_and_inequality.pl +6 -0
  538. package/test/conformance/cases/unification/034_equality_and_inequality.query +1 -1
  539. package/test/conformance/cases/unification/extra_eq_iri_and_quoted_atom.pl +2 -0
  540. package/test/conformance/cases/unification/extra_eq_list_tail_binding.pl +2 -0
  541. package/test/conformance/cases/unification/extra_eq_nested_repeated_fails.pl +2 -0
  542. package/test/conformance/cases/unification/extra_eq_nested_repeated_success.pl +2 -0
  543. package/test/conformance/cases/unification/extra_variable_clause_locality.pl +4 -0
  544. package/test/conformance/cases/unification/list_tail_binding.pl +2 -0
  545. package/test/conformance/cases/unification/nested_repeated_variable.pl +2 -0
  546. package/test/conformance/cases/variables/007_anonymous_variables.pl +5 -0
  547. package/test/conformance/cases/variables/007_anonymous_variables.query +1 -1
  548. package/test/conformance/cases/variables/010_variable_scope_and_reuse.pl +8 -0
  549. package/test/conformance/cases/variables/010_variable_scope_and_reuse.query +1 -1
  550. package/test/conformance/cases/variables/026_question_underscore_named_variable_reuse.pl +5 -0
  551. package/test/conformance/cases/variables/101_question_mark_variables.pl +7 -0
  552. package/test/conformance/cases/variables/anonymous_in_two_goals.pl +4 -0
  553. package/test/conformance/cases/variables/clause_local_variable_names.pl +5 -0
  554. package/test/conformance/cases/variables/extra_anonymous_not_reused.pl +2 -0
  555. package/test/conformance/cases/variables/extra_named_variable_reused.pl +2 -0
  556. package/test/conformance/cases/variables/extra_question_underscore_named_distinct.pl +2 -0
  557. package/test/conformance/cases/variables/extra_question_uppercase_named.pl +2 -0
  558. package/test/conformance/cases/variables/question_anonymous_not_reused.pl +6 -0
  559. package/test/conformance/cases/variables/question_underscore_named_reuse.pl +5 -0
  560. package/test/conformance/cases/variables/question_uppercase_variable.pl +4 -0
  561. package/test/conformance/cases/variables/question_variable_digits_and_underscore.pl +2 -0
  562. package/test/conformance/cases/variables/question_variable_uppercase_name.pl +2 -0
  563. package/test/conformance/cases/variables/variable_scope_per_clause.pl +6 -0
  564. package/test/conformance/errors/syntax/bad_question_variable.pl +1 -0
  565. package/test/conformance/errors/variables/bare_underscore_in_list_rejected.pl +1 -0
  566. package/test/conformance/errors/variables/bare_underscore_name_in_compound_rejected.pl +1 -0
  567. package/test/conformance/errors/variables/bare_underscore_rejected.pl +1 -0
  568. package/test/conformance/errors/variables/extra_bare_underscore_in_rule_head.pl +1 -0
  569. package/test/conformance/errors/variables/extra_question_dash_variable.pl +1 -0
  570. package/test/conformance/errors/variables/extra_uppercase_in_list.pl +1 -0
  571. package/test/conformance/errors/variables/question_dot_rejected.pl +1 -0
  572. package/test/conformance/errors/variables/underscore_named_rejected.pl +1 -0
  573. package/test/conformance/errors/variables/uppercase_in_body_rejected.pl +1 -0
  574. package/test/conformance/errors/variables/uppercase_variable_rejected.pl +1 -0
  575. package/test/conformance/expected/aggregation/extra_aggregate_max_iri_key.pl +1 -0
  576. package/test/conformance/expected/atoms/103_angle_iri_atoms.pl +3 -0
  577. package/test/conformance/expected/atoms/iri_atoms_in_lists.pl +1 -0
  578. package/test/conformance/expected/atoms/iri_mailto_readback.pl +1 -0
  579. package/test/conformance/expected/atoms/iri_query_fragment_readback.pl +1 -0
  580. package/test/conformance/expected/atoms/iri_quoted_absolute_readback.pl +2 -0
  581. package/test/conformance/expected/atoms/iri_urn_readback.pl +1 -0
  582. package/test/conformance/expected/atoms/quoted_urn_iri_readback.pl +1 -0
  583. package/test/conformance/expected/builtins/atom_string_iri_atom.pl +1 -0
  584. package/test/conformance/expected/builtins/extra_neq_same_iri_fails.pl +1 -0
  585. package/test/conformance/expected/lists/extra_reverse_nested_terms.pl +1 -0
  586. package/test/conformance/expected/lists/extra_sort_iri_atoms.pl +1 -0
  587. package/test/conformance/expected/lists/list_with_iri_atoms.pl +1 -0
  588. package/test/conformance/expected/strings/extra_join_iri_and_atom.pl +1 -0
  589. package/test/conformance/expected/strings/extra_lowercase_iri_atom.pl +1 -0
  590. package/test/conformance/expected/strings/extra_term_string_iri_list.pl +1 -0
  591. package/test/conformance/expected/strings/term_string_nested_term.pl +1 -0
  592. package/test/conformance/expected/terms/compound_name_arguments_iri_name.pl +1 -0
  593. package/test/conformance/expected/terms/extra_compound_name_arguments_construct_iri.pl +1 -0
  594. package/test/conformance/expected/terms/term_string_readback_iri_list.pl +1 -0
  595. package/test/conformance/expected/unification/extra_eq_nested_repeated_fails.pl +0 -0
  596. package/test/conformance/expected/unification/extra_neq_scalar_same_lexical_fails.pl +0 -0
  597. package/test/conformance/expected-errors/syntax/bad_question_variable.txt +1 -1
  598. package/test/conformance/expected-errors/syntax/uppercase_predicate_rejected.txt +1 -1
  599. package/test/conformance/expected-errors/variables/bare_underscore_in_list_rejected.txt +1 -1
  600. package/test/conformance/expected-errors/variables/bare_underscore_name_in_compound_rejected.txt +1 -1
  601. package/test/conformance/expected-errors/variables/bare_underscore_rejected.txt +1 -1
  602. package/test/conformance/expected-errors/variables/extra_bare_underscore_in_rule_head.txt +1 -1
  603. package/test/conformance/expected-errors/variables/extra_uppercase_in_list.txt +1 -1
  604. package/test/conformance/expected-errors/variables/underscore_named_rejected.txt +1 -1
  605. package/test/conformance/expected-errors/variables/uppercase_in_body_rejected.txt +1 -1
  606. package/test/conformance/expected-errors/variables/uppercase_variable_rejected.txt +1 -1
  607. package/test/conformance/expected-proofs/proofs/bindings_nested_term.pl +16 -0
  608. package/test/conformance/expected-proofs/proofs/builtin_numeric.pl +16 -0
  609. package/test/conformance/expected-proofs/proofs/extra_aggregate_min.pl +16 -0
  610. package/test/conformance/expected-proofs/proofs/extra_compound_name_arguments.pl +16 -0
  611. package/test/conformance/expected-proofs/proofs/extra_eq_builtin.pl +16 -0
  612. package/test/conformance/expected-proofs/proofs/extra_findall_builtin.pl +16 -0
  613. package/test/conformance/expected-proofs/proofs/extra_forall_builtin.pl +15 -0
  614. package/test/conformance/expected-proofs/proofs/extra_holds_parts.pl +32 -0
  615. package/test/conformance/expected-proofs/proofs/extra_iri_join.pl +16 -0
  616. package/test/conformance/expected-proofs/proofs/extra_nested_list_binding.pl +16 -0
  617. package/test/conformance/expected-proofs/proofs/extra_once_member.pl +22 -0
  618. package/test/conformance/expected-proofs/proofs/extra_recursive_path.pl +59 -0
  619. package/test/conformance/expected-proofs/proofs/extra_table_path_bound.pl +57 -0
  620. package/test/conformance/expected-proofs/proofs/herbrand_witness.pl +16 -0
  621. package/test/conformance/expected-proofs/proofs/iri_atom.pl +16 -0
  622. package/test/conformance/expected-proofs/proofs/list_builtin.pl +20 -0
  623. package/test/conformance/expected-proofs/proofs/once_child.pl +22 -0
  624. package/test/conformance/expected-proofs/proofs/rule_fact.pl +16 -0
  625. package/test/conformance/expected-proofs/proofs/table_recursive.pl +59 -0
  626. package/test/conformance/proofs/proofs/bindings_nested_term.pl +4 -0
  627. package/test/conformance/proofs/proofs/builtin_numeric.pl +3 -0
  628. package/test/conformance/proofs/proofs/extra_aggregate_min.pl +4 -0
  629. package/test/conformance/proofs/proofs/extra_compound_name_arguments.pl +2 -0
  630. package/test/conformance/proofs/proofs/extra_eq_builtin.pl +2 -0
  631. package/test/conformance/proofs/proofs/extra_findall_builtin.pl +4 -0
  632. package/test/conformance/proofs/proofs/extra_forall_builtin.pl +2 -0
  633. package/test/conformance/proofs/proofs/extra_holds_parts.pl +2 -0
  634. package/test/conformance/proofs/proofs/extra_iri_join.pl +2 -0
  635. package/test/conformance/proofs/proofs/extra_nested_list_binding.pl +2 -0
  636. package/test/conformance/proofs/proofs/extra_once_member.pl +2 -0
  637. package/test/conformance/proofs/proofs/extra_recursive_path.pl +5 -0
  638. package/test/conformance/proofs/proofs/extra_table_path_bound.pl +7 -0
  639. package/test/conformance/proofs/proofs/herbrand_witness.pl +3 -0
  640. package/test/conformance/proofs/proofs/iri_atom.pl +4 -0
  641. package/test/conformance/proofs/proofs/list_builtin.pl +3 -0
  642. package/test/conformance/proofs/proofs/once_child.pl +5 -0
  643. package/test/conformance/proofs/proofs/rule_fact.pl +4 -0
  644. package/test/conformance/proofs/proofs/table_recursive.pl +7 -0
  645. package/test/conformance/warnings/negation/extra_stratified_negation_with_table_quiet.pl +6 -0
  646. package/test/conformance/warnings/negation/extra_unstratified_indirect_self_with_fact.pl +5 -0
  647. package/test/conformance/warnings/negation/extra_unstratified_positive_negative_loop.pl +5 -0
  648. package/test/conformance/warnings/negation/no_negation_quiet.pl +3 -0
  649. package/test/conformance/warnings/negation/stratified_negative_unknown_after_positive_quiet.pl +3 -0
  650. package/test/conformance/warnings/negation/stratified_two_level_quiet.pl +5 -0
  651. package/test/conformance/warnings/negation/unstratified_three_step.pl +6 -0
  652. package/test/conformance/warnings/negation/unstratified_with_iri_predicates.pl +4 -0
  653. package/test/run-conformance-report.mjs +5 -5
  654. package/test/run-conformance.mjs +9 -9
  655. package/test/run-examples.mjs +51 -51
  656. package/test/run-regression.mjs +95 -95
  657. package/examples/abstract-interpretation.eye +0 -50
  658. package/examples/access-control-policy.eye +0 -52
  659. package/examples/ackermann.eye +0 -47
  660. package/examples/age.eye +0 -26
  661. package/examples/aliases-and-namespaces.eye +0 -20
  662. package/examples/alignment-demo.eye +0 -44
  663. package/examples/allen-interval-calculus.eye +0 -64
  664. package/examples/ancestor.eye +0 -22
  665. package/examples/animal.eye +0 -21
  666. package/examples/annotation.eye +0 -34
  667. package/examples/auroracare.eye +0 -309
  668. package/examples/backward.eye +0 -11
  669. package/examples/basic-monadic.eye +0 -10032
  670. package/examples/bayes-diagnosis.eye +0 -108
  671. package/examples/bayes-therapy.eye +0 -189
  672. package/examples/beam-deflection.eye +0 -48
  673. package/examples/binomial-vandermonde.eye +0 -49
  674. package/examples/blocks-world-planning.eye +0 -77
  675. package/examples/bmi.eye +0 -232
  676. package/examples/braking-safety-worlds.eye +0 -69
  677. package/examples/buck-converter-design.eye +0 -83
  678. package/examples/cache-performance.eye +0 -56
  679. package/examples/canary-release.eye +0 -51
  680. package/examples/cat-koko.eye +0 -24
  681. package/examples/catalan-convolution.eye +0 -37
  682. package/examples/cdcl-sat-solver.eye +0 -65
  683. package/examples/chart-parser.eye +0 -65
  684. package/examples/clinical-trial-screening.eye +0 -97
  685. package/examples/collatz-1000.eye +0 -45
  686. package/examples/combinatorics-findall-sort.eye +0 -38
  687. package/examples/competitive-enzyme-kinetics.eye +0 -78
  688. package/examples/complex.eye +0 -133
  689. package/examples/composition-of-injective-functions-is-injective.eye +0 -50
  690. package/examples/context-association.eye +0 -53
  691. package/examples/context-schema-audit.eye +0 -46
  692. package/examples/continued-fraction-sqrt2.eye +0 -36
  693. package/examples/control-system.eye +0 -76
  694. package/examples/critical-path-schedule.eye +0 -82
  695. package/examples/cyclic-path.eye +0 -18
  696. package/examples/d3-group.eye +0 -99
  697. package/examples/dairy-energy-balance.eye +0 -66
  698. package/examples/data-negotiation.eye +0 -38
  699. package/examples/deep-taxonomy-10.eye +0 -115
  700. package/examples/deep-taxonomy-100.eye +0 -385
  701. package/examples/deep-taxonomy-1000.eye +0 -3085
  702. package/examples/deep-taxonomy-10000.eye +0 -30094
  703. package/examples/deep-taxonomy-100000.eye +0 -300184
  704. package/examples/delfour.eye +0 -281
  705. package/examples/deontic-logic.eye +0 -52
  706. package/examples/derived-backward-rule.eye +0 -30
  707. package/examples/derived-rule.eye +0 -27
  708. package/examples/diamond-property.eye +0 -38
  709. package/examples/dijkstra-findall-sort.eye +0 -43
  710. package/examples/dijkstra-risk-path.eye +0 -87
  711. package/examples/dijkstra.eye +0 -50
  712. package/examples/dining-philosophers.eye +0 -147
  713. package/examples/dog.eye +0 -25
  714. package/examples/dpv-odrl-purpose-mapping.eye +0 -48
  715. package/examples/drone-corridor-planner.eye +0 -48
  716. package/examples/easter-computus.eye +0 -88
  717. package/examples/electrical-rc-filter.eye +0 -37
  718. package/examples/epidemic-policy.eye +0 -66
  719. package/examples/equality-saturation.eye +0 -84
  720. package/examples/equivalence-classes-overlap-implies-same-class.eye +0 -27
  721. package/examples/eulerian-path.eye +0 -87
  722. package/examples/ev-range-worlds.eye +0 -87
  723. package/examples/existential-rule.eye +0 -14
  724. package/examples/exoplanet-validation-worlds.eye +0 -94
  725. package/examples/expression-eval.eye +0 -45
  726. package/examples/family-cousins.eye +0 -67
  727. package/examples/fastpow.eye +0 -61
  728. package/examples/fft8-numeric.eye +0 -85
  729. package/examples/fibonacci.eye +0 -60
  730. package/examples/field-nitrogen-balance.eye +0 -73
  731. package/examples/flandor.eye +0 -296
  732. package/examples/floating-point.eye +0 -28
  733. package/examples/four-color-map.eye +0 -133
  734. package/examples/fundamental-theorem-arithmetic.eye +0 -119
  735. package/examples/gd-step-certified.eye +0 -162
  736. package/examples/gdpr-compliance.eye +0 -69
  737. package/examples/good-cobbler.eye +0 -16
  738. package/examples/gps.eye +0 -146
  739. package/examples/graph-reachability.eye +0 -33
  740. package/examples/graph.eye +0 -35
  741. package/examples/gray-code-counter.eye +0 -47
  742. package/examples/greatest-lower-bound-uniqueness.eye +0 -30
  743. package/examples/group-inverse-uniqueness.eye +0 -36
  744. package/examples/hamiltonian-path.eye +0 -51
  745. package/examples/hamming-code.eye +0 -109
  746. package/examples/hanoi.eye +0 -19
  747. package/examples/heat-loss.eye +0 -56
  748. package/examples/herbrand-witnesses.eye +0 -31
  749. package/examples/heron-theorem.eye +0 -42
  750. package/examples/ideal-gas-law.eye +0 -39
  751. package/examples/illegitimate-reasoning.eye +0 -88
  752. package/examples/integer-partitions.eye +0 -35
  753. package/examples/intuitionistic-logic-kripke.eye +0 -69
  754. package/examples/job-shop-scheduling.eye +0 -48
  755. package/examples/knapsack-optimization.eye +0 -46
  756. package/examples/knowledge-engineering-alignment-flow.eye +0 -46
  757. package/examples/knuth-bendix-completion.eye +0 -55
  758. package/examples/language.eye +0 -25
  759. package/examples/law-of-cosines.eye +0 -37
  760. package/examples/least-squares-regression.eye +0 -85
  761. package/examples/linear-logic-resources.eye +0 -51
  762. package/examples/list-collection.eye +0 -35
  763. package/examples/lldm.eye +0 -80
  764. package/examples/manufacturing-quality-control.eye +0 -73
  765. package/examples/map-four-color-search.eye +0 -65
  766. package/examples/markov-logic-network.eye +0 -87
  767. package/examples/matrix-chain-order.eye +0 -79
  768. package/examples/matrix-noncommutativity.eye +0 -43
  769. package/examples/microgrid-dispatch.eye +0 -89
  770. package/examples/missionaries-cannibals.eye +0 -53
  771. package/examples/modal-logic-kripke.eye +0 -45
  772. package/examples/modular-exponentiation.eye +0 -35
  773. package/examples/monkey-bananas.eye +0 -45
  774. package/examples/n-queens-8.eye +0 -35
  775. package/examples/network-sla.eye +0 -48
  776. package/examples/newton-raphson.eye +0 -48
  777. package/examples/nixon-diamond.eye +0 -37
  778. package/examples/observability-log-correlation.eye +0 -40
  779. package/examples/odrl-dpv-fpv-trust-flow.eye +0 -51
  780. package/examples/odrl-dpv-healthcare-risk-ranked.eye +0 -270
  781. package/examples/odrl-dpv-risk-ranked.eye +0 -320
  782. package/examples/orbital-transfer-design.eye +0 -116
  783. package/examples/output/deep-taxonomy-10.eye +0 -16
  784. package/examples/output/deep-taxonomy-100.eye +0 -16
  785. package/examples/output/deep-taxonomy-1000.eye +0 -16
  786. package/examples/output/deep-taxonomy-10000.eye +0 -16
  787. package/examples/output/deep-taxonomy-100000.eye +0 -16
  788. package/examples/output/language.eye +0 -6
  789. package/examples/output/web-names.eye +0 -3
  790. package/examples/partial-evaluator.eye +0 -74
  791. package/examples/path-discovery.eye +0 -45013
  792. package/examples/peano-arithmetic.eye +0 -33
  793. package/examples/peano-calculus.eye +0 -40
  794. package/examples/peasant.eye +0 -29
  795. package/examples/pell-equation.eye +0 -34
  796. package/examples/pendulum-period.eye +0 -50
  797. package/examples/pointer-analysis.eye +0 -50
  798. package/examples/polynomial.eye +0 -124
  799. package/examples/prime-range.eye +0 -45
  800. package/examples/proof/access-control-policy.eye +0 -158
  801. package/examples/proof/age.eye +0 -71
  802. package/examples/proof/aliases-and-namespaces.eye +0 -78
  803. package/examples/proof/ancestor.eye +0 -140
  804. package/examples/proof/animal.eye +0 -68
  805. package/examples/proof/annotation.eye +0 -80
  806. package/examples/proof/backward.eye +0 -22
  807. package/examples/proof/bayes-diagnosis.eye +0 -208
  808. package/examples/proof/beam-deflection.eye +0 -227
  809. package/examples/proof/cache-performance.eye +0 -310
  810. package/examples/proof/canary-release.eye +0 -172
  811. package/examples/proof/cat-koko.eye +0 -86
  812. package/examples/proof/chart-parser.eye +0 -474
  813. package/examples/proof/clinical-trial-screening.eye +0 -389
  814. package/examples/proof/composition-of-injective-functions-is-injective.eye +0 -258
  815. package/examples/proof/context-association.eye +0 -78
  816. package/examples/proof/data-negotiation.eye +0 -76
  817. package/examples/proof/deontic-logic.eye +0 -109
  818. package/examples/proof/derived-backward-rule.eye +0 -74
  819. package/examples/proof/derived-rule.eye +0 -43
  820. package/examples/proof/diamond-property.eye +0 -307
  821. package/examples/proof/dog.eye +0 -31
  822. package/examples/proof/dpv-odrl-purpose-mapping.eye +0 -348
  823. package/examples/proof/electrical-rc-filter.eye +0 -105
  824. package/examples/proof/epidemic-policy.eye +0 -774
  825. package/examples/proof/equivalence-classes-overlap-implies-same-class.eye +0 -1098
  826. package/examples/proof/existential-rule.eye +0 -32
  827. package/examples/proof/expression-eval.eye +0 -105
  828. package/examples/proof/floating-point.eye +0 -160
  829. package/examples/proof/gdpr-compliance.eye +0 -199
  830. package/examples/proof/good-cobbler.eye +0 -16
  831. package/examples/proof/graph-reachability.eye +0 -151
  832. package/examples/proof/greatest-lower-bound-uniqueness.eye +0 -150
  833. package/examples/proof/group-inverse-uniqueness.eye +0 -84
  834. package/examples/proof/hanoi.eye +0 -185
  835. package/examples/proof/heat-loss.eye +0 -228
  836. package/examples/proof/ideal-gas-law.eye +0 -151
  837. package/examples/proof/intuitionistic-logic-kripke.eye +0 -133
  838. package/examples/proof/linear-logic-resources.eye +0 -205
  839. package/examples/proof/list-collection.eye +0 -52
  840. package/examples/proof/modal-logic-kripke.eye +0 -125
  841. package/examples/proof/nixon-diamond.eye +0 -181
  842. package/examples/proof/proof-contrapositive.eye +0 -78
  843. package/examples/proof/reusable-builtins.eye +0 -124
  844. package/examples/proof/security-incident-correlation.eye +0 -270
  845. package/examples/proof/socket-age.eye +0 -32
  846. package/examples/proof/socket-family.eye +0 -59
  847. package/examples/proof/socrates.eye +0 -38
  848. package/examples/proof/term-tools.eye +0 -95
  849. package/examples/proof/witch.eye +0 -216
  850. package/examples/proof-contrapositive.eye +0 -27
  851. package/examples/quadratic-formula.eye +0 -56
  852. package/examples/radioactive-decay.eye +0 -58
  853. package/examples/register-allocation.eye +0 -77
  854. package/examples/reusable-builtins.eye +0 -36
  855. package/examples/riemann-hypothesis.eye +0 -110
  856. package/examples/route-planning.eye +0 -33
  857. package/examples/sat-solver-dpll.eye +0 -88
  858. package/examples/security-incident-correlation.eye +0 -69
  859. package/examples/send-more-money.eye +0 -71
  860. package/examples/service-impact.eye +0 -41
  861. package/examples/shoelace-polygon-area.eye +0 -22
  862. package/examples/sieve.eye +0 -20
  863. package/examples/skolem-functions.eye +0 -52
  864. package/examples/socket-age.eye +0 -39
  865. package/examples/socket-family.eye +0 -28
  866. package/examples/socrates.eye +0 -19
  867. package/examples/stable-marriage.eye +0 -92
  868. package/examples/statistics-summary.eye +0 -56
  869. package/examples/stirling-bell-numbers.eye +0 -69
  870. package/examples/sudoku-4x4.eye +0 -54
  871. package/examples/superdense-coding.eye +0 -84
  872. package/examples/symbolic-derivative.eye +0 -39
  873. package/examples/term-tools.eye +0 -32
  874. package/examples/totient-summatory.eye +0 -33
  875. package/examples/trust-flow-provenance-threshold.eye +0 -47
  876. package/examples/truth-maintenance-system.eye +0 -62
  877. package/examples/turing.eye +0 -69
  878. package/examples/type-inference.eye +0 -58
  879. package/examples/vector-similarity.eye +0 -60
  880. package/examples/vulnerability-impact.eye +0 -69
  881. package/examples/web-names.eye +0 -39
  882. package/examples/weighted-interval-scheduling.eye +0 -81
  883. package/examples/witch.eye +0 -38
  884. package/examples/wolf-goat-cabbage.eye +0 -56
  885. package/examples/workplace-compliance.eye +0 -41
  886. package/examples/zebra.eye +0 -45
  887. package/test/conformance/cases/aggregation/044_findall_user_goal.eye +0 -6
  888. package/test/conformance/cases/aggregation/057_countall_empty_and_nonempty.eye +0 -4
  889. package/test/conformance/cases/aggregation/058_sumall_numeric_template.eye +0 -5
  890. package/test/conformance/cases/aggregation/059_aggregate_min_template.eye +0 -5
  891. package/test/conformance/cases/aggregation/060_aggregate_max_compound_key.eye +0 -5
  892. package/test/conformance/cases/aggregation/075_aggregation_edges.eye +0 -12
  893. package/test/conformance/cases/aggregation/098_aggregation_nested_templates.eye +0 -11
  894. package/test/conformance/cases/aggregation/aggregate_max_no_answers_fails.eye +0 -2
  895. package/test/conformance/cases/aggregation/aggregate_min_structured_key.eye +0 -5
  896. package/test/conformance/cases/aggregation/countall_zero.eye +0 -2
  897. package/test/conformance/cases/aggregation/extra_aggregate_max_iri_key.eye +0 -4
  898. package/test/conformance/cases/aggregation/extra_aggregate_min_tie_first.eye +0 -5
  899. package/test/conformance/cases/aggregation/extra_countall_with_filter.eye +0 -5
  900. package/test/conformance/cases/aggregation/extra_findall_repeated_template.eye +0 -4
  901. package/test/conformance/cases/aggregation/extra_sumall_float_template.eye +0 -4
  902. package/test/conformance/cases/aggregation/findall_empty_bag.eye +0 -2
  903. package/test/conformance/cases/aggregation/sumall_empty_zero.eye +0 -2
  904. package/test/conformance/cases/arithmetic/024_numeric_literal_readback.eye +0 -6
  905. package/test/conformance/cases/arithmetic/029_arithmetic_and_comparison.eye +0 -11
  906. package/test/conformance/cases/arithmetic/039_numeric_functions.eye +0 -9
  907. package/test/conformance/cases/arithmetic/040_between_enumeration.eye +0 -3
  908. package/test/conformance/cases/arithmetic/041_smallest_divisor.eye +0 -3
  909. package/test/conformance/cases/arithmetic/061_date_difference.eye +0 -4
  910. package/test/conformance/cases/arithmetic/062_reusable_numeric_builtins.eye +0 -10
  911. package/test/conformance/cases/arithmetic/066_numeric_edges.eye +0 -14
  912. package/test/conformance/cases/arithmetic/079_big_integer_arithmetic.eye +0 -8
  913. package/test/conformance/cases/arithmetic/080_rounding_modes.eye +0 -10
  914. package/test/conformance/cases/arithmetic/081_zero_safe_numeric_functions.eye +0 -9
  915. package/test/conformance/cases/arithmetic/083_between_modes_and_empty_ranges.eye +0 -8
  916. package/test/conformance/cases/arithmetic/between_singleton.eye +0 -2
  917. package/test/conformance/cases/arithmetic/extra_acos_one.eye +0 -2
  918. package/test/conformance/cases/arithmetic/extra_asin_zero.eye +0 -2
  919. package/test/conformance/cases/arithmetic/extra_atan2_axis.eye +0 -2
  920. package/test/conformance/cases/arithmetic/extra_difference_leap_day.eye +0 -2
  921. package/test/conformance/cases/arithmetic/extra_difference_same_day.eye +0 -2
  922. package/test/conformance/cases/arithmetic/extra_div_float_exact.eye +0 -2
  923. package/test/conformance/cases/arithmetic/extra_div_integer_trunc.eye +0 -2
  924. package/test/conformance/cases/arithmetic/extra_division_by_zero_fails.eye +0 -2
  925. package/test/conformance/cases/arithmetic/extra_exp_zero.eye +0 -2
  926. package/test/conformance/cases/arithmetic/extra_log_one.eye +0 -2
  927. package/test/conformance/cases/arithmetic/extra_mod_negative_right.eye +0 -2
  928. package/test/conformance/cases/arithmetic/extra_pow_large_integer.eye +0 -2
  929. package/test/conformance/cases/arithmetic/float_add_and_div.eye +0 -3
  930. package/test/conformance/cases/arithmetic/min_max_mixed.eye +0 -3
  931. package/test/conformance/cases/arithmetic/mod_negative_left.eye +0 -2
  932. package/test/conformance/cases/arithmetic/neg_abs_integer.eye +0 -4
  933. package/test/conformance/cases/arithmetic/pow_negative_exponent_fails.eye +0 -2
  934. package/test/conformance/cases/arithmetic/pow_zero_exponent.eye +0 -2
  935. package/test/conformance/cases/arithmetic/rounding_negative_float.eye +0 -5
  936. package/test/conformance/cases/arithmetic/smallest_divisor_prime.eye +0 -2
  937. package/test/conformance/cases/arithmetic/sqrt_negative_fails.eye +0 -2
  938. package/test/conformance/cases/atoms/008_graphic_atoms.eye +0 -6
  939. package/test/conformance/cases/atoms/016_arity_zero_atom.eye +0 -4
  940. package/test/conformance/cases/atoms/018_quoted_atom_readback.eye +0 -6
  941. package/test/conformance/cases/atoms/103_angle_iri_atoms.eye +0 -7
  942. package/test/conformance/cases/atoms/angle_iri_percent_encoded.eye +0 -2
  943. package/test/conformance/cases/atoms/extra_iri_mailto_plus.eye +0 -2
  944. package/test/conformance/cases/atoms/extra_iri_uuid_scheme.eye +0 -2
  945. package/test/conformance/cases/atoms/graphic_angle_atom_stays_graphic.eye +0 -4
  946. package/test/conformance/cases/atoms/graphic_less_than_atom.eye +0 -4
  947. package/test/conformance/cases/atoms/iri_atoms_in_lists.eye +0 -4
  948. package/test/conformance/cases/atoms/iri_mailto_readback.eye +0 -4
  949. package/test/conformance/cases/atoms/iri_query_fragment_readback.eye +0 -4
  950. package/test/conformance/cases/atoms/iri_quoted_absolute_readback.eye +0 -5
  951. package/test/conformance/cases/atoms/iri_quoted_and_angle_unify.eye +0 -3
  952. package/test/conformance/cases/atoms/iri_urn_readback.eye +0 -4
  953. package/test/conformance/cases/atoms/quoted_urn_iri_readback.eye +0 -4
  954. package/test/conformance/cases/atoms/zero_arity_atom_roundtrip.eye +0 -5
  955. package/test/conformance/cases/builtins/076_composed_reusable_builtins.eye +0 -8
  956. package/test/conformance/cases/builtins/100_reusable_builtin_workflow.eye +0 -10
  957. package/test/conformance/cases/builtins/atom_string_iri_atom.eye +0 -3
  958. package/test/conformance/cases/builtins/eq_unifies_iri_atoms.eye +0 -3
  959. package/test/conformance/cases/builtins/extra_difference_end_before_start_fails.eye +0 -2
  960. package/test/conformance/cases/builtins/extra_difference_invalid_date_fails.eye +0 -2
  961. package/test/conformance/cases/builtins/extra_eq_binds_both_sides.eye +0 -2
  962. package/test/conformance/cases/builtins/extra_neq_different_iri_atoms.eye +0 -2
  963. package/test/conformance/cases/builtins/extra_neq_same_iri_fails.eye +0 -2
  964. package/test/conformance/cases/context/032_holds_parts.eye +0 -4
  965. package/test/conformance/cases/context/051_nested_holds_parts.eye +0 -4
  966. package/test/conformance/cases/context/052_holds_member.eye +0 -3
  967. package/test/conformance/cases/context/094_context_holds_enumeration.eye +0 -7
  968. package/test/conformance/cases/context/extra_holds_atom_parts.eye +0 -2
  969. package/test/conformance/cases/context/extra_holds_ignores_string_parts.eye +0 -2
  970. package/test/conformance/cases/context/extra_holds_list_parts.eye +0 -2
  971. package/test/conformance/cases/context/extra_holds_term_nested_order.eye +0 -2
  972. package/test/conformance/cases/context/holds_parts_from_formula.eye +0 -2
  973. package/test/conformance/cases/control/014_failure_filters_answers.eye +0 -7
  974. package/test/conformance/cases/control/043_once_user_predicate.eye +0 -5
  975. package/test/conformance/cases/control/074_forall_edges.eye +0 -10
  976. package/test/conformance/cases/control/097_control_negation_once_forall.eye +0 -13
  977. package/test/conformance/cases/control/extra_forall_bound_check.eye +0 -2
  978. package/test/conformance/cases/control/extra_forall_counterexample_fails.eye +0 -2
  979. package/test/conformance/cases/control/extra_not_unbound_existing_goal_fails.eye +0 -3
  980. package/test/conformance/cases/control/extra_not_unbound_unknown_goal_succeeds.eye +0 -2
  981. package/test/conformance/cases/control/extra_once_preserves_binding.eye +0 -2
  982. package/test/conformance/cases/control/forall_detects_counterexample.eye +0 -5
  983. package/test/conformance/cases/control/forall_empty_generator_true.eye +0 -2
  984. package/test/conformance/cases/control/negation_with_bound_generator.eye +0 -5
  985. package/test/conformance/cases/control/once_keeps_first_answer.eye +0 -4
  986. package/test/conformance/cases/declarations/104_mode_determinism_declarations.eye +0 -11
  987. package/test/conformance/cases/declarations/memoize_is_ordinary_fact.eye +0 -4
  988. package/test/conformance/cases/declarations/mode_determinism_are_facts.eye +0 -8
  989. package/test/conformance/cases/declarations/table_is_also_fact.eye +0 -4
  990. package/test/conformance/cases/lists/005_list_deconstruction.eye +0 -6
  991. package/test/conformance/cases/lists/015_improper_list_unification.eye +0 -6
  992. package/test/conformance/cases/lists/020_nested_list_terms.eye +0 -5
  993. package/test/conformance/cases/lists/031_lists_aggregation_ordering.eye +0 -10
  994. package/test/conformance/cases/lists/035_list_relations.eye +0 -5
  995. package/test/conformance/cases/lists/036_append_splits.eye +0 -3
  996. package/test/conformance/cases/lists/045_sort_deduplicates_atoms.eye +0 -3
  997. package/test/conformance/cases/lists/046_append_bound_prefix_suffix.eye +0 -4
  998. package/test/conformance/cases/lists/047_nth0_index_generation.eye +0 -3
  999. package/test/conformance/cases/lists/048_set_nth0_edges.eye +0 -4
  1000. package/test/conformance/cases/lists/049_select_duplicate_occurrences.eye +0 -3
  1001. package/test/conformance/cases/lists/063_reusable_list_builtins.eye +0 -11
  1002. package/test/conformance/cases/lists/067_list_edges.eye +0 -10
  1003. package/test/conformance/cases/lists/068_list_generation_order.eye +0 -7
  1004. package/test/conformance/cases/lists/069_list_summaries_and_sets.eye +0 -9
  1005. package/test/conformance/cases/lists/084_append_and_select_composition.eye +0 -7
  1006. package/test/conformance/cases/lists/085_nth_and_update_edges.eye +0 -8
  1007. package/test/conformance/cases/lists/086_slicing_pipeline.eye +0 -10
  1008. package/test/conformance/cases/lists/087_sort_reverse_length.eye +0 -8
  1009. package/test/conformance/cases/lists/088_list_summaries_failures.eye +0 -8
  1010. package/test/conformance/cases/lists/empty_list_term.eye +0 -4
  1011. package/test/conformance/cases/lists/extra_append_all_splits_three.eye +0 -2
  1012. package/test/conformance/cases/lists/extra_append_to_improper_tail.eye +0 -2
  1013. package/test/conformance/cases/lists/extra_drop_all.eye +0 -2
  1014. package/test/conformance/cases/lists/extra_head_and_rest_improper.eye +0 -2
  1015. package/test/conformance/cases/lists/extra_last_singleton.eye +0 -2
  1016. package/test/conformance/cases/lists/extra_length_improper_fails.eye +0 -2
  1017. package/test/conformance/cases/lists/extra_list_to_set_stable_order.eye +0 -2
  1018. package/test/conformance/cases/lists/extra_member_repeated_nested.eye +0 -2
  1019. package/test/conformance/cases/lists/extra_nth0_duplicate_indexes.eye +0 -2
  1020. package/test/conformance/cases/lists/extra_reverse_nested_terms.eye +0 -2
  1021. package/test/conformance/cases/lists/extra_select_structured_duplicate.eye +0 -2
  1022. package/test/conformance/cases/lists/extra_slice_end.eye +0 -2
  1023. package/test/conformance/cases/lists/extra_sort_iri_atoms.eye +0 -2
  1024. package/test/conformance/cases/lists/extra_take_all.eye +0 -2
  1025. package/test/conformance/cases/lists/head_rest_last.eye +0 -4
  1026. package/test/conformance/cases/lists/improper_list_readback.eye +0 -4
  1027. package/test/conformance/cases/lists/length_empty_and_nested.eye +0 -3
  1028. package/test/conformance/cases/lists/list_to_set_structural_duplicates.eye +0 -2
  1029. package/test/conformance/cases/lists/list_with_iri_atoms.eye +0 -4
  1030. package/test/conformance/cases/lists/min_list_empty_fails.eye +0 -2
  1031. package/test/conformance/cases/lists/nth0_out_of_range_fails.eye +0 -2
  1032. package/test/conformance/cases/lists/reverse_empty.eye +0 -2
  1033. package/test/conformance/cases/lists/select_all_occurrences.eye +0 -2
  1034. package/test/conformance/cases/lists/set_nth0_middle.eye +0 -2
  1035. package/test/conformance/cases/lists/slice_middle.eye +0 -2
  1036. package/test/conformance/cases/lists/slice_out_of_range_fails.eye +0 -2
  1037. package/test/conformance/cases/lists/sort_structured_terms.eye +0 -2
  1038. package/test/conformance/cases/lists/sum_list_empty_zero.eye +0 -2
  1039. package/test/conformance/cases/lists/sum_min_max_list.eye +0 -4
  1040. package/test/conformance/cases/lists/take_zero_and_drop_all.eye +0 -3
  1041. package/test/conformance/cases/materialize/027_default_derived_output.eye +0 -5
  1042. package/test/conformance/cases/materialize/028_materialize_focus.eye +0 -5
  1043. package/test/conformance/cases/materialize/053_materialize_excludes_source_fact.eye +0 -6
  1044. package/test/conformance/cases/materialize/099_materialize_multiple_arities.eye +0 -8
  1045. package/test/conformance/cases/materialize/source_facts_suppressed.eye +0 -5
  1046. package/test/conformance/cases/negation/033_negation_once_generators.eye +0 -7
  1047. package/test/conformance/cases/negation/042_negation_filter.eye +0 -7
  1048. package/test/conformance/cases/negation/050_not_member_filter.eye +0 -6
  1049. package/test/conformance/cases/negation/stratified_negation_answers.eye +0 -6
  1050. package/test/conformance/cases/rules/001_fact_output.eye +0 -4
  1051. package/test/conformance/cases/rules/002_rule_recursion.eye +0 -7
  1052. package/test/conformance/cases/rules/011_predicate_arity.eye +0 -6
  1053. package/test/conformance/cases/rules/013_multiple_clauses_order.eye +0 -6
  1054. package/test/conformance/cases/rules/017_three_step_recursion.eye +0 -8
  1055. package/test/conformance/cases/rules/022_rule_head_structure.eye +0 -5
  1056. package/test/conformance/cases/rules/077_recursive_path_with_lists.eye +0 -10
  1057. package/test/conformance/cases/rules/078_mutual_recursion_with_arithmetic.eye +0 -7
  1058. package/test/conformance/cases/rules/extra_left_to_right_multiple_bindings.eye +0 -5
  1059. package/test/conformance/cases/rules/extra_structured_head_rule.eye +0 -3
  1060. package/test/conformance/cases/rules/left_to_right_body_binding.eye +0 -4
  1061. package/test/conformance/cases/rules/transitive_rule_three_edges.eye +0 -7
  1062. package/test/conformance/cases/strings/023_quoted_escapes_readback.eye +0 -5
  1063. package/test/conformance/cases/strings/030_strings_and_atoms.eye +0 -4
  1064. package/test/conformance/cases/strings/055_string_matching_filters.eye +0 -6
  1065. package/test/conformance/cases/strings/056_string_and_atom_concat.eye +0 -3
  1066. package/test/conformance/cases/strings/064_reusable_string_builtins.eye +0 -12
  1067. package/test/conformance/cases/strings/070_matches_named_captures.eye +0 -13
  1068. package/test/conformance/cases/strings/071_string_edges.eye +0 -10
  1069. package/test/conformance/cases/strings/072_string_conversions.eye +0 -10
  1070. package/test/conformance/cases/strings/089_string_split_join_pipeline.eye +0 -7
  1071. package/test/conformance/cases/strings/090_string_substring_replace_edges.eye +0 -9
  1072. package/test/conformance/cases/strings/091_string_case_and_trim.eye +0 -7
  1073. package/test/conformance/cases/strings/092_scalar_string_conversions.eye +0 -9
  1074. package/test/conformance/cases/strings/093_regex_named_captures_context.eye +0 -8
  1075. package/test/conformance/cases/strings/atom_string_from_string.eye +0 -2
  1076. package/test/conformance/cases/strings/casefold_atoms.eye +0 -3
  1077. package/test/conformance/cases/strings/extra_atom_string_number_input.eye +0 -2
  1078. package/test/conformance/cases/strings/extra_join_empty_list.eye +0 -2
  1079. package/test/conformance/cases/strings/extra_join_iri_and_atom.eye +0 -2
  1080. package/test/conformance/cases/strings/extra_lowercase_iri_atom.eye +0 -2
  1081. package/test/conformance/cases/strings/extra_named_regex_optional_missing.eye +0 -2
  1082. package/test/conformance/cases/strings/extra_number_string_atom_input.eye +0 -2
  1083. package/test/conformance/cases/strings/extra_replace_multiple.eye +0 -2
  1084. package/test/conformance/cases/strings/extra_split_empty_separator.eye +0 -2
  1085. package/test/conformance/cases/strings/extra_substring_last_char.eye +0 -2
  1086. package/test/conformance/cases/strings/extra_term_string_iri_list.eye +0 -2
  1087. package/test/conformance/cases/strings/extra_uppercase_mixed_string.eye +0 -2
  1088. package/test/conformance/cases/strings/join_mixed_scalars.eye +0 -2
  1089. package/test/conformance/cases/strings/named_regex_two_groups.eye +0 -2
  1090. package/test/conformance/cases/strings/number_string_from_string.eye +0 -2
  1091. package/test/conformance/cases/strings/number_string_rejects_non_numeric.eye +0 -2
  1092. package/test/conformance/cases/strings/replace_empty_search_no_change.eye +0 -2
  1093. package/test/conformance/cases/strings/split_without_separator_match.eye +0 -2
  1094. package/test/conformance/cases/strings/substring_out_of_range_fails.eye +0 -2
  1095. package/test/conformance/cases/strings/substring_zero_count.eye +0 -2
  1096. package/test/conformance/cases/strings/term_string_nested_term.eye +0 -2
  1097. package/test/conformance/cases/strings/trim_tabs_and_spaces.eye +0 -3
  1098. package/test/conformance/cases/syntax/004_conjunction_and_parentheses.eye +0 -5
  1099. package/test/conformance/cases/syntax/006_comma_formula_data.eye +0 -4
  1100. package/test/conformance/cases/syntax/009_comments_and_whitespace.eye +0 -5
  1101. package/test/conformance/cases/syntax/019_parenthesized_three_conjuncts.eye +0 -7
  1102. package/test/conformance/cases/syntax/025_body_parentheses_with_formula_data.eye +0 -5
  1103. package/test/conformance/cases/syntax/parenthesized_query_style_body.eye +0 -5
  1104. package/test/conformance/cases/table/038_table_declaration.eye +0 -8
  1105. package/test/conformance/cases/table/102_table_declaration.eye +0 -11
  1106. package/test/conformance/cases/table/extra_table_bound_cycle.eye +0 -7
  1107. package/test/conformance/cases/table/extra_table_open_call_fallback.eye +0 -5
  1108. package/test/conformance/cases/table/table_does_not_change_answers.eye +0 -7
  1109. package/test/conformance/cases/table/tabled_left_recursion_path.eye +0 -7
  1110. package/test/conformance/cases/terms/003_terms_and_readback.eye +0 -16
  1111. package/test/conformance/cases/terms/065_reusable_term_control_builtins.eye +0 -11
  1112. package/test/conformance/cases/terms/073_term_introspection_edges.eye +0 -11
  1113. package/test/conformance/cases/terms/095_term_introspection_roundtrip.eye +0 -8
  1114. package/test/conformance/cases/terms/096_functor_scalar_edges.eye +0 -8
  1115. package/test/conformance/cases/terms/arg_first_and_second.eye +0 -3
  1116. package/test/conformance/cases/terms/arg_zero_fails.eye +0 -2
  1117. package/test/conformance/cases/terms/compound_name_arguments_atom_zero_args.eye +0 -3
  1118. package/test/conformance/cases/terms/compound_name_arguments_bad_args_fail.eye +0 -2
  1119. package/test/conformance/cases/terms/compound_name_arguments_builds_atom_from_empty_args.eye +0 -3
  1120. package/test/conformance/cases/terms/compound_name_arguments_builds_compound.eye +0 -2
  1121. package/test/conformance/cases/terms/compound_name_arguments_iri_name.eye +0 -2
  1122. package/test/conformance/cases/terms/extra_arg_atom_fails.eye +0 -2
  1123. package/test/conformance/cases/terms/extra_arg_first_last.eye +0 -2
  1124. package/test/conformance/cases/terms/extra_arg_zero_fails.eye +0 -2
  1125. package/test/conformance/cases/terms/extra_compound_name_arguments_bad_args_fails.eye +0 -2
  1126. package/test/conformance/cases/terms/extra_compound_name_arguments_construct_atom_zero.eye +0 -2
  1127. package/test/conformance/cases/terms/extra_compound_name_arguments_construct_iri.eye +0 -2
  1128. package/test/conformance/cases/terms/extra_compound_name_arguments_decompose_list.eye +0 -2
  1129. package/test/conformance/cases/terms/extra_functor_list_cons.eye +0 -2
  1130. package/test/conformance/cases/terms/extra_functor_number_scalar.eye +0 -2
  1131. package/test/conformance/cases/terms/extra_functor_string_scalar.eye +0 -2
  1132. package/test/conformance/cases/terms/functor_atom_arity_zero.eye +0 -3
  1133. package/test/conformance/cases/terms/functor_number_and_string.eye +0 -3
  1134. package/test/conformance/cases/terms/herbrand_witness_one_input.eye +0 -5
  1135. package/test/conformance/cases/terms/herbrand_witness_two_inputs.eye +0 -5
  1136. package/test/conformance/cases/terms/term_string_readback_iri_list.eye +0 -2
  1137. package/test/conformance/cases/unification/012_nested_compound_unification.eye +0 -5
  1138. package/test/conformance/cases/unification/021_repeated_variable_head.eye +0 -7
  1139. package/test/conformance/cases/unification/034_equality_and_inequality.eye +0 -6
  1140. package/test/conformance/cases/unification/extra_eq_iri_and_quoted_atom.eye +0 -2
  1141. package/test/conformance/cases/unification/extra_eq_list_tail_binding.eye +0 -2
  1142. package/test/conformance/cases/unification/extra_eq_nested_repeated_fails.eye +0 -2
  1143. package/test/conformance/cases/unification/extra_eq_nested_repeated_success.eye +0 -2
  1144. package/test/conformance/cases/unification/extra_variable_clause_locality.eye +0 -4
  1145. package/test/conformance/cases/unification/list_tail_binding.eye +0 -2
  1146. package/test/conformance/cases/unification/nested_repeated_variable.eye +0 -2
  1147. package/test/conformance/cases/variables/007_anonymous_variables.eye +0 -5
  1148. package/test/conformance/cases/variables/010_variable_scope_and_reuse.eye +0 -8
  1149. package/test/conformance/cases/variables/026_question_underscore_named_variable_reuse.eye +0 -5
  1150. package/test/conformance/cases/variables/101_question_mark_variables.eye +0 -7
  1151. package/test/conformance/cases/variables/anonymous_in_two_goals.eye +0 -4
  1152. package/test/conformance/cases/variables/clause_local_variable_names.eye +0 -5
  1153. package/test/conformance/cases/variables/extra_anonymous_not_reused.eye +0 -2
  1154. package/test/conformance/cases/variables/extra_named_variable_reused.eye +0 -2
  1155. package/test/conformance/cases/variables/extra_question_underscore_named_distinct.eye +0 -2
  1156. package/test/conformance/cases/variables/extra_question_uppercase_named.eye +0 -2
  1157. package/test/conformance/cases/variables/question_anonymous_not_reused.eye +0 -6
  1158. package/test/conformance/cases/variables/question_underscore_named_reuse.eye +0 -5
  1159. package/test/conformance/cases/variables/question_uppercase_variable.eye +0 -4
  1160. package/test/conformance/cases/variables/question_variable_digits_and_underscore.eye +0 -2
  1161. package/test/conformance/cases/variables/question_variable_uppercase_name.eye +0 -2
  1162. package/test/conformance/cases/variables/variable_scope_per_clause.eye +0 -6
  1163. package/test/conformance/errors/syntax/bad_question_variable.eye +0 -1
  1164. package/test/conformance/errors/variables/bare_underscore_in_list_rejected.eye +0 -1
  1165. package/test/conformance/errors/variables/bare_underscore_name_in_compound_rejected.eye +0 -1
  1166. package/test/conformance/errors/variables/bare_underscore_rejected.eye +0 -1
  1167. package/test/conformance/errors/variables/extra_bare_underscore_in_rule_head.eye +0 -1
  1168. package/test/conformance/errors/variables/extra_question_dash_variable.eye +0 -1
  1169. package/test/conformance/errors/variables/extra_uppercase_in_list.eye +0 -1
  1170. package/test/conformance/errors/variables/question_dot_rejected.eye +0 -1
  1171. package/test/conformance/errors/variables/underscore_named_rejected.eye +0 -1
  1172. package/test/conformance/errors/variables/uppercase_in_body_rejected.eye +0 -1
  1173. package/test/conformance/errors/variables/uppercase_variable_rejected.eye +0 -1
  1174. package/test/conformance/expected/aggregation/extra_aggregate_max_iri_key.eye +0 -1
  1175. package/test/conformance/expected/atoms/103_angle_iri_atoms.eye +0 -3
  1176. package/test/conformance/expected/atoms/iri_atoms_in_lists.eye +0 -1
  1177. package/test/conformance/expected/atoms/iri_mailto_readback.eye +0 -1
  1178. package/test/conformance/expected/atoms/iri_query_fragment_readback.eye +0 -1
  1179. package/test/conformance/expected/atoms/iri_quoted_absolute_readback.eye +0 -2
  1180. package/test/conformance/expected/atoms/iri_urn_readback.eye +0 -1
  1181. package/test/conformance/expected/atoms/quoted_urn_iri_readback.eye +0 -1
  1182. package/test/conformance/expected/builtins/atom_string_iri_atom.eye +0 -1
  1183. package/test/conformance/expected/lists/extra_reverse_nested_terms.eye +0 -1
  1184. package/test/conformance/expected/lists/extra_sort_iri_atoms.eye +0 -1
  1185. package/test/conformance/expected/lists/list_with_iri_atoms.eye +0 -1
  1186. package/test/conformance/expected/strings/extra_join_iri_and_atom.eye +0 -1
  1187. package/test/conformance/expected/strings/extra_lowercase_iri_atom.eye +0 -1
  1188. package/test/conformance/expected/strings/extra_term_string_iri_list.eye +0 -1
  1189. package/test/conformance/expected/strings/term_string_nested_term.eye +0 -1
  1190. package/test/conformance/expected/terms/compound_name_arguments_iri_name.eye +0 -1
  1191. package/test/conformance/expected/terms/extra_compound_name_arguments_construct_iri.eye +0 -1
  1192. package/test/conformance/expected/terms/term_string_readback_iri_list.eye +0 -1
  1193. package/test/conformance/expected/unification/extra_eq_iri_and_quoted_atom.eye +0 -1
  1194. package/test/conformance/expected/variables/question_variable_digits_and_underscore.eye +0 -1
  1195. package/test/conformance/expected/variables/question_variable_uppercase_name.eye +0 -1
  1196. package/test/conformance/expected-proofs/proofs/bindings_nested_term.eye +0 -16
  1197. package/test/conformance/expected-proofs/proofs/builtin_numeric.eye +0 -16
  1198. package/test/conformance/expected-proofs/proofs/extra_aggregate_min.eye +0 -16
  1199. package/test/conformance/expected-proofs/proofs/extra_compound_name_arguments.eye +0 -16
  1200. package/test/conformance/expected-proofs/proofs/extra_eq_builtin.eye +0 -16
  1201. package/test/conformance/expected-proofs/proofs/extra_findall_builtin.eye +0 -16
  1202. package/test/conformance/expected-proofs/proofs/extra_forall_builtin.eye +0 -15
  1203. package/test/conformance/expected-proofs/proofs/extra_holds_parts.eye +0 -32
  1204. package/test/conformance/expected-proofs/proofs/extra_iri_join.eye +0 -16
  1205. package/test/conformance/expected-proofs/proofs/extra_nested_list_binding.eye +0 -16
  1206. package/test/conformance/expected-proofs/proofs/extra_once_member.eye +0 -22
  1207. package/test/conformance/expected-proofs/proofs/extra_recursive_path.eye +0 -59
  1208. package/test/conformance/expected-proofs/proofs/extra_table_path_bound.eye +0 -57
  1209. package/test/conformance/expected-proofs/proofs/herbrand_witness.eye +0 -16
  1210. package/test/conformance/expected-proofs/proofs/iri_atom.eye +0 -16
  1211. package/test/conformance/expected-proofs/proofs/list_builtin.eye +0 -20
  1212. package/test/conformance/expected-proofs/proofs/once_child.eye +0 -22
  1213. package/test/conformance/expected-proofs/proofs/rule_fact.eye +0 -16
  1214. package/test/conformance/expected-proofs/proofs/table_recursive.eye +0 -59
  1215. package/test/conformance/proofs/proofs/bindings_nested_term.eye +0 -4
  1216. package/test/conformance/proofs/proofs/builtin_numeric.eye +0 -3
  1217. package/test/conformance/proofs/proofs/extra_aggregate_min.eye +0 -4
  1218. package/test/conformance/proofs/proofs/extra_compound_name_arguments.eye +0 -2
  1219. package/test/conformance/proofs/proofs/extra_eq_builtin.eye +0 -2
  1220. package/test/conformance/proofs/proofs/extra_findall_builtin.eye +0 -4
  1221. package/test/conformance/proofs/proofs/extra_forall_builtin.eye +0 -2
  1222. package/test/conformance/proofs/proofs/extra_holds_parts.eye +0 -2
  1223. package/test/conformance/proofs/proofs/extra_iri_join.eye +0 -2
  1224. package/test/conformance/proofs/proofs/extra_nested_list_binding.eye +0 -2
  1225. package/test/conformance/proofs/proofs/extra_once_member.eye +0 -2
  1226. package/test/conformance/proofs/proofs/extra_recursive_path.eye +0 -5
  1227. package/test/conformance/proofs/proofs/extra_table_path_bound.eye +0 -7
  1228. package/test/conformance/proofs/proofs/herbrand_witness.eye +0 -3
  1229. package/test/conformance/proofs/proofs/iri_atom.eye +0 -4
  1230. package/test/conformance/proofs/proofs/list_builtin.eye +0 -3
  1231. package/test/conformance/proofs/proofs/once_child.eye +0 -5
  1232. package/test/conformance/proofs/proofs/rule_fact.eye +0 -4
  1233. package/test/conformance/proofs/proofs/table_recursive.eye +0 -7
  1234. package/test/conformance/warnings/negation/extra_stratified_negation_with_table_quiet.eye +0 -6
  1235. package/test/conformance/warnings/negation/extra_unstratified_indirect_self_with_fact.eye +0 -5
  1236. package/test/conformance/warnings/negation/extra_unstratified_positive_negative_loop.eye +0 -5
  1237. package/test/conformance/warnings/negation/no_negation_quiet.eye +0 -3
  1238. package/test/conformance/warnings/negation/stratified_negative_unknown_after_positive_quiet.eye +0 -3
  1239. package/test/conformance/warnings/negation/stratified_two_level_quiet.eye +0 -5
  1240. package/test/conformance/warnings/negation/unstratified_three_step.eye +0 -6
  1241. package/test/conformance/warnings/negation/unstratified_with_iri_predicates.eye +0 -4
  1242. /package/examples/output/{abstract-interpretation.eye → abstract-interpretation.pl} +0 -0
  1243. /package/examples/output/{access-control-policy.eye → access-control-policy.pl} +0 -0
  1244. /package/examples/output/{ackermann.eye → ackermann.pl} +0 -0
  1245. /package/examples/output/{age.eye → age.pl} +0 -0
  1246. /package/examples/output/{aliases-and-namespaces.eye → aliases-and-namespaces.pl} +0 -0
  1247. /package/examples/output/{alignment-demo.eye → alignment-demo.pl} +0 -0
  1248. /package/examples/output/{allen-interval-calculus.eye → allen-interval-calculus.pl} +0 -0
  1249. /package/examples/output/{ancestor.eye → ancestor.pl} +0 -0
  1250. /package/examples/output/{animal.eye → animal.pl} +0 -0
  1251. /package/examples/output/{annotation.eye → annotation.pl} +0 -0
  1252. /package/examples/output/{auroracare.eye → auroracare.pl} +0 -0
  1253. /package/examples/output/{backward.eye → backward.pl} +0 -0
  1254. /package/examples/output/{basic-monadic.eye → basic-monadic.pl} +0 -0
  1255. /package/examples/output/{bayes-diagnosis.eye → bayes-diagnosis.pl} +0 -0
  1256. /package/examples/output/{bayes-therapy.eye → bayes-therapy.pl} +0 -0
  1257. /package/examples/output/{beam-deflection.eye → beam-deflection.pl} +0 -0
  1258. /package/examples/output/{binomial-vandermonde.eye → binomial-vandermonde.pl} +0 -0
  1259. /package/examples/output/{blocks-world-planning.eye → blocks-world-planning.pl} +0 -0
  1260. /package/examples/output/{bmi.eye → bmi.pl} +0 -0
  1261. /package/examples/output/{braking-safety-worlds.eye → braking-safety-worlds.pl} +0 -0
  1262. /package/examples/output/{buck-converter-design.eye → buck-converter-design.pl} +0 -0
  1263. /package/examples/output/{cache-performance.eye → cache-performance.pl} +0 -0
  1264. /package/examples/output/{canary-release.eye → canary-release.pl} +0 -0
  1265. /package/examples/output/{cat-koko.eye → cat-koko.pl} +0 -0
  1266. /package/examples/output/{catalan-convolution.eye → catalan-convolution.pl} +0 -0
  1267. /package/examples/output/{cdcl-sat-solver.eye → cdcl-sat-solver.pl} +0 -0
  1268. /package/examples/output/{chart-parser.eye → chart-parser.pl} +0 -0
  1269. /package/examples/output/{clinical-trial-screening.eye → clinical-trial-screening.pl} +0 -0
  1270. /package/examples/output/{collatz-1000.eye → collatz-1000.pl} +0 -0
  1271. /package/examples/output/{combinatorics-findall-sort.eye → combinatorics-findall-sort.pl} +0 -0
  1272. /package/examples/output/{competitive-enzyme-kinetics.eye → competitive-enzyme-kinetics.pl} +0 -0
  1273. /package/examples/output/{complex.eye → complex.pl} +0 -0
  1274. /package/examples/output/{composition-of-injective-functions-is-injective.eye → composition-of-injective-functions-is-injective.pl} +0 -0
  1275. /package/examples/output/{context-association.eye → context-association.pl} +0 -0
  1276. /package/examples/output/{context-schema-audit.eye → context-schema-audit.pl} +0 -0
  1277. /package/examples/output/{continued-fraction-sqrt2.eye → continued-fraction-sqrt2.pl} +0 -0
  1278. /package/examples/output/{control-system.eye → control-system.pl} +0 -0
  1279. /package/examples/output/{critical-path-schedule.eye → critical-path-schedule.pl} +0 -0
  1280. /package/examples/output/{cyclic-path.eye → cyclic-path.pl} +0 -0
  1281. /package/examples/output/{d3-group.eye → d3-group.pl} +0 -0
  1282. /package/examples/output/{dairy-energy-balance.eye → dairy-energy-balance.pl} +0 -0
  1283. /package/examples/output/{data-negotiation.eye → data-negotiation.pl} +0 -0
  1284. /package/examples/output/{delfour.eye → delfour.pl} +0 -0
  1285. /package/examples/output/{deontic-logic.eye → deontic-logic.pl} +0 -0
  1286. /package/examples/output/{derived-backward-rule.eye → derived-backward-rule.pl} +0 -0
  1287. /package/examples/output/{derived-rule.eye → derived-rule.pl} +0 -0
  1288. /package/examples/output/{diamond-property.eye → diamond-property.pl} +0 -0
  1289. /package/examples/output/{dijkstra-findall-sort.eye → dijkstra-findall-sort.pl} +0 -0
  1290. /package/examples/output/{dijkstra-risk-path.eye → dijkstra-risk-path.pl} +0 -0
  1291. /package/examples/output/{dijkstra.eye → dijkstra.pl} +0 -0
  1292. /package/examples/output/{dining-philosophers.eye → dining-philosophers.pl} +0 -0
  1293. /package/examples/output/{dog.eye → dog.pl} +0 -0
  1294. /package/examples/output/{dpv-odrl-purpose-mapping.eye → dpv-odrl-purpose-mapping.pl} +0 -0
  1295. /package/examples/output/{drone-corridor-planner.eye → drone-corridor-planner.pl} +0 -0
  1296. /package/examples/output/{easter-computus.eye → easter-computus.pl} +0 -0
  1297. /package/examples/output/{electrical-rc-filter.eye → electrical-rc-filter.pl} +0 -0
  1298. /package/examples/output/{epidemic-policy.eye → epidemic-policy.pl} +0 -0
  1299. /package/examples/output/{equality-saturation.eye → equality-saturation.pl} +0 -0
  1300. /package/examples/output/{equivalence-classes-overlap-implies-same-class.eye → equivalence-classes-overlap-implies-same-class.pl} +0 -0
  1301. /package/examples/output/{eulerian-path.eye → eulerian-path.pl} +0 -0
  1302. /package/examples/output/{ev-range-worlds.eye → ev-range-worlds.pl} +0 -0
  1303. /package/examples/output/{existential-rule.eye → existential-rule.pl} +0 -0
  1304. /package/examples/output/{exoplanet-validation-worlds.eye → exoplanet-validation-worlds.pl} +0 -0
  1305. /package/examples/output/{expression-eval.eye → expression-eval.pl} +0 -0
  1306. /package/examples/output/{family-cousins.eye → family-cousins.pl} +0 -0
  1307. /package/examples/output/{fastpow.eye → fastpow.pl} +0 -0
  1308. /package/examples/output/{fft8-numeric.eye → fft8-numeric.pl} +0 -0
  1309. /package/examples/output/{fibonacci.eye → fibonacci.pl} +0 -0
  1310. /package/examples/output/{field-nitrogen-balance.eye → field-nitrogen-balance.pl} +0 -0
  1311. /package/examples/output/{flandor.eye → flandor.pl} +0 -0
  1312. /package/examples/output/{floating-point.eye → floating-point.pl} +0 -0
  1313. /package/examples/output/{four-color-map.eye → four-color-map.pl} +0 -0
  1314. /package/examples/output/{fundamental-theorem-arithmetic.eye → fundamental-theorem-arithmetic.pl} +0 -0
  1315. /package/examples/output/{gd-step-certified.eye → gd-step-certified.pl} +0 -0
  1316. /package/examples/output/{gdpr-compliance.eye → gdpr-compliance.pl} +0 -0
  1317. /package/examples/output/{good-cobbler.eye → good-cobbler.pl} +0 -0
  1318. /package/examples/output/{gps.eye → gps.pl} +0 -0
  1319. /package/examples/output/{graph-reachability.eye → graph-reachability.pl} +0 -0
  1320. /package/examples/output/{graph.eye → graph.pl} +0 -0
  1321. /package/examples/output/{gray-code-counter.eye → gray-code-counter.pl} +0 -0
  1322. /package/examples/output/{greatest-lower-bound-uniqueness.eye → greatest-lower-bound-uniqueness.pl} +0 -0
  1323. /package/examples/output/{group-inverse-uniqueness.eye → group-inverse-uniqueness.pl} +0 -0
  1324. /package/examples/output/{hamiltonian-path.eye → hamiltonian-path.pl} +0 -0
  1325. /package/examples/output/{hamming-code.eye → hamming-code.pl} +0 -0
  1326. /package/examples/output/{hanoi.eye → hanoi.pl} +0 -0
  1327. /package/examples/output/{heat-loss.eye → heat-loss.pl} +0 -0
  1328. /package/examples/output/{herbrand-witnesses.eye → herbrand-witnesses.pl} +0 -0
  1329. /package/examples/output/{heron-theorem.eye → heron-theorem.pl} +0 -0
  1330. /package/examples/output/{ideal-gas-law.eye → ideal-gas-law.pl} +0 -0
  1331. /package/examples/output/{illegitimate-reasoning.eye → illegitimate-reasoning.pl} +0 -0
  1332. /package/examples/output/{integer-partitions.eye → integer-partitions.pl} +0 -0
  1333. /package/examples/output/{intuitionistic-logic-kripke.eye → intuitionistic-logic-kripke.pl} +0 -0
  1334. /package/examples/output/{job-shop-scheduling.eye → job-shop-scheduling.pl} +0 -0
  1335. /package/examples/output/{knapsack-optimization.eye → knapsack-optimization.pl} +0 -0
  1336. /package/examples/output/{knowledge-engineering-alignment-flow.eye → knowledge-engineering-alignment-flow.pl} +0 -0
  1337. /package/examples/output/{knuth-bendix-completion.eye → knuth-bendix-completion.pl} +0 -0
  1338. /package/examples/output/{law-of-cosines.eye → law-of-cosines.pl} +0 -0
  1339. /package/examples/output/{least-squares-regression.eye → least-squares-regression.pl} +0 -0
  1340. /package/examples/output/{linear-logic-resources.eye → linear-logic-resources.pl} +0 -0
  1341. /package/examples/output/{list-collection.eye → list-collection.pl} +0 -0
  1342. /package/examples/output/{lldm.eye → lldm.pl} +0 -0
  1343. /package/examples/output/{manufacturing-quality-control.eye → manufacturing-quality-control.pl} +0 -0
  1344. /package/examples/output/{map-four-color-search.eye → map-four-color-search.pl} +0 -0
  1345. /package/examples/output/{markov-logic-network.eye → markov-logic-network.pl} +0 -0
  1346. /package/examples/output/{matrix-chain-order.eye → matrix-chain-order.pl} +0 -0
  1347. /package/examples/output/{matrix-noncommutativity.eye → matrix-noncommutativity.pl} +0 -0
  1348. /package/examples/output/{microgrid-dispatch.eye → microgrid-dispatch.pl} +0 -0
  1349. /package/examples/output/{missionaries-cannibals.eye → missionaries-cannibals.pl} +0 -0
  1350. /package/examples/output/{modal-logic-kripke.eye → modal-logic-kripke.pl} +0 -0
  1351. /package/examples/output/{modular-exponentiation.eye → modular-exponentiation.pl} +0 -0
  1352. /package/examples/output/{monkey-bananas.eye → monkey-bananas.pl} +0 -0
  1353. /package/examples/output/{n-queens-8.eye → n-queens-8.pl} +0 -0
  1354. /package/examples/output/{network-sla.eye → network-sla.pl} +0 -0
  1355. /package/examples/output/{newton-raphson.eye → newton-raphson.pl} +0 -0
  1356. /package/examples/output/{nixon-diamond.eye → nixon-diamond.pl} +0 -0
  1357. /package/examples/output/{observability-log-correlation.eye → observability-log-correlation.pl} +0 -0
  1358. /package/examples/output/{odrl-dpv-fpv-trust-flow.eye → odrl-dpv-fpv-trust-flow.pl} +0 -0
  1359. /package/examples/output/{odrl-dpv-healthcare-risk-ranked.eye → odrl-dpv-healthcare-risk-ranked.pl} +0 -0
  1360. /package/examples/output/{odrl-dpv-risk-ranked.eye → odrl-dpv-risk-ranked.pl} +0 -0
  1361. /package/examples/output/{orbital-transfer-design.eye → orbital-transfer-design.pl} +0 -0
  1362. /package/examples/output/{partial-evaluator.eye → partial-evaluator.pl} +0 -0
  1363. /package/examples/output/{path-discovery.eye → path-discovery.pl} +0 -0
  1364. /package/examples/output/{peano-arithmetic.eye → peano-arithmetic.pl} +0 -0
  1365. /package/examples/output/{peano-calculus.eye → peano-calculus.pl} +0 -0
  1366. /package/examples/output/{peasant.eye → peasant.pl} +0 -0
  1367. /package/examples/output/{pell-equation.eye → pell-equation.pl} +0 -0
  1368. /package/examples/output/{pendulum-period.eye → pendulum-period.pl} +0 -0
  1369. /package/examples/output/{pointer-analysis.eye → pointer-analysis.pl} +0 -0
  1370. /package/examples/output/{polynomial.eye → polynomial.pl} +0 -0
  1371. /package/examples/output/{prime-range.eye → prime-range.pl} +0 -0
  1372. /package/examples/output/{proof-contrapositive.eye → proof-contrapositive.pl} +0 -0
  1373. /package/examples/output/{quadratic-formula.eye → quadratic-formula.pl} +0 -0
  1374. /package/examples/output/{radioactive-decay.eye → radioactive-decay.pl} +0 -0
  1375. /package/examples/output/{register-allocation.eye → register-allocation.pl} +0 -0
  1376. /package/examples/output/{reusable-builtins.eye → reusable-builtins.pl} +0 -0
  1377. /package/examples/output/{riemann-hypothesis.eye → riemann-hypothesis.pl} +0 -0
  1378. /package/examples/output/{route-planning.eye → route-planning.pl} +0 -0
  1379. /package/examples/output/{sat-solver-dpll.eye → sat-solver-dpll.pl} +0 -0
  1380. /package/examples/output/{security-incident-correlation.eye → security-incident-correlation.pl} +0 -0
  1381. /package/examples/output/{send-more-money.eye → send-more-money.pl} +0 -0
  1382. /package/examples/output/{service-impact.eye → service-impact.pl} +0 -0
  1383. /package/examples/output/{shoelace-polygon-area.eye → shoelace-polygon-area.pl} +0 -0
  1384. /package/examples/output/{sieve.eye → sieve.pl} +0 -0
  1385. /package/examples/output/{skolem-functions.eye → skolem-functions.pl} +0 -0
  1386. /package/examples/output/{socket-age.eye → socket-age.pl} +0 -0
  1387. /package/examples/output/{socket-family.eye → socket-family.pl} +0 -0
  1388. /package/examples/output/{socrates.eye → socrates.pl} +0 -0
  1389. /package/examples/output/{stable-marriage.eye → stable-marriage.pl} +0 -0
  1390. /package/examples/output/{statistics-summary.eye → statistics-summary.pl} +0 -0
  1391. /package/examples/output/{stirling-bell-numbers.eye → stirling-bell-numbers.pl} +0 -0
  1392. /package/examples/output/{sudoku-4x4.eye → sudoku-4x4.pl} +0 -0
  1393. /package/examples/output/{superdense-coding.eye → superdense-coding.pl} +0 -0
  1394. /package/examples/output/{symbolic-derivative.eye → symbolic-derivative.pl} +0 -0
  1395. /package/examples/output/{term-tools.eye → term-tools.pl} +0 -0
  1396. /package/examples/output/{totient-summatory.eye → totient-summatory.pl} +0 -0
  1397. /package/examples/output/{trust-flow-provenance-threshold.eye → trust-flow-provenance-threshold.pl} +0 -0
  1398. /package/examples/output/{truth-maintenance-system.eye → truth-maintenance-system.pl} +0 -0
  1399. /package/examples/output/{turing.eye → turing.pl} +0 -0
  1400. /package/examples/output/{type-inference.eye → type-inference.pl} +0 -0
  1401. /package/examples/output/{vector-similarity.eye → vector-similarity.pl} +0 -0
  1402. /package/examples/output/{vulnerability-impact.eye → vulnerability-impact.pl} +0 -0
  1403. /package/examples/output/{weighted-interval-scheduling.eye → weighted-interval-scheduling.pl} +0 -0
  1404. /package/examples/output/{witch.eye → witch.pl} +0 -0
  1405. /package/examples/output/{wolf-goat-cabbage.eye → wolf-goat-cabbage.pl} +0 -0
  1406. /package/examples/output/{workplace-compliance.eye → workplace-compliance.pl} +0 -0
  1407. /package/examples/output/{zebra.eye → zebra.pl} +0 -0
  1408. /package/test/conformance/cases/arithmetic/{054_numeric_and_lexical_comparison.eye → 054_numeric_and_lexical_comparison.pl} +0 -0
  1409. /package/test/conformance/cases/arithmetic/{082_comparison_semantics.eye → 082_comparison_semantics.pl} +0 -0
  1410. /package/test/conformance/cases/arithmetic/{between_bound_value.eye → between_bound_value.pl} +0 -0
  1411. /package/test/conformance/cases/arithmetic/{duration_comparison.eye → duration_comparison.pl} +0 -0
  1412. /package/test/conformance/cases/arithmetic/{extra_ge_equal_duration.eye → extra_ge_equal_duration.pl} +0 -0
  1413. /package/test/conformance/cases/arithmetic/{extra_le_equal_string.eye → extra_le_equal_string.pl} +0 -0
  1414. /package/test/conformance/cases/atoms/{extra_graphic_backslash_atom.eye → extra_graphic_backslash_atom.pl} +0 -0
  1415. /package/test/conformance/cases/atoms/{extra_quoted_atom_with_quote_readback.eye → extra_quoted_atom_with_quote_readback.pl} +0 -0
  1416. /package/test/conformance/cases/atoms/{graphic_atom_predicate.eye → graphic_atom_predicate.pl} +0 -0
  1417. /package/test/conformance/cases/atoms/{iri_as_predicate_name_quoted.eye → iri_as_predicate_name_quoted.pl} +0 -0
  1418. /package/test/conformance/cases/atoms/{quoted_relative_iri_not_angle.eye → quoted_relative_iri_not_angle.pl} +0 -0
  1419. /package/test/conformance/cases/builtins/{037_matching_and_comparison.eye → 037_matching_and_comparison.pl} +0 -0
  1420. /package/test/conformance/cases/context/{holds_compound_formula.eye → holds_compound_formula.pl} +0 -0
  1421. /package/test/conformance/cases/context/{holds_fails_when_missing.eye → holds_fails_when_missing.pl} +0 -0
  1422. /package/test/conformance/cases/control/{double_negation_ground_goal.eye → double_negation_ground_goal.pl} +0 -0
  1423. /package/test/conformance/cases/control/{extra_once_empty_fails.eye → extra_once_empty_fails.pl} +0 -0
  1424. /package/test/conformance/cases/declarations/{det_semidet_do_not_emit_without_materialize.eye → det_semidet_do_not_emit_without_materialize.pl} +0 -0
  1425. /package/test/conformance/cases/declarations/{mode_ignored_when_arity_mismatch.eye → mode_ignored_when_arity_mismatch.pl} +0 -0
  1426. /package/test/conformance/cases/lists/{extra_not_member_compound_fails.eye → extra_not_member_compound_fails.pl} +0 -0
  1427. /package/test/conformance/cases/lists/{extra_not_member_compound_success.eye → extra_not_member_compound_success.pl} +0 -0
  1428. /package/test/conformance/cases/lists/{nth0_known_value.eye → nth0_known_value.pl} +0 -0
  1429. /package/test/conformance/cases/materialize/{arity_specific_outputs.eye → arity_specific_outputs.pl} +0 -0
  1430. /package/test/conformance/cases/materialize/{extra_materialize_derived_only_with_same_source.eye → extra_materialize_derived_only_with_same_source.pl} +0 -0
  1431. /package/test/conformance/cases/materialize/{extra_materialize_selects_arity.eye → extra_materialize_selects_arity.pl} +0 -0
  1432. /package/test/conformance/cases/negation/{extra_not_with_bound_fails.eye → extra_not_with_bound_fails.pl} +0 -0
  1433. /package/test/conformance/cases/negation/{extra_not_with_bound_success.eye → extra_not_with_bound_success.pl} +0 -0
  1434. /package/test/conformance/cases/negation/{not_known_goal_fails.eye → not_known_goal_fails.pl} +0 -0
  1435. /package/test/conformance/cases/negation/{not_unknown_goal_succeeds.eye → not_unknown_goal_succeeds.pl} +0 -0
  1436. /package/test/conformance/cases/strings/{contains_empty_needle.eye → contains_empty_needle.pl} +0 -0
  1437. /package/test/conformance/cases/strings/{extra_matches_invalid_pattern_fails.eye → extra_matches_invalid_pattern_fails.pl} +0 -0
  1438. /package/test/conformance/cases/strings/{matches_simple_alternation.eye → matches_simple_alternation.pl} +0 -0
  1439. /package/test/conformance/cases/strings/{not_matches_simple_pattern.eye → not_matches_simple_pattern.pl} +0 -0
  1440. /package/test/conformance/cases/syntax/{comments_inside_program.eye → comments_inside_program.pl} +0 -0
  1441. /package/test/conformance/cases/syntax/{extra_comments_after_terms.eye → extra_comments_after_terms.pl} +0 -0
  1442. /package/test/conformance/cases/syntax/{extra_nested_parenthesized_body.eye → extra_nested_parenthesized_body.pl} +0 -0
  1443. /package/test/conformance/cases/syntax/{quoted_atom_with_newline_escape.eye → quoted_atom_with_newline_escape.pl} +0 -0
  1444. /package/test/conformance/cases/syntax/{string_with_tab_escape.eye → string_with_tab_escape.pl} +0 -0
  1445. /package/test/conformance/cases/terms/{herbrand_witness_different_inputs_distinct.eye → herbrand_witness_different_inputs_distinct.pl} +0 -0
  1446. /package/test/conformance/cases/terms/{herbrand_witness_same_inputs_same_term.eye → herbrand_witness_same_inputs_same_term.pl} +0 -0
  1447. /package/test/conformance/cases/unification/{compound_arity_mismatch_fails.eye → compound_arity_mismatch_fails.pl} +0 -0
  1448. /package/test/conformance/cases/unification/{extra_eq_scalar_number_atom.eye → extra_eq_scalar_number_atom.pl} +0 -0
  1449. /package/test/conformance/cases/unification/{extra_eq_scalar_string_number.eye → extra_eq_scalar_string_number.pl} +0 -0
  1450. /package/test/conformance/cases/unification/{extra_neq_compound_arity_mismatch.eye → extra_neq_compound_arity_mismatch.pl} +0 -0
  1451. /package/test/conformance/cases/unification/{extra_neq_scalar_same_lexical_fails.eye → extra_neq_scalar_same_lexical_fails.pl} +0 -0
  1452. /package/test/conformance/cases/unification/{scalar_cross_type_same_lexical_value.eye → scalar_cross_type_same_lexical_value.pl} +0 -0
  1453. /package/test/conformance/errors/atoms/{extra_angle_iri_backslash_rejected.eye → extra_angle_iri_backslash_rejected.pl} +0 -0
  1454. /package/test/conformance/errors/atoms/{extra_angle_iri_pipe_rejected.eye → extra_angle_iri_pipe_rejected.pl} +0 -0
  1455. /package/test/conformance/errors/atoms/{extra_angle_iri_quote_rejected.eye → extra_angle_iri_quote_rejected.pl} +0 -0
  1456. /package/test/conformance/errors/atoms/{hash_comment_not_atom_at_line_start.eye → hash_comment_not_atom_at_line_start.pl} +0 -0
  1457. /package/test/conformance/errors/atoms/{relative_angle_name_rejected.eye → relative_angle_name_rejected.pl} +0 -0
  1458. /package/test/conformance/errors/atoms/{space_in_angle_iri_rejected.eye → space_in_angle_iri_rejected.pl} +0 -0
  1459. /package/test/conformance/errors/atoms/{unclosed_angle_iri_rejected.eye → unclosed_angle_iri_rejected.pl} +0 -0
  1460. /package/test/conformance/errors/atoms/{zero_arity_compound_rejected.eye → zero_arity_compound_rejected.pl} +0 -0
  1461. /package/test/conformance/errors/lists/{extra_missing_tail_after_bar.eye → extra_missing_tail_after_bar.pl} +0 -0
  1462. /package/test/conformance/errors/lists/{extra_unclosed_list_tail.eye → extra_unclosed_list_tail.pl} +0 -0
  1463. /package/test/conformance/errors/lists/{missing_list_tail.eye → missing_list_tail.pl} +0 -0
  1464. /package/test/conformance/errors/rules/{extra_empty_head_with_body.eye → extra_empty_head_with_body.pl} +0 -0
  1465. /package/test/conformance/errors/rules/{extra_rule_without_body.eye → extra_rule_without_body.pl} +0 -0
  1466. /package/test/conformance/errors/rules/{rule_head_cannot_be_empty_parentheses.eye → rule_head_cannot_be_empty_parentheses.pl} +0 -0
  1467. /package/test/conformance/errors/syntax/{angle_iri_with_space_rejected.eye → angle_iri_with_space_rejected.pl} +0 -0
  1468. /package/test/conformance/errors/syntax/{bad_question_digit_variable.eye → bad_question_digit_variable.pl} +0 -0
  1469. /package/test/conformance/errors/syntax/{colon_name_rejected.eye → colon_name_rejected.pl} +0 -0
  1470. /package/test/conformance/errors/syntax/{empty_body_after_rule_marker.eye → empty_body_after_rule_marker.pl} +0 -0
  1471. /package/test/conformance/errors/syntax/{empty_compound_nested.eye → empty_compound_nested.pl} +0 -0
  1472. /package/test/conformance/errors/syntax/{extra_bad_backtick_character.eye → extra_bad_backtick_character.pl} +0 -0
  1473. /package/test/conformance/errors/syntax/{extra_bad_iri_empty_body.eye → extra_bad_iri_empty_body.pl} +0 -0
  1474. /package/test/conformance/errors/syntax/{extra_bad_list_double_comma.eye → extra_bad_list_double_comma.pl} +0 -0
  1475. /package/test/conformance/errors/syntax/{extra_bad_list_double_tail.eye → extra_bad_list_double_tail.pl} +0 -0
  1476. /package/test/conformance/errors/syntax/{extra_bad_number_two_decimal_points.eye → extra_bad_number_two_decimal_points.pl} +0 -0
  1477. /package/test/conformance/errors/syntax/{extra_double_period_rejected.eye → extra_double_period_rejected.pl} +0 -0
  1478. /package/test/conformance/errors/syntax/{extra_extra_closing_paren.eye → extra_extra_closing_paren.pl} +0 -0
  1479. /package/test/conformance/errors/syntax/{extra_missing_closing_rule_body.eye → extra_missing_closing_rule_body.pl} +0 -0
  1480. /package/test/conformance/errors/syntax/{extra_missing_head_rejected.eye → extra_missing_head_rejected.pl} +0 -0
  1481. /package/test/conformance/errors/syntax/{missing_final_dot_rejected.eye → missing_final_dot_rejected.pl} +0 -0
  1482. /package/test/conformance/errors/syntax/{missing_period.eye → missing_period.pl} +0 -0
  1483. /package/test/conformance/errors/syntax/{relative_angle_iri_rejected.eye → relative_angle_iri_rejected.pl} +0 -0
  1484. /package/test/conformance/errors/syntax/{trailing_comma_in_body.eye → trailing_comma_in_body.pl} +0 -0
  1485. /package/test/conformance/errors/syntax/{unclosed_compound.eye → unclosed_compound.pl} +0 -0
  1486. /package/test/conformance/errors/syntax/{unclosed_list.eye → unclosed_list.pl} +0 -0
  1487. /package/test/conformance/errors/syntax/{unclosed_list_rejected.eye → unclosed_list_rejected.pl} +0 -0
  1488. /package/test/conformance/errors/syntax/{unclosed_quoted_atom.eye → unclosed_quoted_atom.pl} +0 -0
  1489. /package/test/conformance/errors/syntax/{unclosed_quoted_atom_rejected.eye → unclosed_quoted_atom_rejected.pl} +0 -0
  1490. /package/test/conformance/errors/syntax/{unclosed_string.eye → unclosed_string.pl} +0 -0
  1491. /package/test/conformance/errors/syntax/{unquoted_colon_predicate.eye → unquoted_colon_predicate.pl} +0 -0
  1492. /package/test/conformance/errors/syntax/{unquoted_dotted_predicate.eye → unquoted_dotted_predicate.pl} +0 -0
  1493. /package/test/conformance/errors/syntax/{uppercase_predicate_rejected.eye → uppercase_predicate_rejected.pl} +0 -0
  1494. /package/test/conformance/errors/terms/{extra_empty_nested_compound.eye → extra_empty_nested_compound.pl} +0 -0
  1495. /package/test/conformance/errors/terms/{extra_empty_top_level_compound.eye → extra_empty_top_level_compound.pl} +0 -0
  1496. /package/test/conformance/errors/terms/{zero_arity_compound_nested_rejected.eye → zero_arity_compound_nested_rejected.pl} +0 -0
  1497. /package/test/conformance/errors/variables/{question_digit_rejected.eye → question_digit_rejected.pl} +0 -0
  1498. /package/test/conformance/expected/aggregation/{044_findall_user_goal.eye → 044_findall_user_goal.pl} +0 -0
  1499. /package/test/conformance/expected/aggregation/{057_countall_empty_and_nonempty.eye → 057_countall_empty_and_nonempty.pl} +0 -0
  1500. /package/test/conformance/expected/aggregation/{058_sumall_numeric_template.eye → 058_sumall_numeric_template.pl} +0 -0
  1501. /package/test/conformance/expected/aggregation/{059_aggregate_min_template.eye → 059_aggregate_min_template.pl} +0 -0
  1502. /package/test/conformance/expected/aggregation/{060_aggregate_max_compound_key.eye → 060_aggregate_max_compound_key.pl} +0 -0
  1503. /package/test/conformance/expected/aggregation/{075_aggregation_edges.eye → 075_aggregation_edges.pl} +0 -0
  1504. /package/test/conformance/expected/aggregation/{098_aggregation_nested_templates.eye → 098_aggregation_nested_templates.pl} +0 -0
  1505. /package/test/conformance/expected/aggregation/{aggregate_max_no_answers_fails.eye → aggregate_max_no_answers_fails.pl} +0 -0
  1506. /package/test/conformance/expected/aggregation/{aggregate_min_structured_key.eye → aggregate_min_structured_key.pl} +0 -0
  1507. /package/test/conformance/expected/aggregation/{countall_zero.eye → countall_zero.pl} +0 -0
  1508. /package/test/conformance/expected/aggregation/{extra_aggregate_min_tie_first.eye → extra_aggregate_min_tie_first.pl} +0 -0
  1509. /package/test/conformance/expected/aggregation/{extra_countall_with_filter.eye → extra_countall_with_filter.pl} +0 -0
  1510. /package/test/conformance/expected/aggregation/{extra_findall_repeated_template.eye → extra_findall_repeated_template.pl} +0 -0
  1511. /package/test/conformance/expected/aggregation/{extra_sumall_float_template.eye → extra_sumall_float_template.pl} +0 -0
  1512. /package/test/conformance/expected/aggregation/{findall_empty_bag.eye → findall_empty_bag.pl} +0 -0
  1513. /package/test/conformance/expected/aggregation/{sumall_empty_zero.eye → sumall_empty_zero.pl} +0 -0
  1514. /package/test/conformance/expected/arithmetic/{024_numeric_literal_readback.eye → 024_numeric_literal_readback.pl} +0 -0
  1515. /package/test/conformance/expected/arithmetic/{029_arithmetic_and_comparison.eye → 029_arithmetic_and_comparison.pl} +0 -0
  1516. /package/test/conformance/expected/arithmetic/{039_numeric_functions.eye → 039_numeric_functions.pl} +0 -0
  1517. /package/test/conformance/expected/arithmetic/{040_between_enumeration.eye → 040_between_enumeration.pl} +0 -0
  1518. /package/test/conformance/expected/arithmetic/{041_smallest_divisor.eye → 041_smallest_divisor.pl} +0 -0
  1519. /package/test/conformance/expected/arithmetic/{054_numeric_and_lexical_comparison.eye → 054_numeric_and_lexical_comparison.pl} +0 -0
  1520. /package/test/conformance/expected/arithmetic/{061_date_difference.eye → 061_date_difference.pl} +0 -0
  1521. /package/test/conformance/expected/arithmetic/{062_reusable_numeric_builtins.eye → 062_reusable_numeric_builtins.pl} +0 -0
  1522. /package/test/conformance/expected/arithmetic/{066_numeric_edges.eye → 066_numeric_edges.pl} +0 -0
  1523. /package/test/conformance/expected/arithmetic/{079_big_integer_arithmetic.eye → 079_big_integer_arithmetic.pl} +0 -0
  1524. /package/test/conformance/expected/arithmetic/{080_rounding_modes.eye → 080_rounding_modes.pl} +0 -0
  1525. /package/test/conformance/expected/arithmetic/{081_zero_safe_numeric_functions.eye → 081_zero_safe_numeric_functions.pl} +0 -0
  1526. /package/test/conformance/expected/arithmetic/{082_comparison_semantics.eye → 082_comparison_semantics.pl} +0 -0
  1527. /package/test/conformance/expected/arithmetic/{083_between_modes_and_empty_ranges.eye → 083_between_modes_and_empty_ranges.pl} +0 -0
  1528. /package/test/conformance/expected/arithmetic/{between_bound_value.eye → between_bound_value.pl} +0 -0
  1529. /package/test/conformance/expected/arithmetic/{between_singleton.eye → between_singleton.pl} +0 -0
  1530. /package/test/conformance/expected/arithmetic/{duration_comparison.eye → duration_comparison.pl} +0 -0
  1531. /package/test/conformance/expected/arithmetic/{extra_acos_one.eye → extra_acos_one.pl} +0 -0
  1532. /package/test/conformance/expected/arithmetic/{extra_asin_zero.eye → extra_asin_zero.pl} +0 -0
  1533. /package/test/conformance/expected/arithmetic/{extra_atan2_axis.eye → extra_atan2_axis.pl} +0 -0
  1534. /package/test/conformance/expected/arithmetic/{extra_difference_leap_day.eye → extra_difference_leap_day.pl} +0 -0
  1535. /package/test/conformance/expected/arithmetic/{extra_difference_same_day.eye → extra_difference_same_day.pl} +0 -0
  1536. /package/test/conformance/expected/arithmetic/{extra_div_float_exact.eye → extra_div_float_exact.pl} +0 -0
  1537. /package/test/conformance/expected/arithmetic/{extra_div_integer_trunc.eye → extra_div_integer_trunc.pl} +0 -0
  1538. /package/test/conformance/expected/arithmetic/{extra_division_by_zero_fails.eye → extra_division_by_zero_fails.pl} +0 -0
  1539. /package/test/conformance/expected/arithmetic/{extra_exp_zero.eye → extra_exp_zero.pl} +0 -0
  1540. /package/test/conformance/expected/arithmetic/{extra_ge_equal_duration.eye → extra_ge_equal_duration.pl} +0 -0
  1541. /package/test/conformance/expected/arithmetic/{extra_le_equal_string.eye → extra_le_equal_string.pl} +0 -0
  1542. /package/test/conformance/expected/arithmetic/{extra_log_one.eye → extra_log_one.pl} +0 -0
  1543. /package/test/conformance/expected/arithmetic/{extra_mod_negative_right.eye → extra_mod_negative_right.pl} +0 -0
  1544. /package/test/conformance/expected/arithmetic/{extra_pow_large_integer.eye → extra_pow_large_integer.pl} +0 -0
  1545. /package/test/conformance/expected/arithmetic/{float_add_and_div.eye → float_add_and_div.pl} +0 -0
  1546. /package/test/conformance/expected/arithmetic/{min_max_mixed.eye → min_max_mixed.pl} +0 -0
  1547. /package/test/conformance/expected/arithmetic/{mod_negative_left.eye → mod_negative_left.pl} +0 -0
  1548. /package/test/conformance/expected/arithmetic/{neg_abs_integer.eye → neg_abs_integer.pl} +0 -0
  1549. /package/test/conformance/expected/arithmetic/{pow_negative_exponent_fails.eye → pow_negative_exponent_fails.pl} +0 -0
  1550. /package/test/conformance/expected/arithmetic/{pow_zero_exponent.eye → pow_zero_exponent.pl} +0 -0
  1551. /package/test/conformance/expected/arithmetic/{rounding_negative_float.eye → rounding_negative_float.pl} +0 -0
  1552. /package/test/conformance/expected/arithmetic/{smallest_divisor_prime.eye → smallest_divisor_prime.pl} +0 -0
  1553. /package/test/conformance/expected/arithmetic/{sqrt_negative_fails.eye → sqrt_negative_fails.pl} +0 -0
  1554. /package/test/conformance/expected/atoms/{008_graphic_atoms.eye → 008_graphic_atoms.pl} +0 -0
  1555. /package/test/conformance/expected/atoms/{016_arity_zero_atom.eye → 016_arity_zero_atom.pl} +0 -0
  1556. /package/test/conformance/expected/atoms/{018_quoted_atom_readback.eye → 018_quoted_atom_readback.pl} +0 -0
  1557. /package/test/conformance/expected/atoms/{angle_iri_percent_encoded.eye → angle_iri_percent_encoded.pl} +0 -0
  1558. /package/test/conformance/expected/atoms/{extra_graphic_backslash_atom.eye → extra_graphic_backslash_atom.pl} +0 -0
  1559. /package/test/conformance/expected/atoms/{extra_iri_mailto_plus.eye → extra_iri_mailto_plus.pl} +0 -0
  1560. /package/test/conformance/expected/atoms/{extra_iri_uuid_scheme.eye → extra_iri_uuid_scheme.pl} +0 -0
  1561. /package/test/conformance/expected/atoms/{extra_quoted_atom_with_quote_readback.eye → extra_quoted_atom_with_quote_readback.pl} +0 -0
  1562. /package/test/conformance/expected/atoms/{graphic_angle_atom_stays_graphic.eye → graphic_angle_atom_stays_graphic.pl} +0 -0
  1563. /package/test/conformance/expected/atoms/{graphic_atom_predicate.eye → graphic_atom_predicate.pl} +0 -0
  1564. /package/test/conformance/expected/atoms/{graphic_less_than_atom.eye → graphic_less_than_atom.pl} +0 -0
  1565. /package/test/conformance/expected/atoms/{iri_as_predicate_name_quoted.eye → iri_as_predicate_name_quoted.pl} +0 -0
  1566. /package/test/conformance/expected/atoms/{quoted_relative_iri_not_angle.eye → iri_quoted_and_angle_unify.pl} +0 -0
  1567. /package/test/conformance/expected/{builtins/extra_difference_end_before_start_fails.eye → atoms/quoted_relative_iri_not_angle.pl} +0 -0
  1568. /package/test/conformance/expected/atoms/{zero_arity_atom_roundtrip.eye → zero_arity_atom_roundtrip.pl} +0 -0
  1569. /package/test/conformance/expected/builtins/{037_matching_and_comparison.eye → 037_matching_and_comparison.pl} +0 -0
  1570. /package/test/conformance/expected/builtins/{076_composed_reusable_builtins.eye → 076_composed_reusable_builtins.pl} +0 -0
  1571. /package/test/conformance/expected/builtins/{100_reusable_builtin_workflow.eye → 100_reusable_builtin_workflow.pl} +0 -0
  1572. /package/test/conformance/expected/builtins/{extra_difference_invalid_date_fails.eye → eq_unifies_iri_atoms.pl} +0 -0
  1573. /package/test/conformance/expected/builtins/{extra_neq_same_iri_fails.eye → extra_difference_end_before_start_fails.pl} +0 -0
  1574. /package/test/conformance/expected/{context/extra_holds_ignores_string_parts.eye → builtins/extra_difference_invalid_date_fails.pl} +0 -0
  1575. /package/test/conformance/expected/builtins/{extra_eq_binds_both_sides.eye → extra_eq_binds_both_sides.pl} +0 -0
  1576. /package/test/conformance/expected/builtins/{extra_neq_different_iri_atoms.eye → extra_neq_different_iri_atoms.pl} +0 -0
  1577. /package/test/conformance/expected/context/{032_holds_parts.eye → 032_holds_parts.pl} +0 -0
  1578. /package/test/conformance/expected/context/{051_nested_holds_parts.eye → 051_nested_holds_parts.pl} +0 -0
  1579. /package/test/conformance/expected/context/{052_holds_member.eye → 052_holds_member.pl} +0 -0
  1580. /package/test/conformance/expected/context/{094_context_holds_enumeration.eye → 094_context_holds_enumeration.pl} +0 -0
  1581. /package/test/conformance/expected/context/{extra_holds_atom_parts.eye → extra_holds_atom_parts.pl} +0 -0
  1582. /package/test/conformance/expected/{control/extra_forall_counterexample_fails.eye → context/extra_holds_ignores_string_parts.pl} +0 -0
  1583. /package/test/conformance/expected/context/{extra_holds_list_parts.eye → extra_holds_list_parts.pl} +0 -0
  1584. /package/test/conformance/expected/context/{extra_holds_term_nested_order.eye → extra_holds_term_nested_order.pl} +0 -0
  1585. /package/test/conformance/expected/{atoms/iri_quoted_and_angle_unify.eye → context/holds_compound_formula.pl} +0 -0
  1586. /package/test/conformance/expected/{builtins/eq_unifies_iri_atoms.eye → context/holds_fails_when_missing.pl} +0 -0
  1587. /package/test/conformance/expected/context/{holds_parts_from_formula.eye → holds_parts_from_formula.pl} +0 -0
  1588. /package/test/conformance/expected/control/{014_failure_filters_answers.eye → 014_failure_filters_answers.pl} +0 -0
  1589. /package/test/conformance/expected/control/{043_once_user_predicate.eye → 043_once_user_predicate.pl} +0 -0
  1590. /package/test/conformance/expected/control/{074_forall_edges.eye → 074_forall_edges.pl} +0 -0
  1591. /package/test/conformance/expected/control/{097_control_negation_once_forall.eye → 097_control_negation_once_forall.pl} +0 -0
  1592. /package/test/conformance/expected/{context/holds_compound_formula.eye → control/double_negation_ground_goal.pl} +0 -0
  1593. /package/test/conformance/expected/control/{extra_forall_bound_check.eye → extra_forall_bound_check.pl} +0 -0
  1594. /package/test/conformance/expected/control/{extra_not_unbound_existing_goal_fails.eye → extra_forall_counterexample_fails.pl} +0 -0
  1595. /package/test/conformance/expected/control/{extra_once_empty_fails.eye → extra_not_unbound_existing_goal_fails.pl} +0 -0
  1596. /package/test/conformance/expected/control/{extra_not_unbound_unknown_goal_succeeds.eye → extra_not_unbound_unknown_goal_succeeds.pl} +0 -0
  1597. /package/test/conformance/expected/{lists/extra_length_improper_fails.eye → control/extra_once_empty_fails.pl} +0 -0
  1598. /package/test/conformance/expected/control/{extra_once_preserves_binding.eye → extra_once_preserves_binding.pl} +0 -0
  1599. /package/test/conformance/expected/{context/holds_fails_when_missing.eye → control/forall_detects_counterexample.pl} +0 -0
  1600. /package/test/conformance/expected/control/{double_negation_ground_goal.eye → forall_empty_generator_true.pl} +0 -0
  1601. /package/test/conformance/expected/control/{negation_with_bound_generator.eye → negation_with_bound_generator.pl} +0 -0
  1602. /package/test/conformance/expected/control/{once_keeps_first_answer.eye → once_keeps_first_answer.pl} +0 -0
  1603. /package/test/conformance/expected/declarations/{104_mode_determinism_declarations.eye → 104_mode_determinism_declarations.pl} +0 -0
  1604. /package/test/conformance/expected/{control/forall_detects_counterexample.eye → declarations/det_semidet_do_not_emit_without_materialize.pl} +0 -0
  1605. /package/test/conformance/expected/declarations/{memoize_is_ordinary_fact.eye → memoize_is_ordinary_fact.pl} +0 -0
  1606. /package/test/conformance/expected/declarations/{mode_determinism_are_facts.eye → mode_determinism_are_facts.pl} +0 -0
  1607. /package/test/conformance/expected/{control/forall_empty_generator_true.eye → declarations/mode_ignored_when_arity_mismatch.pl} +0 -0
  1608. /package/test/conformance/expected/declarations/{table_is_also_fact.eye → table_is_also_fact.pl} +0 -0
  1609. /package/test/conformance/expected/lists/{005_list_deconstruction.eye → 005_list_deconstruction.pl} +0 -0
  1610. /package/test/conformance/expected/lists/{015_improper_list_unification.eye → 015_improper_list_unification.pl} +0 -0
  1611. /package/test/conformance/expected/lists/{020_nested_list_terms.eye → 020_nested_list_terms.pl} +0 -0
  1612. /package/test/conformance/expected/lists/{031_lists_aggregation_ordering.eye → 031_lists_aggregation_ordering.pl} +0 -0
  1613. /package/test/conformance/expected/lists/{035_list_relations.eye → 035_list_relations.pl} +0 -0
  1614. /package/test/conformance/expected/lists/{036_append_splits.eye → 036_append_splits.pl} +0 -0
  1615. /package/test/conformance/expected/lists/{045_sort_deduplicates_atoms.eye → 045_sort_deduplicates_atoms.pl} +0 -0
  1616. /package/test/conformance/expected/lists/{046_append_bound_prefix_suffix.eye → 046_append_bound_prefix_suffix.pl} +0 -0
  1617. /package/test/conformance/expected/lists/{047_nth0_index_generation.eye → 047_nth0_index_generation.pl} +0 -0
  1618. /package/test/conformance/expected/lists/{048_set_nth0_edges.eye → 048_set_nth0_edges.pl} +0 -0
  1619. /package/test/conformance/expected/lists/{049_select_duplicate_occurrences.eye → 049_select_duplicate_occurrences.pl} +0 -0
  1620. /package/test/conformance/expected/lists/{063_reusable_list_builtins.eye → 063_reusable_list_builtins.pl} +0 -0
  1621. /package/test/conformance/expected/lists/{067_list_edges.eye → 067_list_edges.pl} +0 -0
  1622. /package/test/conformance/expected/lists/{068_list_generation_order.eye → 068_list_generation_order.pl} +0 -0
  1623. /package/test/conformance/expected/lists/{069_list_summaries_and_sets.eye → 069_list_summaries_and_sets.pl} +0 -0
  1624. /package/test/conformance/expected/lists/{084_append_and_select_composition.eye → 084_append_and_select_composition.pl} +0 -0
  1625. /package/test/conformance/expected/lists/{085_nth_and_update_edges.eye → 085_nth_and_update_edges.pl} +0 -0
  1626. /package/test/conformance/expected/lists/{086_slicing_pipeline.eye → 086_slicing_pipeline.pl} +0 -0
  1627. /package/test/conformance/expected/lists/{087_sort_reverse_length.eye → 087_sort_reverse_length.pl} +0 -0
  1628. /package/test/conformance/expected/lists/{088_list_summaries_failures.eye → 088_list_summaries_failures.pl} +0 -0
  1629. /package/test/conformance/expected/lists/{empty_list_term.eye → empty_list_term.pl} +0 -0
  1630. /package/test/conformance/expected/lists/{extra_append_all_splits_three.eye → extra_append_all_splits_three.pl} +0 -0
  1631. /package/test/conformance/expected/lists/{extra_append_to_improper_tail.eye → extra_append_to_improper_tail.pl} +0 -0
  1632. /package/test/conformance/expected/lists/{extra_drop_all.eye → extra_drop_all.pl} +0 -0
  1633. /package/test/conformance/expected/lists/{extra_head_and_rest_improper.eye → extra_head_and_rest_improper.pl} +0 -0
  1634. /package/test/conformance/expected/lists/{extra_last_singleton.eye → extra_last_singleton.pl} +0 -0
  1635. /package/test/conformance/expected/lists/{extra_not_member_compound_fails.eye → extra_length_improper_fails.pl} +0 -0
  1636. /package/test/conformance/expected/lists/{extra_list_to_set_stable_order.eye → extra_list_to_set_stable_order.pl} +0 -0
  1637. /package/test/conformance/expected/lists/{extra_member_repeated_nested.eye → extra_member_repeated_nested.pl} +0 -0
  1638. /package/test/conformance/expected/lists/{slice_middle.eye → extra_not_member_compound_fails.pl} +0 -0
  1639. /package/test/conformance/expected/lists/{extra_not_member_compound_success.eye → extra_not_member_compound_success.pl} +0 -0
  1640. /package/test/conformance/expected/lists/{extra_nth0_duplicate_indexes.eye → extra_nth0_duplicate_indexes.pl} +0 -0
  1641. /package/test/conformance/expected/lists/{extra_select_structured_duplicate.eye → extra_select_structured_duplicate.pl} +0 -0
  1642. /package/test/conformance/expected/lists/{extra_slice_end.eye → extra_slice_end.pl} +0 -0
  1643. /package/test/conformance/expected/lists/{extra_take_all.eye → extra_take_all.pl} +0 -0
  1644. /package/test/conformance/expected/lists/{head_rest_last.eye → head_rest_last.pl} +0 -0
  1645. /package/test/conformance/expected/lists/{improper_list_readback.eye → improper_list_readback.pl} +0 -0
  1646. /package/test/conformance/expected/lists/{length_empty_and_nested.eye → length_empty_and_nested.pl} +0 -0
  1647. /package/test/conformance/expected/lists/{list_to_set_structural_duplicates.eye → list_to_set_structural_duplicates.pl} +0 -0
  1648. /package/test/conformance/expected/{declarations/det_semidet_do_not_emit_without_materialize.eye → lists/min_list_empty_fails.pl} +0 -0
  1649. /package/test/conformance/expected/{declarations/mode_ignored_when_arity_mismatch.eye → lists/nth0_known_value.pl} +0 -0
  1650. /package/test/conformance/expected/lists/{min_list_empty_fails.eye → nth0_out_of_range_fails.pl} +0 -0
  1651. /package/test/conformance/expected/lists/{reverse_empty.eye → reverse_empty.pl} +0 -0
  1652. /package/test/conformance/expected/lists/{select_all_occurrences.eye → select_all_occurrences.pl} +0 -0
  1653. /package/test/conformance/expected/lists/{set_nth0_middle.eye → set_nth0_middle.pl} +0 -0
  1654. /package/test/conformance/expected/{materialize/arity_specific_outputs.eye → lists/slice_middle.pl} +0 -0
  1655. /package/test/conformance/expected/lists/{nth0_known_value.eye → slice_out_of_range_fails.pl} +0 -0
  1656. /package/test/conformance/expected/lists/{sort_structured_terms.eye → sort_structured_terms.pl} +0 -0
  1657. /package/test/conformance/expected/lists/{sum_list_empty_zero.eye → sum_list_empty_zero.pl} +0 -0
  1658. /package/test/conformance/expected/lists/{sum_min_max_list.eye → sum_min_max_list.pl} +0 -0
  1659. /package/test/conformance/expected/lists/{take_zero_and_drop_all.eye → take_zero_and_drop_all.pl} +0 -0
  1660. /package/test/conformance/expected/materialize/{027_default_derived_output.eye → 027_default_derived_output.pl} +0 -0
  1661. /package/test/conformance/expected/materialize/{028_materialize_focus.eye → 028_materialize_focus.pl} +0 -0
  1662. /package/test/conformance/expected/materialize/{053_materialize_excludes_source_fact.eye → 053_materialize_excludes_source_fact.pl} +0 -0
  1663. /package/test/conformance/expected/materialize/{099_materialize_multiple_arities.eye → 099_materialize_multiple_arities.pl} +0 -0
  1664. /package/test/conformance/expected/materialize/{extra_materialize_selects_arity.eye → arity_specific_outputs.pl} +0 -0
  1665. /package/test/conformance/expected/materialize/{extra_materialize_derived_only_with_same_source.eye → extra_materialize_derived_only_with_same_source.pl} +0 -0
  1666. /package/test/conformance/expected/{negation/extra_not_with_bound_fails.eye → materialize/extra_materialize_selects_arity.pl} +0 -0
  1667. /package/test/conformance/expected/materialize/{source_facts_suppressed.eye → source_facts_suppressed.pl} +0 -0
  1668. /package/test/conformance/expected/negation/{033_negation_once_generators.eye → 033_negation_once_generators.pl} +0 -0
  1669. /package/test/conformance/expected/negation/{042_negation_filter.eye → 042_negation_filter.pl} +0 -0
  1670. /package/test/conformance/expected/negation/{050_not_member_filter.eye → 050_not_member_filter.pl} +0 -0
  1671. /package/test/conformance/expected/negation/{not_known_goal_fails.eye → extra_not_with_bound_fails.pl} +0 -0
  1672. /package/test/conformance/expected/negation/{extra_not_with_bound_success.eye → extra_not_with_bound_success.pl} +0 -0
  1673. /package/test/conformance/expected/{strings/extra_matches_invalid_pattern_fails.eye → negation/not_known_goal_fails.pl} +0 -0
  1674. /package/test/conformance/expected/{lists/nth0_out_of_range_fails.eye → negation/not_unknown_goal_succeeds.pl} +0 -0
  1675. /package/test/conformance/expected/negation/{stratified_negation_answers.eye → stratified_negation_answers.pl} +0 -0
  1676. /package/test/conformance/expected/rules/{001_fact_output.eye → 001_fact_output.pl} +0 -0
  1677. /package/test/conformance/expected/rules/{002_rule_recursion.eye → 002_rule_recursion.pl} +0 -0
  1678. /package/test/conformance/expected/rules/{011_predicate_arity.eye → 011_predicate_arity.pl} +0 -0
  1679. /package/test/conformance/expected/rules/{013_multiple_clauses_order.eye → 013_multiple_clauses_order.pl} +0 -0
  1680. /package/test/conformance/expected/rules/{017_three_step_recursion.eye → 017_three_step_recursion.pl} +0 -0
  1681. /package/test/conformance/expected/rules/{022_rule_head_structure.eye → 022_rule_head_structure.pl} +0 -0
  1682. /package/test/conformance/expected/rules/{077_recursive_path_with_lists.eye → 077_recursive_path_with_lists.pl} +0 -0
  1683. /package/test/conformance/expected/rules/{078_mutual_recursion_with_arithmetic.eye → 078_mutual_recursion_with_arithmetic.pl} +0 -0
  1684. /package/test/conformance/expected/rules/{extra_left_to_right_multiple_bindings.eye → extra_left_to_right_multiple_bindings.pl} +0 -0
  1685. /package/test/conformance/expected/rules/{extra_structured_head_rule.eye → extra_structured_head_rule.pl} +0 -0
  1686. /package/test/conformance/expected/rules/{left_to_right_body_binding.eye → left_to_right_body_binding.pl} +0 -0
  1687. /package/test/conformance/expected/rules/{transitive_rule_three_edges.eye → transitive_rule_three_edges.pl} +0 -0
  1688. /package/test/conformance/expected/strings/{023_quoted_escapes_readback.eye → 023_quoted_escapes_readback.pl} +0 -0
  1689. /package/test/conformance/expected/strings/{030_strings_and_atoms.eye → 030_strings_and_atoms.pl} +0 -0
  1690. /package/test/conformance/expected/strings/{055_string_matching_filters.eye → 055_string_matching_filters.pl} +0 -0
  1691. /package/test/conformance/expected/strings/{056_string_and_atom_concat.eye → 056_string_and_atom_concat.pl} +0 -0
  1692. /package/test/conformance/expected/strings/{064_reusable_string_builtins.eye → 064_reusable_string_builtins.pl} +0 -0
  1693. /package/test/conformance/expected/strings/{070_matches_named_captures.eye → 070_matches_named_captures.pl} +0 -0
  1694. /package/test/conformance/expected/strings/{071_string_edges.eye → 071_string_edges.pl} +0 -0
  1695. /package/test/conformance/expected/strings/{072_string_conversions.eye → 072_string_conversions.pl} +0 -0
  1696. /package/test/conformance/expected/strings/{089_string_split_join_pipeline.eye → 089_string_split_join_pipeline.pl} +0 -0
  1697. /package/test/conformance/expected/strings/{090_string_substring_replace_edges.eye → 090_string_substring_replace_edges.pl} +0 -0
  1698. /package/test/conformance/expected/strings/{091_string_case_and_trim.eye → 091_string_case_and_trim.pl} +0 -0
  1699. /package/test/conformance/expected/strings/{092_scalar_string_conversions.eye → 092_scalar_string_conversions.pl} +0 -0
  1700. /package/test/conformance/expected/strings/{093_regex_named_captures_context.eye → 093_regex_named_captures_context.pl} +0 -0
  1701. /package/test/conformance/expected/strings/{atom_string_from_string.eye → atom_string_from_string.pl} +0 -0
  1702. /package/test/conformance/expected/strings/{casefold_atoms.eye → casefold_atoms.pl} +0 -0
  1703. /package/test/conformance/expected/{lists/slice_out_of_range_fails.eye → strings/contains_empty_needle.pl} +0 -0
  1704. /package/test/conformance/expected/strings/{extra_atom_string_number_input.eye → extra_atom_string_number_input.pl} +0 -0
  1705. /package/test/conformance/expected/strings/{extra_join_empty_list.eye → extra_join_empty_list.pl} +0 -0
  1706. /package/test/conformance/expected/{syntax/comments_inside_program.eye → strings/extra_matches_invalid_pattern_fails.pl} +0 -0
  1707. /package/test/conformance/expected/strings/{extra_named_regex_optional_missing.eye → extra_named_regex_optional_missing.pl} +0 -0
  1708. /package/test/conformance/expected/strings/{extra_number_string_atom_input.eye → extra_number_string_atom_input.pl} +0 -0
  1709. /package/test/conformance/expected/strings/{extra_replace_multiple.eye → extra_replace_multiple.pl} +0 -0
  1710. /package/test/conformance/expected/strings/{extra_split_empty_separator.eye → extra_split_empty_separator.pl} +0 -0
  1711. /package/test/conformance/expected/strings/{extra_substring_last_char.eye → extra_substring_last_char.pl} +0 -0
  1712. /package/test/conformance/expected/strings/{extra_uppercase_mixed_string.eye → extra_uppercase_mixed_string.pl} +0 -0
  1713. /package/test/conformance/expected/strings/{join_mixed_scalars.eye → join_mixed_scalars.pl} +0 -0
  1714. /package/test/conformance/expected/{negation/not_unknown_goal_succeeds.eye → strings/matches_simple_alternation.pl} +0 -0
  1715. /package/test/conformance/expected/strings/{named_regex_two_groups.eye → named_regex_two_groups.pl} +0 -0
  1716. /package/test/conformance/expected/strings/{contains_empty_needle.eye → not_matches_simple_pattern.pl} +0 -0
  1717. /package/test/conformance/expected/strings/{number_string_from_string.eye → number_string_from_string.pl} +0 -0
  1718. /package/test/conformance/expected/strings/{matches_simple_alternation.eye → number_string_rejects_non_numeric.pl} +0 -0
  1719. /package/test/conformance/expected/strings/{replace_empty_search_no_change.eye → replace_empty_search_no_change.pl} +0 -0
  1720. /package/test/conformance/expected/strings/{split_without_separator_match.eye → split_without_separator_match.pl} +0 -0
  1721. /package/test/conformance/expected/strings/{not_matches_simple_pattern.eye → substring_out_of_range_fails.pl} +0 -0
  1722. /package/test/conformance/expected/strings/{substring_zero_count.eye → substring_zero_count.pl} +0 -0
  1723. /package/test/conformance/expected/strings/{trim_tabs_and_spaces.eye → trim_tabs_and_spaces.pl} +0 -0
  1724. /package/test/conformance/expected/syntax/{004_conjunction_and_parentheses.eye → 004_conjunction_and_parentheses.pl} +0 -0
  1725. /package/test/conformance/expected/syntax/{006_comma_formula_data.eye → 006_comma_formula_data.pl} +0 -0
  1726. /package/test/conformance/expected/syntax/{009_comments_and_whitespace.eye → 009_comments_and_whitespace.pl} +0 -0
  1727. /package/test/conformance/expected/syntax/{019_parenthesized_three_conjuncts.eye → 019_parenthesized_three_conjuncts.pl} +0 -0
  1728. /package/test/conformance/expected/syntax/{025_body_parentheses_with_formula_data.eye → 025_body_parentheses_with_formula_data.pl} +0 -0
  1729. /package/test/conformance/expected/syntax/{extra_comments_after_terms.eye → comments_inside_program.pl} +0 -0
  1730. /package/test/conformance/expected/syntax/{quoted_atom_with_newline_escape.eye → extra_comments_after_terms.pl} +0 -0
  1731. /package/test/conformance/expected/syntax/{extra_nested_parenthesized_body.eye → extra_nested_parenthesized_body.pl} +0 -0
  1732. /package/test/conformance/expected/{strings/number_string_rejects_non_numeric.eye → syntax/parenthesized_query_style_body.pl} +0 -0
  1733. /package/test/conformance/expected/syntax/{string_with_tab_escape.eye → quoted_atom_with_newline_escape.pl} +0 -0
  1734. /package/test/conformance/expected/{terms/extra_arg_atom_fails.eye → syntax/string_with_tab_escape.pl} +0 -0
  1735. /package/test/conformance/expected/table/{038_table_declaration.eye → 038_table_declaration.pl} +0 -0
  1736. /package/test/conformance/expected/table/{102_table_declaration.eye → 102_table_declaration.pl} +0 -0
  1737. /package/test/conformance/expected/table/{extra_table_bound_cycle.eye → extra_table_bound_cycle.pl} +0 -0
  1738. /package/test/conformance/expected/table/{extra_table_open_call_fallback.eye → extra_table_open_call_fallback.pl} +0 -0
  1739. /package/test/conformance/expected/table/{table_does_not_change_answers.eye → table_does_not_change_answers.pl} +0 -0
  1740. /package/test/conformance/expected/table/{tabled_left_recursion_path.eye → tabled_left_recursion_path.pl} +0 -0
  1741. /package/test/conformance/expected/terms/{003_terms_and_readback.eye → 003_terms_and_readback.pl} +0 -0
  1742. /package/test/conformance/expected/terms/{065_reusable_term_control_builtins.eye → 065_reusable_term_control_builtins.pl} +0 -0
  1743. /package/test/conformance/expected/terms/{073_term_introspection_edges.eye → 073_term_introspection_edges.pl} +0 -0
  1744. /package/test/conformance/expected/terms/{095_term_introspection_roundtrip.eye → 095_term_introspection_roundtrip.pl} +0 -0
  1745. /package/test/conformance/expected/terms/{096_functor_scalar_edges.eye → 096_functor_scalar_edges.pl} +0 -0
  1746. /package/test/conformance/expected/terms/{arg_first_and_second.eye → arg_first_and_second.pl} +0 -0
  1747. /package/test/conformance/expected/{strings/substring_out_of_range_fails.eye → terms/arg_zero_fails.pl} +0 -0
  1748. /package/test/conformance/expected/terms/{compound_name_arguments_atom_zero_args.eye → compound_name_arguments_atom_zero_args.pl} +0 -0
  1749. /package/test/conformance/expected/{syntax/parenthesized_query_style_body.eye → terms/compound_name_arguments_bad_args_fail.pl} +0 -0
  1750. /package/test/conformance/expected/terms/{compound_name_arguments_builds_atom_from_empty_args.eye → compound_name_arguments_builds_atom_from_empty_args.pl} +0 -0
  1751. /package/test/conformance/expected/terms/{compound_name_arguments_builds_compound.eye → compound_name_arguments_builds_compound.pl} +0 -0
  1752. /package/test/conformance/expected/terms/{extra_arg_zero_fails.eye → extra_arg_atom_fails.pl} +0 -0
  1753. /package/test/conformance/expected/terms/{extra_arg_first_last.eye → extra_arg_first_last.pl} +0 -0
  1754. /package/test/conformance/expected/terms/{extra_compound_name_arguments_bad_args_fails.eye → extra_arg_zero_fails.pl} +0 -0
  1755. /package/test/conformance/expected/{unification/extra_eq_nested_repeated_fails.eye → terms/extra_compound_name_arguments_bad_args_fails.pl} +0 -0
  1756. /package/test/conformance/expected/terms/{extra_compound_name_arguments_construct_atom_zero.eye → extra_compound_name_arguments_construct_atom_zero.pl} +0 -0
  1757. /package/test/conformance/expected/terms/{extra_compound_name_arguments_decompose_list.eye → extra_compound_name_arguments_decompose_list.pl} +0 -0
  1758. /package/test/conformance/expected/terms/{extra_functor_list_cons.eye → extra_functor_list_cons.pl} +0 -0
  1759. /package/test/conformance/expected/terms/{extra_functor_number_scalar.eye → extra_functor_number_scalar.pl} +0 -0
  1760. /package/test/conformance/expected/terms/{extra_functor_string_scalar.eye → extra_functor_string_scalar.pl} +0 -0
  1761. /package/test/conformance/expected/terms/{functor_atom_arity_zero.eye → functor_atom_arity_zero.pl} +0 -0
  1762. /package/test/conformance/expected/terms/{functor_number_and_string.eye → functor_number_and_string.pl} +0 -0
  1763. /package/test/conformance/expected/terms/{herbrand_witness_different_inputs_distinct.eye → herbrand_witness_different_inputs_distinct.pl} +0 -0
  1764. /package/test/conformance/expected/terms/{herbrand_witness_one_input.eye → herbrand_witness_one_input.pl} +0 -0
  1765. /package/test/conformance/expected/terms/{herbrand_witness_same_inputs_same_term.eye → herbrand_witness_same_inputs_same_term.pl} +0 -0
  1766. /package/test/conformance/expected/terms/{herbrand_witness_two_inputs.eye → herbrand_witness_two_inputs.pl} +0 -0
  1767. /package/test/conformance/expected/unification/{012_nested_compound_unification.eye → 012_nested_compound_unification.pl} +0 -0
  1768. /package/test/conformance/expected/unification/{021_repeated_variable_head.eye → 021_repeated_variable_head.pl} +0 -0
  1769. /package/test/conformance/expected/unification/{034_equality_and_inequality.eye → 034_equality_and_inequality.pl} +0 -0
  1770. /package/test/conformance/expected/{terms/arg_zero_fails.eye → unification/compound_arity_mismatch_fails.pl} +0 -0
  1771. /package/test/conformance/expected/unification/{extra_neq_scalar_same_lexical_fails.eye → extra_eq_iri_and_quoted_atom.pl} +0 -0
  1772. /package/test/conformance/expected/unification/{extra_eq_list_tail_binding.eye → extra_eq_list_tail_binding.pl} +0 -0
  1773. /package/test/conformance/expected/unification/{extra_eq_nested_repeated_success.eye → extra_eq_nested_repeated_success.pl} +0 -0
  1774. /package/test/conformance/expected/unification/{extra_eq_scalar_number_atom.eye → extra_eq_scalar_number_atom.pl} +0 -0
  1775. /package/test/conformance/expected/unification/{extra_eq_scalar_string_number.eye → extra_eq_scalar_string_number.pl} +0 -0
  1776. /package/test/conformance/expected/unification/{extra_neq_compound_arity_mismatch.eye → extra_neq_compound_arity_mismatch.pl} +0 -0
  1777. /package/test/conformance/expected/unification/{extra_variable_clause_locality.eye → extra_variable_clause_locality.pl} +0 -0
  1778. /package/test/conformance/expected/unification/{list_tail_binding.eye → list_tail_binding.pl} +0 -0
  1779. /package/test/conformance/expected/unification/{nested_repeated_variable.eye → nested_repeated_variable.pl} +0 -0
  1780. /package/test/conformance/expected/unification/{scalar_cross_type_same_lexical_value.eye → scalar_cross_type_same_lexical_value.pl} +0 -0
  1781. /package/test/conformance/expected/variables/{007_anonymous_variables.eye → 007_anonymous_variables.pl} +0 -0
  1782. /package/test/conformance/expected/variables/{010_variable_scope_and_reuse.eye → 010_variable_scope_and_reuse.pl} +0 -0
  1783. /package/test/conformance/expected/variables/{026_question_underscore_named_variable_reuse.eye → 026_question_underscore_named_variable_reuse.pl} +0 -0
  1784. /package/test/conformance/expected/variables/{101_question_mark_variables.eye → 101_question_mark_variables.pl} +0 -0
  1785. /package/test/conformance/expected/{terms/compound_name_arguments_bad_args_fail.eye → variables/anonymous_in_two_goals.pl} +0 -0
  1786. /package/test/conformance/expected/variables/{clause_local_variable_names.eye → clause_local_variable_names.pl} +0 -0
  1787. /package/test/conformance/expected/variables/{extra_anonymous_not_reused.eye → extra_anonymous_not_reused.pl} +0 -0
  1788. /package/test/conformance/expected/variables/{extra_named_variable_reused.eye → extra_named_variable_reused.pl} +0 -0
  1789. /package/test/conformance/expected/variables/{extra_question_underscore_named_distinct.eye → extra_question_underscore_named_distinct.pl} +0 -0
  1790. /package/test/conformance/expected/variables/{extra_question_uppercase_named.eye → extra_question_uppercase_named.pl} +0 -0
  1791. /package/test/conformance/expected/variables/{question_anonymous_not_reused.eye → question_anonymous_not_reused.pl} +0 -0
  1792. /package/test/conformance/expected/variables/{question_underscore_named_reuse.eye → question_underscore_named_reuse.pl} +0 -0
  1793. /package/test/conformance/expected/{unification/compound_arity_mismatch_fails.eye → variables/question_uppercase_variable.pl} +0 -0
  1794. /package/test/conformance/expected/variables/{anonymous_in_two_goals.eye → question_variable_digits_and_underscore.pl} +0 -0
  1795. /package/test/conformance/expected/variables/{question_uppercase_variable.eye → question_variable_uppercase_name.pl} +0 -0
  1796. /package/test/conformance/expected/variables/{variable_scope_per_clause.eye → variable_scope_per_clause.pl} +0 -0
  1797. /package/test/conformance/expected-proofs/proofs/{conjunction_order.eye → conjunction_order.pl} +0 -0
  1798. /package/test/conformance/expected-proofs/proofs/{extra_negation_success.eye → extra_negation_success.pl} +0 -0
  1799. /package/test/conformance/expected-warnings/negation/{extra_stratified_multiple_negations_quiet.eye → extra_stratified_multiple_negations_quiet.pl} +0 -0
  1800. /package/test/conformance/expected-warnings/negation/{extra_stratified_negation_with_table_quiet.eye → extra_stratified_negation_with_table_quiet.pl} +0 -0
  1801. /package/test/conformance/expected-warnings/negation/{extra_unstratified_indirect_self_with_fact.eye → extra_unstratified_indirect_self_with_fact.pl} +0 -0
  1802. /package/test/conformance/expected-warnings/negation/{extra_unstratified_positive_negative_loop.eye → extra_unstratified_positive_negative_loop.pl} +0 -0
  1803. /package/test/conformance/expected-warnings/negation/{extra_unstratified_three_cycle_all_negative.eye → extra_unstratified_three_cycle_all_negative.pl} +0 -0
  1804. /package/test/conformance/expected-warnings/negation/{extra_warning_preserves_empty_stdout.eye → extra_warning_preserves_empty_stdout.pl} +0 -0
  1805. /package/test/conformance/expected-warnings/negation/{negative_unknown_group_quiet.eye → negative_unknown_group_quiet.pl} +0 -0
  1806. /package/test/conformance/expected-warnings/negation/{no_negation_quiet.eye → no_negation_quiet.pl} +0 -0
  1807. /package/test/conformance/expected-warnings/negation/{stratified_negative_unknown_after_positive_quiet.eye → stratified_negative_unknown_after_positive_quiet.pl} +0 -0
  1808. /package/test/conformance/expected-warnings/negation/{stratified_quiet.eye → stratified_quiet.pl} +0 -0
  1809. /package/test/conformance/expected-warnings/negation/{stratified_two_level_quiet.eye → stratified_two_level_quiet.pl} +0 -0
  1810. /package/test/conformance/expected-warnings/negation/{unstratified_mutual.eye → unstratified_mutual.pl} +0 -0
  1811. /package/test/conformance/expected-warnings/negation/{unstratified_positive_prefix.eye → unstratified_positive_prefix.pl} +0 -0
  1812. /package/test/conformance/expected-warnings/negation/{unstratified_self.eye → unstratified_self.pl} +0 -0
  1813. /package/test/conformance/expected-warnings/negation/{unstratified_three_step.eye → unstratified_three_step.pl} +0 -0
  1814. /package/test/conformance/expected-warnings/negation/{unstratified_two_arity_cycle.eye → unstratified_two_arity_cycle.pl} +0 -0
  1815. /package/test/conformance/expected-warnings/negation/{unstratified_two_independent_cycles.eye → unstratified_two_independent_cycles.pl} +0 -0
  1816. /package/test/conformance/expected-warnings/negation/{unstratified_with_iri_predicates.eye → unstratified_with_iri_predicates.pl} +0 -0
  1817. /package/test/conformance/expected-warnings/negation/{warning_preserves_multiple_stdout_answers.eye → warning_preserves_multiple_stdout_answers.pl} +0 -0
  1818. /package/test/conformance/proofs/proofs/{conjunction_order.eye → conjunction_order.pl} +0 -0
  1819. /package/test/conformance/proofs/proofs/{extra_negation_success.eye → extra_negation_success.pl} +0 -0
  1820. /package/test/conformance/warnings/negation/{extra_stratified_multiple_negations_quiet.eye → extra_stratified_multiple_negations_quiet.pl} +0 -0
  1821. /package/test/conformance/warnings/negation/{extra_unstratified_three_cycle_all_negative.eye → extra_unstratified_three_cycle_all_negative.pl} +0 -0
  1822. /package/test/conformance/warnings/negation/{extra_warning_preserves_empty_stdout.eye → extra_warning_preserves_empty_stdout.pl} +0 -0
  1823. /package/test/conformance/warnings/negation/{negative_unknown_group_quiet.eye → negative_unknown_group_quiet.pl} +0 -0
  1824. /package/test/conformance/warnings/negation/{stratified_quiet.eye → stratified_quiet.pl} +0 -0
  1825. /package/test/conformance/warnings/negation/{unstratified_mutual.eye → unstratified_mutual.pl} +0 -0
  1826. /package/test/conformance/warnings/negation/{unstratified_positive_prefix.eye → unstratified_positive_prefix.pl} +0 -0
  1827. /package/test/conformance/warnings/negation/{unstratified_self.eye → unstratified_self.pl} +0 -0
  1828. /package/test/conformance/warnings/negation/{unstratified_two_arity_cycle.eye → unstratified_two_arity_cycle.pl} +0 -0
  1829. /package/test/conformance/warnings/negation/{unstratified_two_independent_cycles.eye → unstratified_two_independent_cycles.pl} +0 -0
  1830. /package/test/conformance/warnings/negation/{warning_preserves_multiple_stdout_answers.eye → warning_preserves_multiple_stdout_answers.pl} +0 -0
package/docs/guide.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  This guide introduces Eyelang, a small Horn-clause language and engine whose source syntax is Prolog-like but deliberately its own compact language for facts, rules, goals, answers, and proofs. Eyelang works over ordinary terms, lists, arithmetic, strings, and finite search. Run it with the `eyelang` CLI, or use `node bin/eyelang.js` when working directly from a source checkout.
4
4
 
5
- Programs write relations directly, for example `ancestor(pat, emma)` or `status(case1, accepted)`. Absolute IRI atoms can be written explicitly with angle brackets, for example `<https://schema.org/name>`, when a program needs web identifiers without prefix declarations. Eyelang output is ordinary Eyelang syntax: by default, the CLI materializes selected answer facts and prints those facts only. Pass `--proof` (or `-p`) when you also want each answer followed by a `why/2` explanation fact that records the proof. Programs may add `materialize/2` declarations such as `materialize(answer, 2).` to focus output on selected predicates.
5
+ Programs write relations directly, for example `ancestor(pat, emma)` or `status(case1, accepted)`. Web identifiers can be written as ordinary quoted atoms that include angle brackets, for example `'<https://schema.org/name>'`, when a program needs explicit IRI-shaped names without prefix declarations. Eyelang output is ordinary Eyelang syntax: by default, the CLI materializes selected answer facts and prints those facts only. Pass `--proof` (or `-p`) when you also want each answer followed by a `why/2` explanation fact that records the proof. Programs may add `materialize/2` declarations such as `materialize(answer, 2).` to focus output on selected predicates.
6
6
 
7
7
 
8
8
  For the normative language definition, including lexical syntax, terms, clauses, goals, built-ins, `table/2`, `materialize/2`, and conformance boundaries, read the [Eyelang language reference](language-reference.md).
@@ -28,8 +28,8 @@ Eyelang has no runtime npm dependencies and no build step. From a source checkou
28
28
 
29
29
  ```sh
30
30
  node bin/eyelang.js --version
31
- node bin/eyelang.js examples/ancestor.eye
32
- node bin/eyelang.js facts.eye rules.eye
31
+ node bin/eyelang.js examples/ancestor.pl
32
+ node bin/eyelang.js facts.pl rules.pl
33
33
  printf 'works(stdin, true) :- eq(ok, ok).\n' | node bin/eyelang.js -
34
34
  ```
35
35
 
@@ -37,7 +37,7 @@ You can also use npm's local package-bin runner from the checkout:
37
37
 
38
38
  ```sh
39
39
  npm exec -- eyelang --version
40
- npm exec -- eyelang examples/ancestor.eye
40
+ npm exec -- eyelang examples/ancestor.pl
41
41
  ```
42
42
 
43
43
  To make the `eyelang` command available on your `PATH` while developing this checkout, prefer npm's package link instead of a manual symlink:
@@ -63,14 +63,14 @@ eyelang -v
63
63
  Run a program and let eyelang print derived binary facts:
64
64
 
65
65
  ```sh
66
- eyelang examples/ancestor.eye
66
+ eyelang examples/ancestor.pl
67
67
  ```
68
68
 
69
69
  Enable proof explanations when you want machine-readable provenance:
70
70
 
71
71
  ```sh
72
- eyelang --proof examples/ancestor.eye
73
- eyelang -p examples/ancestor.eye
72
+ eyelang --proof examples/ancestor.pl
73
+ eyelang -p examples/ancestor.pl
74
74
  ```
75
75
 
76
76
  eyelang-readable explanations are opt-in proof output. Each `why/2` fact contains a nested abstract proof term, and a blank line separates consecutive explanations. Using eyelang syntax for explanations keeps them in the same language as the answers themselves: they are readable by humans, parseable by eyelang, easy to test, and can be transformed or explained further like any other eyelang data. For example:
@@ -81,12 +81,12 @@ why(
81
81
  type(socrates, mortal),
82
82
  proof(
83
83
  goal(type(socrates, mortal)),
84
- by(rule("socrates.eye", clause(4))),
85
- bindings([binding("?x", socrates)]),
84
+ by(rule("socrates.pl", clause(4))),
85
+ bindings([binding("X", socrates)]),
86
86
  uses([
87
87
  proof(
88
88
  goal(type(socrates, man)),
89
- by(fact("socrates.eye", clause(3)))
89
+ by(fact("socrates.pl", clause(3)))
90
90
  )
91
91
  ])
92
92
  )
@@ -94,7 +94,7 @@ why(
94
94
 
95
95
  ```
96
96
 
97
- The explanation output can itself be read as eyelang input; for example, another program can materialize `why/2` facts such as `why(type(socrates, mortal), ?proof)`. `--proof` adds only these explanation facts; it does not change the answers found by the solver.
97
+ The explanation output can itself be read as eyelang input; for example, another program can materialize `why/2` facts such as `why(type(socrates, mortal), Proof)`. `--proof` adds only these explanation facts; it does not change the answers found by the solver.
98
98
 
99
99
  ### Explanation cookbook
100
100
 
@@ -103,10 +103,10 @@ Eyelang answers can carry their own provenance when proof output is enabled.
103
103
  Explain one derived fact:
104
104
 
105
105
  ```sh
106
- eyelang --proof examples/socrates.eye
106
+ eyelang --proof examples/socrates.pl
107
107
  ```
108
108
 
109
- The output contains the answer and a `why/2` fact. The proof term shows the source rule that produced the answer and the source fact used below it. Source references use `rule("file.eye", clause(?n))` and `fact("file.eye", clause(?n))`, where `?n` is the 1-based clause number in that file.
109
+ The output contains the answer and a `why/2` fact. The proof term shows the source rule that produced the answer and the source fact used below it. Source references use `rule("file.pl", clause(N))` and `fact("file.pl", clause(N))`, where `N` is the 1-based clause number in that file.
110
110
 
111
111
  Inspect variable bindings with a small policy program:
112
112
 
@@ -114,14 +114,14 @@ Inspect variable bindings with a small policy program:
114
114
  score(case1, 95).
115
115
  threshold(90).
116
116
 
117
- status(?case, accepted) :-
118
- score(?case, ?score),
119
- threshold(?t),
120
- ge(?score, ?t).
117
+ status(Case, accepted) :-
118
+ score(Case, Score),
119
+ threshold(T),
120
+ ge(Score, T).
121
121
  ```
122
122
 
123
123
  ```sh
124
- eyelang --proof policy.eye
124
+ eyelang --proof policy.pl
125
125
  ```
126
126
 
127
127
  The explanation contains the instantiated answer and the variables that made the rule succeed:
@@ -132,19 +132,19 @@ why(
132
132
  status(case1, accepted),
133
133
  proof(
134
134
  goal(status(case1, accepted)),
135
- by(rule("policy.eye", clause(3))),
136
- bindings([binding("?case", case1), binding("?score", 95), binding("?t", 90)]),
135
+ by(rule("policy.pl", clause(3))),
136
+ bindings([binding("Case", case1), binding("Score", 95), binding("T", 90)]),
137
137
  uses([...])
138
138
  )
139
139
  ).
140
140
  ```
141
141
 
142
- Use the `uses([...])` list to follow the proof tree. In the policy example it contains one subproof for `score(case1, 95)`, one for `threshold(90)`, and one for the built-in comparison `ge(95, 90)`. Built-ins are shown as `builtin(?name, ?arity)` because they do not come from source clauses.
142
+ Use the `uses([...])` list to follow the proof tree. In the policy example it contains one subproof for `score(case1, 95)`, one for `threshold(90)`, and one for the built-in comparison `ge(95, 90)`. Built-ins are shown as `builtin(Name, Arity)` because they do not come from source clauses.
143
143
 
144
144
  Reuse explanations as data:
145
145
 
146
146
  ```sh
147
- eyelang --proof examples/socrates.eye > socrates.why.eye
147
+ eyelang --proof examples/socrates.pl > socrates.why.pl
148
148
  ```
149
149
 
150
150
  The resulting file is ordinary Eyelang syntax containing both answers and `why/2` proof facts.
@@ -152,9 +152,9 @@ The resulting file is ordinary Eyelang syntax containing both answers and `why/2
152
152
  Compose multiple files, stdin, and URLs:
153
153
 
154
154
  ```sh
155
- eyelang facts.eye rules.eye
155
+ eyelang facts.pl rules.pl
156
156
  printf 'works(stdin, true) :- eq(ok, ok).\n' | eyelang -
157
- eyelang https://example.test/program.eye
157
+ eyelang https://example.test/program.pl
158
158
  ```
159
159
 
160
160
  ## Default output
@@ -165,8 +165,8 @@ Eyelang programs write relation predicates directly:
165
165
  parent(pat, jan).
166
166
  parent(jan, emma).
167
167
 
168
- ancestor(?x, ?y) :- parent(?x, ?y).
169
- ancestor(?x, ?z) :- parent(?x, ?y), ancestor(?y, ?z).
168
+ ancestor(X, Y) :- parent(X, Y).
169
+ ancestor(X, Z) :- parent(X, Y), ancestor(Y, Z).
170
170
  ```
171
171
 
172
172
  By default, eyelang asks for new ground consequences of selected output predicates, suppresses duplicates, excludes source facts, sorts the result, and prints Prolog facts:
@@ -187,8 +187,8 @@ Large examples often have internal helper predicates. Add `materialize/2` declar
187
187
  materialize(answer, 2).
188
188
 
189
189
  seed(case1).
190
- helper(?case, score(95)) :- seed(?case).
191
- answer(?case, accepted) :- helper(?case, score(95)).
190
+ helper(Case, score(95)) :- seed(Case).
191
+ answer(Case, accepted) :- helper(Case, score(95)).
192
192
  ```
193
193
 
194
194
  The default output is then:
@@ -205,7 +205,7 @@ A good eyelang program normally has three layers:
205
205
 
206
206
  1. source facts;
207
207
  2. helper predicates for calculation or search;
208
- 3. concise relation-style outputs, usually binary predicates such as `status(?case, ?value)`, `reason(?case, ?text)`, `ancestor(?person, ?ancestor)`, or `cost(?path, ?amount)`.
208
+ 3. concise relation-style outputs, usually binary predicates such as `status(Case, Value)`, `reason(Case, Text)`, `ancestor(Person, Ancestor)`, or `cost(Path, Amount)`.
209
209
 
210
210
  Example:
211
211
 
@@ -213,13 +213,13 @@ Example:
213
213
  score(case1, 95).
214
214
  threshold(90).
215
215
 
216
- accepted(?case) :-
217
- score(?case, ?score),
218
- threshold(?threshold),
219
- ge(?score, ?threshold).
216
+ accepted(Case) :-
217
+ score(Case, Score),
218
+ threshold(Threshold),
219
+ ge(Score, Threshold).
220
220
 
221
- status(?case, accepted) :- accepted(?case).
222
- reason(?case, "score exceeds threshold") :- accepted(?case).
221
+ status(Case, accepted) :- accepted(Case).
222
+ reason(Case, "score exceeds threshold") :- accepted(Case).
223
223
  ```
224
224
 
225
225
  When `status/2` and `reason/2` are derived, they appear in default output. If the program has many helper binary predicates, declare the intended output predicates:
@@ -240,13 +240,13 @@ The CLI is output-oriented and uses `materialize/2` to decide what to print. Emb
240
240
  Add `-s` or `--stats` when you want lightweight solver counters on stderr without changing stdout:
241
241
 
242
242
  ```sh
243
- eyelang -s examples/observability-log-correlation.eye
243
+ eyelang -s examples/observability-log-correlation.pl
244
244
  ```
245
245
 
246
246
  Add `-w` or `--warnings` when you want non-fatal portability diagnostics, such as unstratified `not/1` dependencies, printed to stderr while normal answer output still goes to stdout:
247
247
 
248
248
  ```sh
249
- eyelang --warnings policy.eye
249
+ eyelang --warnings policy.pl
250
250
  ```
251
251
 
252
252
  The playground has matching `--stats` and `--proof` checkboxes, so browser runs can show the same counters or explanations like the CLI.
@@ -276,20 +276,20 @@ To add a builtin, create or extend a module with `register(registry)` and call `
276
276
  Eyelang includes goal-directed aggregation helpers for finite searches:
277
277
 
278
278
  ```eyelang
279
- countall(?goal, ?count).
280
- sumall(?value, ?goal, ?sum).
281
- aggregate_min(?key, ?template, ?goal, ?bestkey, ?besttemplate).
282
- aggregate_max(?key, ?template, ?goal, ?bestkey, ?besttemplate).
279
+ countall(Goal, Count).
280
+ sumall(Value, Goal, Sum).
281
+ aggregate_min(Key, Template, Goal, Bestkey, Besttemplate).
282
+ aggregate_max(Key, Template, Goal, Bestkey, Besttemplate).
283
283
  ```
284
284
 
285
- Use `countall/2` for solution counts, `sumall/3` for numeric totals, and `aggregate_min/5` or `aggregate_max/5` when a search should keep only the best candidate instead of collecting and sorting every answer. The key can be a number, atom constant, string, compound term, or list; normal term ordering is used, so compound keys such as `[?cost, ?path]` are useful for deterministic tie-breaking.
285
+ Use `countall/2` for solution counts, `sumall/3` for numeric totals, and `aggregate_min/5` or `aggregate_max/5` when a search should keep only the best candidate instead of collecting and sorting every answer. The key can be a number, atom constant, string, compound term, or list; normal term ordering is used, so compound keys such as `[Cost, Path]` are useful for deterministic tie-breaking.
286
286
 
287
287
  Example:
288
288
 
289
289
  ```eyelang
290
- best_cycle(?cycle, ?cost) :-
291
- cities(?cities),
292
- aggregate_min([?cost, ?cycle], ?cycle, candidate_cycle(?cities, ?cycle, ?cost), [?cost, ?cycle], ?cycle).
290
+ best_cycle(Cycle, Cost) :-
291
+ cities(Cities),
292
+ aggregate_min([Cost, Cycle], Cycle, candidate_cycle(Cities, Cycle, Cost), [Cost, Cycle], Cycle).
293
293
  ```
294
294
 
295
295
  ## Context data
@@ -297,205 +297,205 @@ best_cycle(?cycle, ?cost) :-
297
297
  Comma terms can be data as well as conjunctions. eyelang provides two context utilities:
298
298
 
299
299
  ```eyelang
300
- holds((name(alice, "Alice"), knows(alice, bob)), name(?s, ?o)).
301
- holds((ready, name(alice, "Alice"), route(alice, bob, 7)), ?name, ?args).
300
+ holds((name(alice, "Alice"), knows(alice, bob)), name(S, O)).
301
+ holds((ready, name(alice, "Alice"), route(alice, bob, 7)), Name, Args).
302
302
  ```
303
303
 
304
- Use `holds/2` when you want to match the member term directly, for example `name(?s, ?o)`, `route(?a, ?b, ?cost)`, or `edge(?a, arc(?b, ?cost))`. Use `holds/3` when you need the predicate name and argument list as data: it exposes any-arity member as atom constant `?name` plus a proper list `?args`, so zero-, binary-, and ternary members appear as `ready/0`, `name/2`, and `route/3` shapes without a special binary predicate. These utilities are useful for quoted context data, but they do not make those context members true in the ambient program. The [`context-schema-audit.eye`](../examples/context-schema-audit.eye) example shows a case that really needs `holds/3`: it audits heterogeneous message contexts by extracting every member as `?name + ?args`, computing each arity, and checking the resulting shape against a schema without knowing the predicate names in advance.
304
+ Use `holds/2` when you want to match the member term directly, for example `name(S, O)`, `route(A, B, Cost)`, or `edge(A, arc(B, Cost))`. Use `holds/3` when you need the predicate name and argument list as data: it exposes any-arity member as atom constant `Name` plus a proper list `Args`, so zero-, binary-, and ternary members appear as `ready/0`, `name/2`, and `route/3` shapes without a special binary predicate. These utilities are useful for quoted context data, but they do not make those context members true in the ambient program. The [`context-schema-audit.pl`](../examples/context-schema-audit.pl) example shows a case that really needs `holds/3`: it audits heterogeneous message contexts by extracting every member as `Name + Args`, computing each arity, and checking the resulting shape against a schema without knowing the predicate names in advance.
305
305
 
306
- `matches/3` can create context data from named regular-expression captures, which is useful when text logs or messages need to become facts before later rules inspect them with `holds/2` or `holds/3`. See [`observability-log-correlation.eye`](../examples/observability-log-correlation.eye) for a complete log-correlation example.
306
+ `matches/3` can create context data from named regular-expression captures, which is useful when text logs or messages need to become facts before later rules inspect them with `holds/2` or `holds/3`. See [`observability-log-correlation.pl`](../examples/observability-log-correlation.pl) for a complete log-correlation example.
307
307
 
308
308
 
309
309
  ## Example catalog
310
310
 
311
311
  | Example | Description | Golden output |
312
312
  | --- | --- | --- |
313
- | [`abstract-interpretation.eye`](../examples/abstract-interpretation.eye) | Performs a sign-domain abstract interpretation and reports a possible divide-by-zero warning. | [`output/abstract-interpretation.eye`](../examples/output/abstract-interpretation.eye) |
314
- | [`access-control-policy.eye`](../examples/access-control-policy.eye) | Evaluates role and condition based access decisions. | [`output/access-control-policy.eye`](../examples/output/access-control-policy.eye) |
315
- | [`ackermann.eye`](../examples/ackermann.eye) | Computes Ackermann-style hyperoperation values. | [`output/ackermann.eye`](../examples/output/ackermann.eye) |
316
- | [`age.eye`](../examples/age.eye) | Checks whether people meet age thresholds. | [`output/age.eye`](../examples/output/age.eye) |
317
- | [`aliases-and-namespaces.eye`](../examples/aliases-and-namespaces.eye) | Shows ordinary predicate names for vocabulary aliases. | [`output/aliases-and-namespaces.eye`](../examples/output/aliases-and-namespaces.eye) |
318
- | [`alignment-demo.eye`](../examples/alignment-demo.eye) | Rolls dataset concepts up through a small alignment taxonomy. | [`output/alignment-demo.eye`](../examples/output/alignment-demo.eye) |
319
- | [`allen-interval-calculus.eye`](../examples/allen-interval-calculus.eye) | Classifies interval relations with integer time offsets. | [`output/allen-interval-calculus.eye`](../examples/output/allen-interval-calculus.eye) |
320
- | [`ancestor.eye`](../examples/ancestor.eye) | Derives ancestors from parent facts. | [`output/ancestor.eye`](../examples/output/ancestor.eye) |
321
- | [`animal.eye`](../examples/animal.eye) | Classifies animals from traits. | [`output/animal.eye`](../examples/output/animal.eye) |
322
- | [`annotation.eye`](../examples/annotation.eye) | Derives facts from quoted annotation data. | [`output/annotation.eye`](../examples/output/annotation.eye) |
323
- | [`auroracare.eye`](../examples/auroracare.eye) | Evaluates purpose-based medical data access scenarios. | [`output/auroracare.eye`](../examples/output/auroracare.eye) |
324
- | [`backward.eye`](../examples/backward.eye) | Shows a backward-rule pattern as a goal-directed numeric rule. | [`output/backward.eye`](../examples/output/backward.eye) |
325
- | [`basic-monadic.eye`](../examples/basic-monadic.eye) | Runs the basic monadic benchmark with explicit indexed edge joins instead of specialized search builtins. | [`output/basic-monadic.eye`](../examples/output/basic-monadic.eye) |
326
- | [`bayes-diagnosis.eye`](../examples/bayes-diagnosis.eye) | Computes scaled Bayesian diagnosis posteriors. | [`output/bayes-diagnosis.eye`](../examples/output/bayes-diagnosis.eye) |
327
- | [`bayes-therapy.eye`](../examples/bayes-therapy.eye) | Ranks therapies using Bayesian disease likelihoods. | [`output/bayes-therapy.eye`](../examples/output/bayes-therapy.eye) |
328
- | [`beam-deflection.eye`](../examples/beam-deflection.eye) | Computes cantilever beam deflection. | [`output/beam-deflection.eye`](../examples/output/beam-deflection.eye) |
329
- | [`binomial-vandermonde.eye`](../examples/binomial-vandermonde.eye) | Computes binomial coefficients and checks Vandermonde's identity. | [`output/binomial-vandermonde.eye`](../examples/output/binomial-vandermonde.eye) |
330
- | [`blocks-world-planning.eye`](../examples/blocks-world-planning.eye) | Searches a finite blocks-world plan. | [`output/blocks-world-planning.eye`](../examples/output/blocks-world-planning.eye) |
331
- | [`bmi.eye`](../examples/bmi.eye) | Normalizes BMI inputs and classifies weight. | [`output/bmi.eye`](../examples/output/bmi.eye) |
332
- | [`braking-safety-worlds.eye`](../examples/braking-safety-worlds.eye) | Classifies braking safety under alternative worlds. | [`output/braking-safety-worlds.eye`](../examples/output/braking-safety-worlds.eye) |
333
- | [`buck-converter-design.eye`](../examples/buck-converter-design.eye) | Checks buck-converter ripple design. | [`output/buck-converter-design.eye`](../examples/output/buck-converter-design.eye) |
334
- | [`cache-performance.eye`](../examples/cache-performance.eye) | Summarizes cache latency performance. | [`output/cache-performance.eye`](../examples/output/cache-performance.eye) |
335
- | [`canary-release.eye`](../examples/canary-release.eye) | Decides canary rollout or rollback. | [`output/canary-release.eye`](../examples/output/canary-release.eye) |
336
- | [`cat-koko.eye`](../examples/cat-koko.eye) | Demonstrates named existential witnesses from a Cat Koko rule pattern. | [`output/cat-koko.eye`](../examples/output/cat-koko.eye) |
337
- | [`catalan-convolution.eye`](../examples/catalan-convolution.eye) | Computes Catalan numbers by tabled convolution. | [`output/catalan-convolution.eye`](../examples/output/catalan-convolution.eye) |
338
- | [`cdcl-sat-solver.eye`](../examples/cdcl-sat-solver.eye) | Simulates one CDCL conflict-analysis step with a learned clause and backjumped model. | [`output/cdcl-sat-solver.eye`](../examples/output/cdcl-sat-solver.eye) |
339
- | [`chart-parser.eye`](../examples/chart-parser.eye) | Parses small sentences with a tabled chart parser. | [`output/chart-parser.eye`](../examples/output/chart-parser.eye) |
340
- | [`clinical-trial-screening.eye`](../examples/clinical-trial-screening.eye) | Screens candidates for a trial. | [`output/clinical-trial-screening.eye`](../examples/output/clinical-trial-screening.eye) |
341
- | [`collatz-1000.eye`](../examples/collatz-1000.eye) | Materializes Collatz trajectories for starts 1000 down to 1. | [`output/collatz-1000.eye`](../examples/output/collatz-1000.eye) |
342
- | [`combinatorics-findall-sort.eye`](../examples/combinatorics-findall-sort.eye) | Collects and sorts finite combinations. | [`output/combinatorics-findall-sort.eye`](../examples/output/combinatorics-findall-sort.eye) |
343
- | [`competitive-enzyme-kinetics.eye`](../examples/competitive-enzyme-kinetics.eye) | Computes inhibited enzyme reaction rates. | [`output/competitive-enzyme-kinetics.eye`](../examples/output/competitive-enzyme-kinetics.eye) |
344
- | [`complex.eye`](../examples/complex.eye) | Performs arithmetic on complex pairs. | [`output/complex.eye`](../examples/output/complex.eye) |
345
- | [`composition-of-injective-functions-is-injective.eye`](../examples/composition-of-injective-functions-is-injective.eye) | Encodes composition and injectivity of finite functions. | [`output/composition-of-injective-functions-is-injective.eye`](../examples/output/composition-of-injective-functions-is-injective.eye) |
346
- | [`context-association.eye`](../examples/context-association.eye) | Associates named contexts with their contents. | [`output/context-association.eye`](../examples/output/context-association.eye) |
347
- | [`context-schema-audit.eye`](../examples/context-schema-audit.eye) | Audits mixed-arity context members with `holds/3`. | [`output/context-schema-audit.eye`](../examples/output/context-schema-audit.eye) |
348
- | [`continued-fraction-sqrt2.eye`](../examples/continued-fraction-sqrt2.eye) | Computes sqrt(2) continued-fraction convergents and Pell errors. | [`output/continued-fraction-sqrt2.eye`](../examples/output/continued-fraction-sqrt2.eye) |
349
- | [`control-system.eye`](../examples/control-system.eye) | Evaluates control-system measurements and targets. | [`output/control-system.eye`](../examples/output/control-system.eye) |
350
- | [`critical-path-schedule.eye`](../examples/critical-path-schedule.eye) | Computes earliest starts and the critical path for a project network. | [`output/critical-path-schedule.eye`](../examples/output/critical-path-schedule.eye) |
351
- | [`cyclic-path.eye`](../examples/cyclic-path.eye) | Computes paths in a cyclic graph. | [`output/cyclic-path.eye`](../examples/output/cyclic-path.eye) |
352
- | [`d3-group.eye`](../examples/d3-group.eye) | Enumerates subgroups of the D3 group. | [`output/d3-group.eye`](../examples/output/d3-group.eye) |
353
- | [`dairy-energy-balance.eye`](../examples/dairy-energy-balance.eye) | Classifies dairy cow energy balance. | [`output/dairy-energy-balance.eye`](../examples/output/dairy-energy-balance.eye) |
354
- | [`data-negotiation.eye`](../examples/data-negotiation.eye) | Chooses an accepted data-negotiation offer. | [`output/data-negotiation.eye`](../examples/output/data-negotiation.eye) |
355
- | [`deep-taxonomy-10.eye`](../examples/deep-taxonomy-10.eye) | Stress-tests recursive taxonomy depth 10. | [`output/deep-taxonomy-10.eye`](../examples/output/deep-taxonomy-10.eye) |
356
- | [`deep-taxonomy-100.eye`](../examples/deep-taxonomy-100.eye) | Stress-tests recursive taxonomy depth 100. | [`output/deep-taxonomy-100.eye`](../examples/output/deep-taxonomy-100.eye) |
357
- | [`deep-taxonomy-1000.eye`](../examples/deep-taxonomy-1000.eye) | Stress-tests recursive taxonomy depth 1000. | [`output/deep-taxonomy-1000.eye`](../examples/output/deep-taxonomy-1000.eye) |
358
- | [`deep-taxonomy-10000.eye`](../examples/deep-taxonomy-10000.eye) | Stress-tests recursive taxonomy depth 10000. | [`output/deep-taxonomy-10000.eye`](../examples/output/deep-taxonomy-10000.eye) |
359
- | [`deep-taxonomy-100000.eye`](../examples/deep-taxonomy-100000.eye) | Stress-tests recursive taxonomy depth 100000. | [`output/deep-taxonomy-100000.eye`](../examples/output/deep-taxonomy-100000.eye) |
360
- | [`delfour.eye`](../examples/delfour.eye) | Derives shopping and authorization recommendations. | [`output/delfour.eye`](../examples/output/delfour.eye) |
361
- | [`deontic-logic.eye`](../examples/deontic-logic.eye) | Reports obligations, prohibitions, and violations. | [`output/deontic-logic.eye`](../examples/output/deontic-logic.eye) |
362
- | [`derived-backward-rule.eye`](../examples/derived-backward-rule.eye) | Derives an inverse-property backward rule from rule data. | [`output/derived-backward-rule.eye`](../examples/output/derived-backward-rule.eye) |
363
- | [`derived-rule.eye`](../examples/derived-rule.eye) | Derives conclusions from rule data. | [`output/derived-rule.eye`](../examples/output/derived-rule.eye) |
364
- | [`diamond-property.eye`](../examples/diamond-property.eye) | Checks the diamond property of a relation. | [`output/diamond-property.eye`](../examples/output/diamond-property.eye) |
365
- | [`dijkstra-findall-sort.eye`](../examples/dijkstra-findall-sort.eye) | Finds shortest paths using collected candidates. | [`output/dijkstra-findall-sort.eye`](../examples/output/dijkstra-findall-sort.eye) |
366
- | [`dijkstra-risk-path.eye`](../examples/dijkstra-risk-path.eye) | Ranks routes by cost and trust. | [`output/dijkstra-risk-path.eye`](../examples/output/dijkstra-risk-path.eye) |
367
- | [`dijkstra.eye`](../examples/dijkstra.eye) | Enumerates weighted simple paths. | [`output/dijkstra.eye`](../examples/output/dijkstra.eye) |
368
- | [`dining-philosophers.eye`](../examples/dining-philosophers.eye) | Simulates Chandy-Misra fork exchanges. | [`output/dining-philosophers.eye`](../examples/output/dining-philosophers.eye) |
369
- | [`dog.eye`](../examples/dog.eye) | Counts dogs and derives when a license is required. | [`output/dog.eye`](../examples/output/dog.eye) |
370
- | [`dpv-odrl-purpose-mapping.eye`](../examples/dpv-odrl-purpose-mapping.eye) | Maps a DPV process into an ODRL permission view. | [`output/dpv-odrl-purpose-mapping.eye`](../examples/output/dpv-odrl-purpose-mapping.eye) |
371
- | [`drone-corridor-planner.eye`](../examples/drone-corridor-planner.eye) | Plans bounded drone corridor routes. | [`output/drone-corridor-planner.eye`](../examples/output/drone-corridor-planner.eye) |
372
- | [`easter-computus.eye`](../examples/easter-computus.eye) | Computes Gregorian Easter dates. | [`output/easter-computus.eye`](../examples/output/easter-computus.eye) |
373
- | [`electrical-rc-filter.eye`](../examples/electrical-rc-filter.eye) | Sizes an RC low-pass filter. | [`output/electrical-rc-filter.eye`](../examples/output/electrical-rc-filter.eye) |
374
- | [`equality-saturation.eye`](../examples/equality-saturation.eye) | Performs bounded equality saturation and extracts the cheapest equivalent expression. | [`output/equality-saturation.eye`](../examples/output/equality-saturation.eye) |
375
- | [`epidemic-policy.eye`](../examples/epidemic-policy.eye) | Chooses policies from risk and social cost. | [`output/epidemic-policy.eye`](../examples/output/epidemic-policy.eye) |
376
- | [`equivalence-classes-overlap-implies-same-class.eye`](../examples/equivalence-classes-overlap-implies-same-class.eye) | Packages the shared-member proof pattern for equivalence classes. | [`output/equivalence-classes-overlap-implies-same-class.eye`](../examples/output/equivalence-classes-overlap-implies-same-class.eye) |
377
- | [`eulerian-path.eye`](../examples/eulerian-path.eye) | Finds an Eulerian path using each edge once. | [`output/eulerian-path.eye`](../examples/output/eulerian-path.eye) |
378
- | [`ev-range-worlds.eye`](../examples/ev-range-worlds.eye) | Estimates electric-vehicle trip feasibility. | [`output/ev-range-worlds.eye`](../examples/output/ev-range-worlds.eye) |
379
- | [`existential-rule.eye`](../examples/existential-rule.eye) | Represents existential-style witnesses with explicit Herbrand terms. | [`output/existential-rule.eye`](../examples/output/existential-rule.eye) |
380
- | [`exoplanet-validation-worlds.eye`](../examples/exoplanet-validation-worlds.eye) | Validates exoplanet candidates across worlds. | [`output/exoplanet-validation-worlds.eye`](../examples/output/exoplanet-validation-worlds.eye) |
381
- | [`expression-eval.eye`](../examples/expression-eval.eye) | Evaluates a small arithmetic expression tree. | [`output/expression-eval.eye`](../examples/output/expression-eval.eye) |
382
- | [`family-cousins.eye`](../examples/family-cousins.eye) | Derives cousin and family labels. | [`output/family-cousins.eye`](../examples/output/family-cousins.eye) |
383
- | [`fastpow.eye`](../examples/fastpow.eye) | Computes powers by repeated squaring. | [`output/fastpow.eye`](../examples/output/fastpow.eye) |
384
- | [`fft8-numeric.eye`](../examples/fft8-numeric.eye) | Runs an 8-point FFT over complex pairs. | [`output/fft8-numeric.eye`](../examples/output/fft8-numeric.eye) |
385
- | [`fibonacci.eye`](../examples/fibonacci.eye) | Computes large Fibonacci numbers by fast doubling. | [`output/fibonacci.eye`](../examples/output/fibonacci.eye) |
386
- | [`field-nitrogen-balance.eye`](../examples/field-nitrogen-balance.eye) | Classifies field nitrogen balance. | [`output/field-nitrogen-balance.eye`](../examples/output/field-nitrogen-balance.eye) |
387
- | [`flandor.eye`](../examples/flandor.eye) | Derives a Flanders macro-insight authorization and retooling package. | [`output/flandor.eye`](../examples/output/flandor.eye) |
388
- | [`floating-point.eye`](../examples/floating-point.eye) | Exercises floating-point arithmetic and comparisons. | [`output/floating-point.eye`](../examples/output/floating-point.eye) |
389
- | [`four-color-map.eye`](../examples/four-color-map.eye) | Checks a four-colour map assignment. | [`output/four-color-map.eye`](../examples/output/four-color-map.eye) |
390
- | [`fundamental-theorem-arithmetic.eye`](../examples/fundamental-theorem-arithmetic.eye) | Factors integers and reconstructs products. | [`output/fundamental-theorem-arithmetic.eye`](../examples/output/fundamental-theorem-arithmetic.eye) |
391
- | [`gd-step-certified.eye`](../examples/gd-step-certified.eye) | Certifies a gradient-descent step. | [`output/gd-step-certified.eye`](../examples/output/gd-step-certified.eye) |
392
- | [`gdpr-compliance.eye`](../examples/gdpr-compliance.eye) | Checks GDPR-style processing compliance. | [`output/gdpr-compliance.eye`](../examples/output/gdpr-compliance.eye) |
393
- | [`good-cobbler.eye`](../examples/good-cobbler.eye) | Demonstrates term-level structure with a good-cobbler statement. | [`output/good-cobbler.eye`](../examples/output/good-cobbler.eye) |
394
- | [`gps.eye`](../examples/gps.eye) | Finds and verifies route paths. | [`output/gps.eye`](../examples/output/gps.eye) |
395
- | [`graph-reachability.eye`](../examples/graph-reachability.eye) | Derives reachable nodes in a graph. | [`output/graph-reachability.eye`](../examples/output/graph-reachability.eye) |
396
- | [`graph.eye`](../examples/graph.eye) | Derives transitive paths over French-city road links while showing the productive recursive rule order. | [`output/graph.eye`](../examples/output/graph.eye) |
397
- | [`gray-code-counter.eye`](../examples/gray-code-counter.eye) | Generates Gray-code counter states. | [`output/gray-code-counter.eye`](../examples/output/gray-code-counter.eye) |
398
- | [`greatest-lower-bound-uniqueness.eye`](../examples/greatest-lower-bound-uniqueness.eye) | Shows uniqueness of greatest lower bounds in a finite order instance. | [`output/greatest-lower-bound-uniqueness.eye`](../examples/output/greatest-lower-bound-uniqueness.eye) |
399
- | [`group-inverse-uniqueness.eye`](../examples/group-inverse-uniqueness.eye) | Shows uniqueness of inverses in a finite group instance. | [`output/group-inverse-uniqueness.eye`](../examples/output/group-inverse-uniqueness.eye) |
400
- | [`hamiltonian-path.eye`](../examples/hamiltonian-path.eye) | Finds a Hamiltonian path. | [`output/hamiltonian-path.eye`](../examples/output/hamiltonian-path.eye) |
401
- | [`hamming-code.eye`](../examples/hamming-code.eye) | Corrects a single-bit Hamming word. | [`output/hamming-code.eye`](../examples/output/hamming-code.eye) |
402
- | [`hanoi.eye`](../examples/hanoi.eye) | Derives the Towers of Hanoi moves. | [`output/hanoi.eye`](../examples/output/hanoi.eye) |
403
- | [`heat-loss.eye`](../examples/heat-loss.eye) | Computes conductive heat loss. | [`output/heat-loss.eye`](../examples/output/heat-loss.eye) |
404
- | [`herbrand-witnesses.eye`](../examples/herbrand-witnesses.eye) | Represents existential-style consequences as stable Herbrand witness terms. | [`output/herbrand-witnesses.eye`](../examples/output/herbrand-witnesses.eye) |
405
- | [`heron-theorem.eye`](../examples/heron-theorem.eye) | Computes triangle area by Heron's theorem. | [`output/heron-theorem.eye`](../examples/output/heron-theorem.eye) |
406
- | [`ideal-gas-law.eye`](../examples/ideal-gas-law.eye) | Applies the ideal gas law. | [`output/ideal-gas-law.eye`](../examples/output/ideal-gas-law.eye) |
407
- | [`illegitimate-reasoning.eye`](../examples/illegitimate-reasoning.eye) | Detects suspect reasoning patterns. | [`output/illegitimate-reasoning.eye`](../examples/output/illegitimate-reasoning.eye) |
408
- | [`integer-partitions.eye`](../examples/integer-partitions.eye) | Counts integer partitions with tabled dynamic programming. | [`output/integer-partitions.eye`](../examples/output/integer-partitions.eye) |
409
- | [`intuitionistic-logic-kripke.eye`](../examples/intuitionistic-logic-kripke.eye) | Emulates intuitionistic Kripke forcing and constructive implication. | [`output/intuitionistic-logic-kripke.eye`](../examples/output/intuitionistic-logic-kripke.eye) |
410
- | [`job-shop-scheduling.eye`](../examples/job-shop-scheduling.eye) | Searches a small job-shop schedule and minimizes makespan. | [`output/job-shop-scheduling.eye`](../examples/output/job-shop-scheduling.eye) |
411
- | [`knapsack-optimization.eye`](../examples/knapsack-optimization.eye) | Optimizes a finite 0/1 knapsack pack with aggregation. | [`output/knapsack-optimization.eye`](../examples/output/knapsack-optimization.eye) |
412
- | [`knuth-bendix-completion.eye`](../examples/knuth-bendix-completion.eye) | Checks bounded Knuth-Bendix-style critical pairs for joinability. | [`output/knuth-bendix-completion.eye`](../examples/output/knuth-bendix-completion.eye) |
413
- | [`knowledge-engineering-alignment-flow.eye`](../examples/knowledge-engineering-alignment-flow.eye) | Specializes reusable alignment rules into a target-shaped flow view. | [`output/knowledge-engineering-alignment-flow.eye`](../examples/output/knowledge-engineering-alignment-flow.eye) |
414
- | [`language.eye`](../examples/language.eye) | Shows the modern Eyelang surface syntax in one compact recursive graph example. | [`output/language.eye`](../examples/output/language.eye) |
415
- | [`law-of-cosines.eye`](../examples/law-of-cosines.eye) | Computes a triangle side by cosine law. | [`output/law-of-cosines.eye`](../examples/output/law-of-cosines.eye) |
416
- | [`least-squares-regression.eye`](../examples/least-squares-regression.eye) | Fits a least-squares regression line. | [`output/least-squares-regression.eye`](../examples/output/least-squares-regression.eye) |
417
- | [`linear-logic-resources.eye`](../examples/linear-logic-resources.eye) | Emulates linear logic resource consumption with explicit state threading. | [`output/linear-logic-resources.eye`](../examples/output/linear-logic-resources.eye) |
418
- | [`list-collection.eye`](../examples/list-collection.eye) | Demonstrates list and collection built-ins. | [`output/list-collection.eye`](../examples/output/list-collection.eye) |
419
- | [`lldm.eye`](../examples/lldm.eye) | Calculates leg-length discrepancy measurements. | [`output/lldm.eye`](../examples/output/lldm.eye) |
420
- | [`manufacturing-quality-control.eye`](../examples/manufacturing-quality-control.eye) | Evaluates process capability and quality. | [`output/manufacturing-quality-control.eye`](../examples/output/manufacturing-quality-control.eye) |
421
- | [`markov-logic-network.eye`](../examples/markov-logic-network.eye) | Scores finite possible worlds with weighted soft formulas in a Markov Logic Network style. | [`output/markov-logic-network.eye`](../examples/output/markov-logic-network.eye) |
422
- | [`map-four-color-search.eye`](../examples/map-four-color-search.eye) | Searches for a valid four-colouring of the EU neighbour graph. | [`output/map-four-color-search.eye`](../examples/output/map-four-color-search.eye) |
423
- | [`matrix-chain-order.eye`](../examples/matrix-chain-order.eye) | Finds an optimal matrix-chain multiplication order. | [`output/matrix-chain-order.eye`](../examples/output/matrix-chain-order.eye) |
424
- | [`matrix-noncommutativity.eye`](../examples/matrix-noncommutativity.eye) | Multiplies 2x2 matrices and shows non-commutativity. | [`output/matrix-noncommutativity.eye`](../examples/output/matrix-noncommutativity.eye) |
425
- | [`microgrid-dispatch.eye`](../examples/microgrid-dispatch.eye) | Plans microgrid dispatch and reserve. | [`output/microgrid-dispatch.eye`](../examples/output/microgrid-dispatch.eye) |
426
- | [`missionaries-cannibals.eye`](../examples/missionaries-cannibals.eye) | Solves the missionaries-and-cannibals river crossing puzzle. | [`output/missionaries-cannibals.eye`](../examples/output/missionaries-cannibals.eye) |
427
- | [`modal-logic-kripke.eye`](../examples/modal-logic-kripke.eye) | Emulates modal box and diamond operators over a finite Kripke frame. | [`output/modal-logic-kripke.eye`](../examples/output/modal-logic-kripke.eye) |
428
- | [`modular-exponentiation.eye`](../examples/modular-exponentiation.eye) | Computes modular powers by repeated squaring. | [`output/modular-exponentiation.eye`](../examples/output/modular-exponentiation.eye) |
429
- | [`monkey-bananas.eye`](../examples/monkey-bananas.eye) | Solves the monkey-and-bananas puzzle. | [`output/monkey-bananas.eye`](../examples/output/monkey-bananas.eye) |
430
- | [`n-queens-8.eye`](../examples/n-queens-8.eye) | Solves the 8-queens search problem with diagonal constraints. | [`output/n-queens-8.eye`](../examples/output/n-queens-8.eye) |
431
- | [`network-sla.eye`](../examples/network-sla.eye) | Checks network path SLA compliance. | [`output/network-sla.eye`](../examples/output/network-sla.eye) |
432
- | [`newton-raphson.eye`](../examples/newton-raphson.eye) | Finds roots by Newton-Raphson iteration. | [`output/newton-raphson.eye`](../examples/output/newton-raphson.eye) |
433
- | [`nixon-diamond.eye`](../examples/nixon-diamond.eye) | Reports the classic Nixon-diamond conflict. | [`output/nixon-diamond.eye`](../examples/output/nixon-diamond.eye) |
434
- | [`observability-log-correlation.eye`](../examples/observability-log-correlation.eye) | Extracts named regex captures from observability logs and correlates events by trace id. | [`output/observability-log-correlation.eye`](../examples/output/observability-log-correlation.eye) |
435
- | [`odrl-dpv-fpv-trust-flow.eye`](../examples/odrl-dpv-fpv-trust-flow.eye) | Decides ODRL/DPV data flows with local FPV trust gates. | [`output/odrl-dpv-fpv-trust-flow.eye`](../examples/output/odrl-dpv-fpv-trust-flow.eye) |
436
- | [`odrl-dpv-healthcare-risk-ranked.eye`](../examples/odrl-dpv-healthcare-risk-ranked.eye) | Ranks healthcare policy risks and mitigations. | [`output/odrl-dpv-healthcare-risk-ranked.eye`](../examples/output/odrl-dpv-healthcare-risk-ranked.eye) |
437
- | [`odrl-dpv-risk-ranked.eye`](../examples/odrl-dpv-risk-ranked.eye) | Ranks data-policy risks and mitigations. | [`output/odrl-dpv-risk-ranked.eye`](../examples/output/odrl-dpv-risk-ranked.eye) |
438
- | [`orbital-transfer-design.eye`](../examples/orbital-transfer-design.eye) | Designs a Hohmann orbital transfer. | [`output/orbital-transfer-design.eye`](../examples/output/orbital-transfer-design.eye) |
439
- | [`path-discovery.eye`](../examples/path-discovery.eye) | Discovers bounded air-route paths. | [`output/path-discovery.eye`](../examples/output/path-discovery.eye) |
440
- | [`partial-evaluator.eye`](../examples/partial-evaluator.eye) | Specializes tiny expression programs by folding static inputs into residual code. | [`output/partial-evaluator.eye`](../examples/output/partial-evaluator.eye) |
441
- | [`peano-arithmetic.eye`](../examples/peano-arithmetic.eye) | Computes Peano addition, multiplication, and factorial. | [`output/peano-arithmetic.eye`](../examples/output/peano-arithmetic.eye) |
442
- | [`peano-calculus.eye`](../examples/peano-calculus.eye) | Computes Peano addition, multiplication, and factorial. | [`output/peano-calculus.eye`](../examples/output/peano-calculus.eye) |
443
- | [`peasant.eye`](../examples/peasant.eye) | Performs peasant multiplication and exponentiation. | [`output/peasant.eye`](../examples/output/peasant.eye) |
444
- | [`pell-equation.eye`](../examples/pell-equation.eye) | Generates Pell-equation solutions by recurrence. | [`output/pell-equation.eye`](../examples/output/pell-equation.eye) |
445
- | [`pendulum-period.eye`](../examples/pendulum-period.eye) | Computes simple pendulum periods. | [`output/pendulum-period.eye`](../examples/output/pendulum-period.eye) |
446
- | [`pointer-analysis.eye`](../examples/pointer-analysis.eye) | Computes Andersen-style inclusion-based points-to facts over address, assign, store, and load constraints. | [`output/pointer-analysis.eye`](../examples/output/pointer-analysis.eye) |
447
- | [`polynomial.eye`](../examples/polynomial.eye) | Finds complex integer polynomial roots. | [`output/polynomial.eye`](../examples/output/polynomial.eye) |
448
- | [`prime-range.eye`](../examples/prime-range.eye) | Finds primes in a finite range and computes a totient value. | [`output/prime-range.eye`](../examples/output/prime-range.eye) |
449
- | [`proof-contrapositive.eye`](../examples/proof-contrapositive.eye) | Models proof by contrapositive. | [`output/proof-contrapositive.eye`](../examples/output/proof-contrapositive.eye) |
450
- | [`quadratic-formula.eye`](../examples/quadratic-formula.eye) | Solves sample quadratic equations. | [`output/quadratic-formula.eye`](../examples/output/quadratic-formula.eye) |
451
- | [`radioactive-decay.eye`](../examples/radioactive-decay.eye) | Computes radioactive decay over time. | [`output/radioactive-decay.eye`](../examples/output/radioactive-decay.eye) |
452
- | [`register-allocation.eye`](../examples/register-allocation.eye) | Allocates temporaries to two registers with spilling by bounded graph-coloring search. | [`output/register-allocation.eye`](../examples/output/register-allocation.eye) |
453
- | [`reusable-builtins.eye`](../examples/reusable-builtins.eye) | Tours reusable numeric, list, and string builtins. | [`output/reusable-builtins.eye`](../examples/output/reusable-builtins.eye) |
454
- | [`riemann-hypothesis.eye`](../examples/riemann-hypothesis.eye) | Checks a finite catalogue of non-trivial zeta zeros against the Riemann-hypothesis condition. | [`output/riemann-hypothesis.eye`](../examples/output/riemann-hypothesis.eye) |
455
- | [`route-planning.eye`](../examples/route-planning.eye) | Finds routes and records them as explicit route terms. | [`output/route-planning.eye`](../examples/output/route-planning.eye) |
456
- | [`sat-solver-dpll.eye`](../examples/sat-solver-dpll.eye) | Searches a CNF formula with DPLL-style recursive decisions and early contradiction pruning. | [`output/sat-solver-dpll.eye`](../examples/output/sat-solver-dpll.eye) |
457
- | [`security-incident-correlation.eye`](../examples/security-incident-correlation.eye) | Correlates security incidents across signals. | [`output/security-incident-correlation.eye`](../examples/output/security-incident-correlation.eye) |
458
- | [`send-more-money.eye`](../examples/send-more-money.eye) | Solves the SEND + MORE = MONEY cryptarithm. | [`output/send-more-money.eye`](../examples/output/send-more-money.eye) |
459
- | [`service-impact.eye`](../examples/service-impact.eye) | Analyzes service impact over cyclic dependencies. | [`output/service-impact.eye`](../examples/output/service-impact.eye) |
460
- | [`shoelace-polygon-area.eye`](../examples/shoelace-polygon-area.eye) | Computes polygon area with a recursive shoelace calculation. | [`output/shoelace-polygon-area.eye`](../examples/output/shoelace-polygon-area.eye) |
461
- | [`sieve.eye`](../examples/sieve.eye) | Enumerates primes with a sieve-style program. | [`output/sieve.eye`](../examples/output/sieve.eye) |
462
- | [`skolem-functions.eye`](../examples/skolem-functions.eye) | Generates deterministic functional terms. | [`output/skolem-functions.eye`](../examples/output/skolem-functions.eye) |
463
- | [`socket-age.eye`](../examples/socket-age.eye) | Shows socket-declared age reasoning inputs and plugs. | [`output/socket-age.eye`](../examples/output/socket-age.eye) |
464
- | [`socket-family.eye`](../examples/socket-family.eye) | Shows socket-declared family-source inputs and ancestry rules. | [`output/socket-family.eye`](../examples/output/socket-family.eye) |
465
- | [`socrates.eye`](../examples/socrates.eye) | Derives that Socrates is mortal. | [`output/socrates.eye`](../examples/output/socrates.eye) |
466
- | [`stable-marriage.eye`](../examples/stable-marriage.eye) | Finds stable matchings by excluding blocking pairs. | [`output/stable-marriage.eye`](../examples/output/stable-marriage.eye) |
467
- | [`statistics-summary.eye`](../examples/statistics-summary.eye) | Computes population statistics for a sample. | [`output/statistics-summary.eye`](../examples/output/statistics-summary.eye) |
468
- | [`stirling-bell-numbers.eye`](../examples/stirling-bell-numbers.eye) | Computes Stirling numbers and Bell numbers. | [`output/stirling-bell-numbers.eye`](../examples/output/stirling-bell-numbers.eye) |
469
- | [`sudoku-4x4.eye`](../examples/sudoku-4x4.eye) | Solves a compact 4x4 Sudoku by finite constraint search. | [`output/sudoku-4x4.eye`](../examples/output/sudoku-4x4.eye) |
470
- | [`superdense-coding.eye`](../examples/superdense-coding.eye) | Models superdense-coding bit transmission. | [`output/superdense-coding.eye`](../examples/output/superdense-coding.eye) |
471
- | [`symbolic-derivative.eye`](../examples/symbolic-derivative.eye) | Symbolically differentiates explicit expression terms, including products and logs. | [`output/symbolic-derivative.eye`](../examples/output/symbolic-derivative.eye) |
472
- | [`term-tools.eye`](../examples/term-tools.eye) | Inspects, builds, renders, and validates terms with reusable term/control builtins. | [`output/term-tools.eye`](../examples/output/term-tools.eye) |
473
- | [`totient-summatory.eye`](../examples/totient-summatory.eye) | Computes Euler totients and their summatory function. | [`output/totient-summatory.eye`](../examples/output/totient-summatory.eye) |
474
- | [`trust-flow-provenance-threshold.eye`](../examples/trust-flow-provenance-threshold.eye) | Classifies message trust from provenance confidence scores. | [`output/trust-flow-provenance-threshold.eye`](../examples/output/trust-flow-provenance-threshold.eye) |
475
- | [`truth-maintenance-system.eye`](../examples/truth-maintenance-system.eye) | Tracks assumptions, justifications, supported beliefs, and inconsistent environments in a tiny TMS. | [`output/truth-maintenance-system.eye`](../examples/output/truth-maintenance-system.eye) |
476
- | [`type-inference.eye`](../examples/type-inference.eye) | Infers/checks types for a tiny lambda language using logic unification over expression syntax trees. | [`output/type-inference.eye`](../examples/output/type-inference.eye) |
477
- | [`turing.eye`](../examples/turing.eye) | Simulates a binary-increment Turing machine. | [`output/turing.eye`](../examples/output/turing.eye) |
478
- | [`vector-similarity.eye`](../examples/vector-similarity.eye) | Computes dot product, norm, and cosine similarity. | [`output/vector-similarity.eye`](../examples/output/vector-similarity.eye) |
479
- | [`vulnerability-impact.eye`](../examples/vulnerability-impact.eye) | Analyzes vulnerable transitive dependencies and urgent patch impact. | [`output/vulnerability-impact.eye`](../examples/output/vulnerability-impact.eye) |
480
- | [`web-names.eye`](../examples/web-names.eye) | Uses angle-bracket IRI atoms as first-class web names and joins them across a tiny graph. | [`output/web-names.eye`](../examples/output/web-names.eye) |
481
- | [`weighted-interval-scheduling.eye`](../examples/weighted-interval-scheduling.eye) | Selects the best non-overlapping weighted intervals with tabled dynamic programming. | [`output/weighted-interval-scheduling.eye`](../examples/output/weighted-interval-scheduling.eye) |
482
- | [`witch.eye`](../examples/witch.eye) | Derives the classic “burn the witch” rule chain. | [`output/witch.eye`](../examples/output/witch.eye) |
483
- | [`wolf-goat-cabbage.eye`](../examples/wolf-goat-cabbage.eye) | Solves the wolf-goat-cabbage river crossing. | [`output/wolf-goat-cabbage.eye`](../examples/output/wolf-goat-cabbage.eye) |
484
- | [`workplace-compliance.eye`](../examples/workplace-compliance.eye) | Classifies workplace compliance from explicit action facts. | [`output/workplace-compliance.eye`](../examples/output/workplace-compliance.eye) |
485
- | [`zebra.eye`](../examples/zebra.eye) | Solves the zebra logic puzzle. | [`output/zebra.eye`](../examples/output/zebra.eye) |
313
+ | [`abstract-interpretation.pl`](../examples/abstract-interpretation.pl) | Performs a sign-domain abstract interpretation and reports a possible divide-by-zero warning. | [`output/abstract-interpretation.pl`](../examples/output/abstract-interpretation.pl) |
314
+ | [`access-control-policy.pl`](../examples/access-control-policy.pl) | Evaluates role and condition based access decisions. | [`output/access-control-policy.pl`](../examples/output/access-control-policy.pl) |
315
+ | [`ackermann.pl`](../examples/ackermann.pl) | Computes Ackermann-style hyperoperation values. | [`output/ackermann.pl`](../examples/output/ackermann.pl) |
316
+ | [`age.pl`](../examples/age.pl) | Checks whether people meet age thresholds. | [`output/age.pl`](../examples/output/age.pl) |
317
+ | [`aliases-and-namespaces.pl`](../examples/aliases-and-namespaces.pl) | Shows ordinary predicate names for vocabulary aliases. | [`output/aliases-and-namespaces.pl`](../examples/output/aliases-and-namespaces.pl) |
318
+ | [`alignment-demo.pl`](../examples/alignment-demo.pl) | Rolls dataset concepts up through a small alignment taxonomy. | [`output/alignment-demo.pl`](../examples/output/alignment-demo.pl) |
319
+ | [`allen-interval-calculus.pl`](../examples/allen-interval-calculus.pl) | Classifies interval relations with integer time offsets. | [`output/allen-interval-calculus.pl`](../examples/output/allen-interval-calculus.pl) |
320
+ | [`ancestor.pl`](../examples/ancestor.pl) | Derives ancestors from parent facts. | [`output/ancestor.pl`](../examples/output/ancestor.pl) |
321
+ | [`animal.pl`](../examples/animal.pl) | Classifies animals from traits. | [`output/animal.pl`](../examples/output/animal.pl) |
322
+ | [`annotation.pl`](../examples/annotation.pl) | Derives facts from quoted annotation data. | [`output/annotation.pl`](../examples/output/annotation.pl) |
323
+ | [`auroracare.pl`](../examples/auroracare.pl) | Evaluates purpose-based medical data access scenarios. | [`output/auroracare.pl`](../examples/output/auroracare.pl) |
324
+ | [`backward.pl`](../examples/backward.pl) | Shows a backward-rule pattern as a goal-directed numeric rule. | [`output/backward.pl`](../examples/output/backward.pl) |
325
+ | [`basic-monadic.pl`](../examples/basic-monadic.pl) | Runs the basic monadic benchmark with explicit indexed edge joins instead of specialized search builtins. | [`output/basic-monadic.pl`](../examples/output/basic-monadic.pl) |
326
+ | [`bayes-diagnosis.pl`](../examples/bayes-diagnosis.pl) | Computes scaled Bayesian diagnosis posteriors. | [`output/bayes-diagnosis.pl`](../examples/output/bayes-diagnosis.pl) |
327
+ | [`bayes-therapy.pl`](../examples/bayes-therapy.pl) | Ranks therapies using Bayesian disease likelihoods. | [`output/bayes-therapy.pl`](../examples/output/bayes-therapy.pl) |
328
+ | [`beam-deflection.pl`](../examples/beam-deflection.pl) | Computes cantilever beam deflection. | [`output/beam-deflection.pl`](../examples/output/beam-deflection.pl) |
329
+ | [`binomial-vandermonde.pl`](../examples/binomial-vandermonde.pl) | Computes binomial coefficients and checks Vandermonde's identity. | [`output/binomial-vandermonde.pl`](../examples/output/binomial-vandermonde.pl) |
330
+ | [`blocks-world-planning.pl`](../examples/blocks-world-planning.pl) | Searches a finite blocks-world plan. | [`output/blocks-world-planning.pl`](../examples/output/blocks-world-planning.pl) |
331
+ | [`bmi.pl`](../examples/bmi.pl) | Normalizes BMI inputs and classifies weight. | [`output/bmi.pl`](../examples/output/bmi.pl) |
332
+ | [`braking-safety-worlds.pl`](../examples/braking-safety-worlds.pl) | Classifies braking safety under alternative worlds. | [`output/braking-safety-worlds.pl`](../examples/output/braking-safety-worlds.pl) |
333
+ | [`buck-converter-design.pl`](../examples/buck-converter-design.pl) | Checks buck-converter ripple design. | [`output/buck-converter-design.pl`](../examples/output/buck-converter-design.pl) |
334
+ | [`cache-performance.pl`](../examples/cache-performance.pl) | Summarizes cache latency performance. | [`output/cache-performance.pl`](../examples/output/cache-performance.pl) |
335
+ | [`canary-release.pl`](../examples/canary-release.pl) | Decides canary rollout or rollback. | [`output/canary-release.pl`](../examples/output/canary-release.pl) |
336
+ | [`cat-koko.pl`](../examples/cat-koko.pl) | Demonstrates named existential witnesses from a Cat Koko rule pattern. | [`output/cat-koko.pl`](../examples/output/cat-koko.pl) |
337
+ | [`catalan-convolution.pl`](../examples/catalan-convolution.pl) | Computes Catalan numbers by tabled convolution. | [`output/catalan-convolution.pl`](../examples/output/catalan-convolution.pl) |
338
+ | [`cdcl-sat-solver.pl`](../examples/cdcl-sat-solver.pl) | Simulates one CDCL conflict-analysis step with a learned clause and backjumped model. | [`output/cdcl-sat-solver.pl`](../examples/output/cdcl-sat-solver.pl) |
339
+ | [`chart-parser.pl`](../examples/chart-parser.pl) | Parses small sentences with a tabled chart parser. | [`output/chart-parser.pl`](../examples/output/chart-parser.pl) |
340
+ | [`clinical-trial-screening.pl`](../examples/clinical-trial-screening.pl) | Screens candidates for a trial. | [`output/clinical-trial-screening.pl`](../examples/output/clinical-trial-screening.pl) |
341
+ | [`collatz-1000.pl`](../examples/collatz-1000.pl) | Materializes Collatz trajectories for starts 1000 down to 1. | [`output/collatz-1000.pl`](../examples/output/collatz-1000.pl) |
342
+ | [`combinatorics-findall-sort.pl`](../examples/combinatorics-findall-sort.pl) | Collects and sorts finite combinations. | [`output/combinatorics-findall-sort.pl`](../examples/output/combinatorics-findall-sort.pl) |
343
+ | [`competitive-enzyme-kinetics.pl`](../examples/competitive-enzyme-kinetics.pl) | Computes inhibited enzyme reaction rates. | [`output/competitive-enzyme-kinetics.pl`](../examples/output/competitive-enzyme-kinetics.pl) |
344
+ | [`complex.pl`](../examples/complex.pl) | Performs arithmetic on complex pairs. | [`output/complex.pl`](../examples/output/complex.pl) |
345
+ | [`composition-of-injective-functions-is-injective.pl`](../examples/composition-of-injective-functions-is-injective.pl) | Encodes composition and injectivity of finite functions. | [`output/composition-of-injective-functions-is-injective.pl`](../examples/output/composition-of-injective-functions-is-injective.pl) |
346
+ | [`context-association.pl`](../examples/context-association.pl) | Associates named contexts with their contents. | [`output/context-association.pl`](../examples/output/context-association.pl) |
347
+ | [`context-schema-audit.pl`](../examples/context-schema-audit.pl) | Audits mixed-arity context members with `holds/3`. | [`output/context-schema-audit.pl`](../examples/output/context-schema-audit.pl) |
348
+ | [`continued-fraction-sqrt2.pl`](../examples/continued-fraction-sqrt2.pl) | Computes sqrt(2) continued-fraction convergents and Pell errors. | [`output/continued-fraction-sqrt2.pl`](../examples/output/continued-fraction-sqrt2.pl) |
349
+ | [`control-system.pl`](../examples/control-system.pl) | Evaluates control-system measurements and targets. | [`output/control-system.pl`](../examples/output/control-system.pl) |
350
+ | [`critical-path-schedule.pl`](../examples/critical-path-schedule.pl) | Computes earliest starts and the critical path for a project network. | [`output/critical-path-schedule.pl`](../examples/output/critical-path-schedule.pl) |
351
+ | [`cyclic-path.pl`](../examples/cyclic-path.pl) | Computes paths in a cyclic graph. | [`output/cyclic-path.pl`](../examples/output/cyclic-path.pl) |
352
+ | [`d3-group.pl`](../examples/d3-group.pl) | Enumerates subgroups of the D3 group. | [`output/d3-group.pl`](../examples/output/d3-group.pl) |
353
+ | [`dairy-energy-balance.pl`](../examples/dairy-energy-balance.pl) | Classifies dairy cow energy balance. | [`output/dairy-energy-balance.pl`](../examples/output/dairy-energy-balance.pl) |
354
+ | [`data-negotiation.pl`](../examples/data-negotiation.pl) | Chooses an accepted data-negotiation offer. | [`output/data-negotiation.pl`](../examples/output/data-negotiation.pl) |
355
+ | [`deep-taxonomy-10.pl`](../examples/deep-taxonomy-10.pl) | Stress-tests recursive taxonomy depth 10. | [`output/deep-taxonomy-10.pl`](../examples/output/deep-taxonomy-10.pl) |
356
+ | [`deep-taxonomy-100.pl`](../examples/deep-taxonomy-100.pl) | Stress-tests recursive taxonomy depth 100. | [`output/deep-taxonomy-100.pl`](../examples/output/deep-taxonomy-100.pl) |
357
+ | [`deep-taxonomy-1000.pl`](../examples/deep-taxonomy-1000.pl) | Stress-tests recursive taxonomy depth 1000. | [`output/deep-taxonomy-1000.pl`](../examples/output/deep-taxonomy-1000.pl) |
358
+ | [`deep-taxonomy-10000.pl`](../examples/deep-taxonomy-10000.pl) | Stress-tests recursive taxonomy depth 10000. | [`output/deep-taxonomy-10000.pl`](../examples/output/deep-taxonomy-10000.pl) |
359
+ | [`deep-taxonomy-100000.pl`](../examples/deep-taxonomy-100000.pl) | Stress-tests recursive taxonomy depth 100000. | [`output/deep-taxonomy-100000.pl`](../examples/output/deep-taxonomy-100000.pl) |
360
+ | [`delfour.pl`](../examples/delfour.pl) | Derives shopping and authorization recommendations. | [`output/delfour.pl`](../examples/output/delfour.pl) |
361
+ | [`deontic-logic.pl`](../examples/deontic-logic.pl) | Reports obligations, prohibitions, and violations. | [`output/deontic-logic.pl`](../examples/output/deontic-logic.pl) |
362
+ | [`derived-backward-rule.pl`](../examples/derived-backward-rule.pl) | Derives an inverse-property backward rule from rule data. | [`output/derived-backward-rule.pl`](../examples/output/derived-backward-rule.pl) |
363
+ | [`derived-rule.pl`](../examples/derived-rule.pl) | Derives conclusions from rule data. | [`output/derived-rule.pl`](../examples/output/derived-rule.pl) |
364
+ | [`diamond-property.pl`](../examples/diamond-property.pl) | Checks the diamond property of a relation. | [`output/diamond-property.pl`](../examples/output/diamond-property.pl) |
365
+ | [`dijkstra-findall-sort.pl`](../examples/dijkstra-findall-sort.pl) | Finds shortest paths using collected candidates. | [`output/dijkstra-findall-sort.pl`](../examples/output/dijkstra-findall-sort.pl) |
366
+ | [`dijkstra-risk-path.pl`](../examples/dijkstra-risk-path.pl) | Ranks routes by cost and trust. | [`output/dijkstra-risk-path.pl`](../examples/output/dijkstra-risk-path.pl) |
367
+ | [`dijkstra.pl`](../examples/dijkstra.pl) | Enumerates weighted simple paths. | [`output/dijkstra.pl`](../examples/output/dijkstra.pl) |
368
+ | [`dining-philosophers.pl`](../examples/dining-philosophers.pl) | Simulates Chandy-Misra fork exchanges. | [`output/dining-philosophers.pl`](../examples/output/dining-philosophers.pl) |
369
+ | [`dog.pl`](../examples/dog.pl) | Counts dogs and derives when a license is required. | [`output/dog.pl`](../examples/output/dog.pl) |
370
+ | [`dpv-odrl-purpose-mapping.pl`](../examples/dpv-odrl-purpose-mapping.pl) | Maps a DPV process into an ODRL permission view. | [`output/dpv-odrl-purpose-mapping.pl`](../examples/output/dpv-odrl-purpose-mapping.pl) |
371
+ | [`drone-corridor-planner.pl`](../examples/drone-corridor-planner.pl) | Plans bounded drone corridor routes. | [`output/drone-corridor-planner.pl`](../examples/output/drone-corridor-planner.pl) |
372
+ | [`easter-computus.pl`](../examples/easter-computus.pl) | Computes Gregorian Easter dates. | [`output/easter-computus.pl`](../examples/output/easter-computus.pl) |
373
+ | [`electrical-rc-filter.pl`](../examples/electrical-rc-filter.pl) | Sizes an RC low-pass filter. | [`output/electrical-rc-filter.pl`](../examples/output/electrical-rc-filter.pl) |
374
+ | [`equality-saturation.pl`](../examples/equality-saturation.pl) | Performs bounded equality saturation and extracts the cheapest equivalent expression. | [`output/equality-saturation.pl`](../examples/output/equality-saturation.pl) |
375
+ | [`epidemic-policy.pl`](../examples/epidemic-policy.pl) | Chooses policies from risk and social cost. | [`output/epidemic-policy.pl`](../examples/output/epidemic-policy.pl) |
376
+ | [`equivalence-classes-overlap-implies-same-class.pl`](../examples/equivalence-classes-overlap-implies-same-class.pl) | Packages the shared-member proof pattern for equivalence classes. | [`output/equivalence-classes-overlap-implies-same-class.pl`](../examples/output/equivalence-classes-overlap-implies-same-class.pl) |
377
+ | [`eulerian-path.pl`](../examples/eulerian-path.pl) | Finds an Eulerian path using each edge once. | [`output/eulerian-path.pl`](../examples/output/eulerian-path.pl) |
378
+ | [`ev-range-worlds.pl`](../examples/ev-range-worlds.pl) | Estimates electric-vehicle trip feasibility. | [`output/ev-range-worlds.pl`](../examples/output/ev-range-worlds.pl) |
379
+ | [`existential-rule.pl`](../examples/existential-rule.pl) | Represents existential-style witnesses with explicit Herbrand terms. | [`output/existential-rule.pl`](../examples/output/existential-rule.pl) |
380
+ | [`exoplanet-validation-worlds.pl`](../examples/exoplanet-validation-worlds.pl) | Validates exoplanet candidates across worlds. | [`output/exoplanet-validation-worlds.pl`](../examples/output/exoplanet-validation-worlds.pl) |
381
+ | [`expression-eval.pl`](../examples/expression-eval.pl) | Evaluates a small arithmetic expression tree. | [`output/expression-eval.pl`](../examples/output/expression-eval.pl) |
382
+ | [`family-cousins.pl`](../examples/family-cousins.pl) | Derives cousin and family labels. | [`output/family-cousins.pl`](../examples/output/family-cousins.pl) |
383
+ | [`fastpow.pl`](../examples/fastpow.pl) | Computes powers by repeated squaring. | [`output/fastpow.pl`](../examples/output/fastpow.pl) |
384
+ | [`fft8-numeric.pl`](../examples/fft8-numeric.pl) | Runs an 8-point FFT over complex pairs. | [`output/fft8-numeric.pl`](../examples/output/fft8-numeric.pl) |
385
+ | [`fibonacci.pl`](../examples/fibonacci.pl) | Computes large Fibonacci numbers by fast doubling. | [`output/fibonacci.pl`](../examples/output/fibonacci.pl) |
386
+ | [`field-nitrogen-balance.pl`](../examples/field-nitrogen-balance.pl) | Classifies field nitrogen balance. | [`output/field-nitrogen-balance.pl`](../examples/output/field-nitrogen-balance.pl) |
387
+ | [`flandor.pl`](../examples/flandor.pl) | Derives a Flanders macro-insight authorization and retooling package. | [`output/flandor.pl`](../examples/output/flandor.pl) |
388
+ | [`floating-point.pl`](../examples/floating-point.pl) | Exercises floating-point arithmetic and comparisons. | [`output/floating-point.pl`](../examples/output/floating-point.pl) |
389
+ | [`four-color-map.pl`](../examples/four-color-map.pl) | Checks a four-colour map assignment. | [`output/four-color-map.pl`](../examples/output/four-color-map.pl) |
390
+ | [`fundamental-theorem-arithmetic.pl`](../examples/fundamental-theorem-arithmetic.pl) | Factors integers and reconstructs products. | [`output/fundamental-theorem-arithmetic.pl`](../examples/output/fundamental-theorem-arithmetic.pl) |
391
+ | [`gd-step-certified.pl`](../examples/gd-step-certified.pl) | Certifies a gradient-descent step. | [`output/gd-step-certified.pl`](../examples/output/gd-step-certified.pl) |
392
+ | [`gdpr-compliance.pl`](../examples/gdpr-compliance.pl) | Checks GDPR-style processing compliance. | [`output/gdpr-compliance.pl`](../examples/output/gdpr-compliance.pl) |
393
+ | [`good-cobbler.pl`](../examples/good-cobbler.pl) | Demonstrates term-level structure with a good-cobbler statement. | [`output/good-cobbler.pl`](../examples/output/good-cobbler.pl) |
394
+ | [`gps.pl`](../examples/gps.pl) | Finds and verifies route paths. | [`output/gps.pl`](../examples/output/gps.pl) |
395
+ | [`graph-reachability.pl`](../examples/graph-reachability.pl) | Derives reachable nodes in a graph. | [`output/graph-reachability.pl`](../examples/output/graph-reachability.pl) |
396
+ | [`graph.pl`](../examples/graph.pl) | Derives transitive paths over French-city road links while showing the productive recursive rule order. | [`output/graph.pl`](../examples/output/graph.pl) |
397
+ | [`gray-code-counter.pl`](../examples/gray-code-counter.pl) | Generates Gray-code counter states. | [`output/gray-code-counter.pl`](../examples/output/gray-code-counter.pl) |
398
+ | [`greatest-lower-bound-uniqueness.pl`](../examples/greatest-lower-bound-uniqueness.pl) | Shows uniqueness of greatest lower bounds in a finite order instance. | [`output/greatest-lower-bound-uniqueness.pl`](../examples/output/greatest-lower-bound-uniqueness.pl) |
399
+ | [`group-inverse-uniqueness.pl`](../examples/group-inverse-uniqueness.pl) | Shows uniqueness of inverses in a finite group instance. | [`output/group-inverse-uniqueness.pl`](../examples/output/group-inverse-uniqueness.pl) |
400
+ | [`hamiltonian-path.pl`](../examples/hamiltonian-path.pl) | Finds a Hamiltonian path. | [`output/hamiltonian-path.pl`](../examples/output/hamiltonian-path.pl) |
401
+ | [`hamming-code.pl`](../examples/hamming-code.pl) | Corrects a single-bit Hamming word. | [`output/hamming-code.pl`](../examples/output/hamming-code.pl) |
402
+ | [`hanoi.pl`](../examples/hanoi.pl) | Derives the Towers of Hanoi moves. | [`output/hanoi.pl`](../examples/output/hanoi.pl) |
403
+ | [`heat-loss.pl`](../examples/heat-loss.pl) | Computes conductive heat loss. | [`output/heat-loss.pl`](../examples/output/heat-loss.pl) |
404
+ | [`herbrand-witnesses.pl`](../examples/herbrand-witnesses.pl) | Represents existential-style consequences as stable Herbrand witness terms. | [`output/herbrand-witnesses.pl`](../examples/output/herbrand-witnesses.pl) |
405
+ | [`heron-theorem.pl`](../examples/heron-theorem.pl) | Computes triangle area by Heron's theorem. | [`output/heron-theorem.pl`](../examples/output/heron-theorem.pl) |
406
+ | [`ideal-gas-law.pl`](../examples/ideal-gas-law.pl) | Applies the ideal gas law. | [`output/ideal-gas-law.pl`](../examples/output/ideal-gas-law.pl) |
407
+ | [`illegitimate-reasoning.pl`](../examples/illegitimate-reasoning.pl) | Detects suspect reasoning patterns. | [`output/illegitimate-reasoning.pl`](../examples/output/illegitimate-reasoning.pl) |
408
+ | [`integer-partitions.pl`](../examples/integer-partitions.pl) | Counts integer partitions with tabled dynamic programming. | [`output/integer-partitions.pl`](../examples/output/integer-partitions.pl) |
409
+ | [`intuitionistic-logic-kripke.pl`](../examples/intuitionistic-logic-kripke.pl) | Emulates intuitionistic Kripke forcing and constructive implication. | [`output/intuitionistic-logic-kripke.pl`](../examples/output/intuitionistic-logic-kripke.pl) |
410
+ | [`job-shop-scheduling.pl`](../examples/job-shop-scheduling.pl) | Searches a small job-shop schedule and minimizes makespan. | [`output/job-shop-scheduling.pl`](../examples/output/job-shop-scheduling.pl) |
411
+ | [`knapsack-optimization.pl`](../examples/knapsack-optimization.pl) | Optimizes a finite 0/1 knapsack pack with aggregation. | [`output/knapsack-optimization.pl`](../examples/output/knapsack-optimization.pl) |
412
+ | [`knuth-bendix-completion.pl`](../examples/knuth-bendix-completion.pl) | Checks bounded Knuth-Bendix-style critical pairs for joinability. | [`output/knuth-bendix-completion.pl`](../examples/output/knuth-bendix-completion.pl) |
413
+ | [`knowledge-engineering-alignment-flow.pl`](../examples/knowledge-engineering-alignment-flow.pl) | Specializes reusable alignment rules into a target-shaped flow view. | [`output/knowledge-engineering-alignment-flow.pl`](../examples/output/knowledge-engineering-alignment-flow.pl) |
414
+ | [`language.pl`](../examples/language.pl) | Shows the modern Eyelang surface syntax in one compact recursive graph example. | [`output/language.pl`](../examples/output/language.pl) |
415
+ | [`law-of-cosines.pl`](../examples/law-of-cosines.pl) | Computes a triangle side by cosine law. | [`output/law-of-cosines.pl`](../examples/output/law-of-cosines.pl) |
416
+ | [`least-squares-regression.pl`](../examples/least-squares-regression.pl) | Fits a least-squares regression line. | [`output/least-squares-regression.pl`](../examples/output/least-squares-regression.pl) |
417
+ | [`linear-logic-resources.pl`](../examples/linear-logic-resources.pl) | Emulates linear logic resource consumption with explicit state threading. | [`output/linear-logic-resources.pl`](../examples/output/linear-logic-resources.pl) |
418
+ | [`list-collection.pl`](../examples/list-collection.pl) | Demonstrates list and collection built-ins. | [`output/list-collection.pl`](../examples/output/list-collection.pl) |
419
+ | [`lldm.pl`](../examples/lldm.pl) | Calculates leg-length discrepancy measurements. | [`output/lldm.pl`](../examples/output/lldm.pl) |
420
+ | [`manufacturing-quality-control.pl`](../examples/manufacturing-quality-control.pl) | Evaluates process capability and quality. | [`output/manufacturing-quality-control.pl`](../examples/output/manufacturing-quality-control.pl) |
421
+ | [`markov-logic-network.pl`](../examples/markov-logic-network.pl) | Scores finite possible worlds with weighted soft formulas in a Markov Logic Network style. | [`output/markov-logic-network.pl`](../examples/output/markov-logic-network.pl) |
422
+ | [`map-four-color-search.pl`](../examples/map-four-color-search.pl) | Searches for a valid four-colouring of the EU neighbour graph. | [`output/map-four-color-search.pl`](../examples/output/map-four-color-search.pl) |
423
+ | [`matrix-chain-order.pl`](../examples/matrix-chain-order.pl) | Finds an optimal matrix-chain multiplication order. | [`output/matrix-chain-order.pl`](../examples/output/matrix-chain-order.pl) |
424
+ | [`matrix-noncommutativity.pl`](../examples/matrix-noncommutativity.pl) | Multiplies 2x2 matrices and shows non-commutativity. | [`output/matrix-noncommutativity.pl`](../examples/output/matrix-noncommutativity.pl) |
425
+ | [`microgrid-dispatch.pl`](../examples/microgrid-dispatch.pl) | Plans microgrid dispatch and reserve. | [`output/microgrid-dispatch.pl`](../examples/output/microgrid-dispatch.pl) |
426
+ | [`missionaries-cannibals.pl`](../examples/missionaries-cannibals.pl) | Solves the missionaries-and-cannibals river crossing puzzle. | [`output/missionaries-cannibals.pl`](../examples/output/missionaries-cannibals.pl) |
427
+ | [`modal-logic-kripke.pl`](../examples/modal-logic-kripke.pl) | Emulates modal box and diamond operators over a finite Kripke frame. | [`output/modal-logic-kripke.pl`](../examples/output/modal-logic-kripke.pl) |
428
+ | [`modular-exponentiation.pl`](../examples/modular-exponentiation.pl) | Computes modular powers by repeated squaring. | [`output/modular-exponentiation.pl`](../examples/output/modular-exponentiation.pl) |
429
+ | [`monkey-bananas.pl`](../examples/monkey-bananas.pl) | Solves the monkey-and-bananas puzzle. | [`output/monkey-bananas.pl`](../examples/output/monkey-bananas.pl) |
430
+ | [`n-queens-8.pl`](../examples/n-queens-8.pl) | Solves the 8-queens search problem with diagonal constraints. | [`output/n-queens-8.pl`](../examples/output/n-queens-8.pl) |
431
+ | [`network-sla.pl`](../examples/network-sla.pl) | Checks network path SLA compliance. | [`output/network-sla.pl`](../examples/output/network-sla.pl) |
432
+ | [`newton-raphson.pl`](../examples/newton-raphson.pl) | Finds roots by Newton-Raphson iteration. | [`output/newton-raphson.pl`](../examples/output/newton-raphson.pl) |
433
+ | [`nixon-diamond.pl`](../examples/nixon-diamond.pl) | Reports the classic Nixon-diamond conflict. | [`output/nixon-diamond.pl`](../examples/output/nixon-diamond.pl) |
434
+ | [`observability-log-correlation.pl`](../examples/observability-log-correlation.pl) | Extracts named regex captures from observability logs and correlates events by trace id. | [`output/observability-log-correlation.pl`](../examples/output/observability-log-correlation.pl) |
435
+ | [`odrl-dpv-fpv-trust-flow.pl`](../examples/odrl-dpv-fpv-trust-flow.pl) | Decides ODRL/DPV data flows with local FPV trust gates. | [`output/odrl-dpv-fpv-trust-flow.pl`](../examples/output/odrl-dpv-fpv-trust-flow.pl) |
436
+ | [`odrl-dpv-healthcare-risk-ranked.pl`](../examples/odrl-dpv-healthcare-risk-ranked.pl) | Ranks healthcare policy risks and mitigations. | [`output/odrl-dpv-healthcare-risk-ranked.pl`](../examples/output/odrl-dpv-healthcare-risk-ranked.pl) |
437
+ | [`odrl-dpv-risk-ranked.pl`](../examples/odrl-dpv-risk-ranked.pl) | Ranks data-policy risks and mitigations. | [`output/odrl-dpv-risk-ranked.pl`](../examples/output/odrl-dpv-risk-ranked.pl) |
438
+ | [`orbital-transfer-design.pl`](../examples/orbital-transfer-design.pl) | Designs a Hohmann orbital transfer. | [`output/orbital-transfer-design.pl`](../examples/output/orbital-transfer-design.pl) |
439
+ | [`path-discovery.pl`](../examples/path-discovery.pl) | Discovers bounded air-route paths. | [`output/path-discovery.pl`](../examples/output/path-discovery.pl) |
440
+ | [`partial-evaluator.pl`](../examples/partial-evaluator.pl) | Specializes tiny expression programs by folding static inputs into residual code. | [`output/partial-evaluator.pl`](../examples/output/partial-evaluator.pl) |
441
+ | [`peano-arithmetic.pl`](../examples/peano-arithmetic.pl) | Computes Peano addition, multiplication, and factorial. | [`output/peano-arithmetic.pl`](../examples/output/peano-arithmetic.pl) |
442
+ | [`peano-calculus.pl`](../examples/peano-calculus.pl) | Computes Peano addition, multiplication, and factorial. | [`output/peano-calculus.pl`](../examples/output/peano-calculus.pl) |
443
+ | [`peasant.pl`](../examples/peasant.pl) | Performs peasant multiplication and exponentiation. | [`output/peasant.pl`](../examples/output/peasant.pl) |
444
+ | [`pell-equation.pl`](../examples/pell-equation.pl) | Generates Pell-equation solutions by recurrence. | [`output/pell-equation.pl`](../examples/output/pell-equation.pl) |
445
+ | [`pendulum-period.pl`](../examples/pendulum-period.pl) | Computes simple pendulum periods. | [`output/pendulum-period.pl`](../examples/output/pendulum-period.pl) |
446
+ | [`pointer-analysis.pl`](../examples/pointer-analysis.pl) | Computes Andersen-style inclusion-based points-to facts over address, assign, store, and load constraints. | [`output/pointer-analysis.pl`](../examples/output/pointer-analysis.pl) |
447
+ | [`polynomial.pl`](../examples/polynomial.pl) | Finds complex integer polynomial roots. | [`output/polynomial.pl`](../examples/output/polynomial.pl) |
448
+ | [`prime-range.pl`](../examples/prime-range.pl) | Finds primes in a finite range and computes a totient value. | [`output/prime-range.pl`](../examples/output/prime-range.pl) |
449
+ | [`proof-contrapositive.pl`](../examples/proof-contrapositive.pl) | Models proof by contrapositive. | [`output/proof-contrapositive.pl`](../examples/output/proof-contrapositive.pl) |
450
+ | [`quadratic-formula.pl`](../examples/quadratic-formula.pl) | Solves sample quadratic equations. | [`output/quadratic-formula.pl`](../examples/output/quadratic-formula.pl) |
451
+ | [`radioactive-decay.pl`](../examples/radioactive-decay.pl) | Computes radioactive decay over time. | [`output/radioactive-decay.pl`](../examples/output/radioactive-decay.pl) |
452
+ | [`register-allocation.pl`](../examples/register-allocation.pl) | Allocates temporaries to two registers with spilling by bounded graph-coloring search. | [`output/register-allocation.pl`](../examples/output/register-allocation.pl) |
453
+ | [`reusable-builtins.pl`](../examples/reusable-builtins.pl) | Tours reusable numeric, list, and string builtins. | [`output/reusable-builtins.pl`](../examples/output/reusable-builtins.pl) |
454
+ | [`riemann-hypothesis.pl`](../examples/riemann-hypothesis.pl) | Checks a finite catalogue of non-trivial zeta zeros against the Riemann-hypothesis condition. | [`output/riemann-hypothesis.pl`](../examples/output/riemann-hypothesis.pl) |
455
+ | [`route-planning.pl`](../examples/route-planning.pl) | Finds routes and records them as explicit route terms. | [`output/route-planning.pl`](../examples/output/route-planning.pl) |
456
+ | [`sat-solver-dpll.pl`](../examples/sat-solver-dpll.pl) | Searches a CNF formula with DPLL-style recursive decisions and early contradiction pruning. | [`output/sat-solver-dpll.pl`](../examples/output/sat-solver-dpll.pl) |
457
+ | [`security-incident-correlation.pl`](../examples/security-incident-correlation.pl) | Correlates security incidents across signals. | [`output/security-incident-correlation.pl`](../examples/output/security-incident-correlation.pl) |
458
+ | [`send-more-money.pl`](../examples/send-more-money.pl) | Solves the SEND + MORE = MONEY cryptarithm. | [`output/send-more-money.pl`](../examples/output/send-more-money.pl) |
459
+ | [`service-impact.pl`](../examples/service-impact.pl) | Analyzes service impact over cyclic dependencies. | [`output/service-impact.pl`](../examples/output/service-impact.pl) |
460
+ | [`shoelace-polygon-area.pl`](../examples/shoelace-polygon-area.pl) | Computes polygon area with a recursive shoelace calculation. | [`output/shoelace-polygon-area.pl`](../examples/output/shoelace-polygon-area.pl) |
461
+ | [`sieve.pl`](../examples/sieve.pl) | Enumerates primes with a sieve-style program. | [`output/sieve.pl`](../examples/output/sieve.pl) |
462
+ | [`skolem-functions.pl`](../examples/skolem-functions.pl) | Generates deterministic functional terms. | [`output/skolem-functions.pl`](../examples/output/skolem-functions.pl) |
463
+ | [`socket-age.pl`](../examples/socket-age.pl) | Shows socket-declared age reasoning inputs and plugs. | [`output/socket-age.pl`](../examples/output/socket-age.pl) |
464
+ | [`socket-family.pl`](../examples/socket-family.pl) | Shows socket-declared family-source inputs and ancestry rules. | [`output/socket-family.pl`](../examples/output/socket-family.pl) |
465
+ | [`socrates.pl`](../examples/socrates.pl) | Derives that Socrates is mortal. | [`output/socrates.pl`](../examples/output/socrates.pl) |
466
+ | [`stable-marriage.pl`](../examples/stable-marriage.pl) | Finds stable matchings by excluding blocking pairs. | [`output/stable-marriage.pl`](../examples/output/stable-marriage.pl) |
467
+ | [`statistics-summary.pl`](../examples/statistics-summary.pl) | Computes population statistics for a sample. | [`output/statistics-summary.pl`](../examples/output/statistics-summary.pl) |
468
+ | [`stirling-bell-numbers.pl`](../examples/stirling-bell-numbers.pl) | Computes Stirling numbers and Bell numbers. | [`output/stirling-bell-numbers.pl`](../examples/output/stirling-bell-numbers.pl) |
469
+ | [`sudoku-4x4.pl`](../examples/sudoku-4x4.pl) | Solves a compact 4x4 Sudoku by finite constraint search. | [`output/sudoku-4x4.pl`](../examples/output/sudoku-4x4.pl) |
470
+ | [`superdense-coding.pl`](../examples/superdense-coding.pl) | Models superdense-coding bit transmission. | [`output/superdense-coding.pl`](../examples/output/superdense-coding.pl) |
471
+ | [`symbolic-derivative.pl`](../examples/symbolic-derivative.pl) | Symbolically differentiates explicit expression terms, including products and logs. | [`output/symbolic-derivative.pl`](../examples/output/symbolic-derivative.pl) |
472
+ | [`term-tools.pl`](../examples/term-tools.pl) | Inspects, builds, renders, and validates terms with reusable term/control builtins. | [`output/term-tools.pl`](../examples/output/term-tools.pl) |
473
+ | [`totient-summatory.pl`](../examples/totient-summatory.pl) | Computes Euler totients and their summatory function. | [`output/totient-summatory.pl`](../examples/output/totient-summatory.pl) |
474
+ | [`trust-flow-provenance-threshold.pl`](../examples/trust-flow-provenance-threshold.pl) | Classifies message trust from provenance confidence scores. | [`output/trust-flow-provenance-threshold.pl`](../examples/output/trust-flow-provenance-threshold.pl) |
475
+ | [`truth-maintenance-system.pl`](../examples/truth-maintenance-system.pl) | Tracks assumptions, justifications, supported beliefs, and inconsistent environments in a tiny TMS. | [`output/truth-maintenance-system.pl`](../examples/output/truth-maintenance-system.pl) |
476
+ | [`type-inference.pl`](../examples/type-inference.pl) | Infers/checks types for a tiny lambda language using logic unification over expression syntax trees. | [`output/type-inference.pl`](../examples/output/type-inference.pl) |
477
+ | [`turing.pl`](../examples/turing.pl) | Simulates a binary-increment Turing machine. | [`output/turing.pl`](../examples/output/turing.pl) |
478
+ | [`vector-similarity.pl`](../examples/vector-similarity.pl) | Computes dot product, norm, and cosine similarity. | [`output/vector-similarity.pl`](../examples/output/vector-similarity.pl) |
479
+ | [`vulnerability-impact.pl`](../examples/vulnerability-impact.pl) | Analyzes vulnerable transitive dependencies and urgent patch impact. | [`output/vulnerability-impact.pl`](../examples/output/vulnerability-impact.pl) |
480
+ | [`web-names.pl`](../examples/web-names.pl) | Uses quoted IRI-shaped atoms as first-class web names and joins them across a tiny graph. | [`output/web-names.pl`](../examples/output/web-names.pl) |
481
+ | [`weighted-interval-scheduling.pl`](../examples/weighted-interval-scheduling.pl) | Selects the best non-overlapping weighted intervals with tabled dynamic programming. | [`output/weighted-interval-scheduling.pl`](../examples/output/weighted-interval-scheduling.pl) |
482
+ | [`witch.pl`](../examples/witch.pl) | Derives the classic “burn the witch” rule chain. | [`output/witch.pl`](../examples/output/witch.pl) |
483
+ | [`wolf-goat-cabbage.pl`](../examples/wolf-goat-cabbage.pl) | Solves the wolf-goat-cabbage river crossing. | [`output/wolf-goat-cabbage.pl`](../examples/output/wolf-goat-cabbage.pl) |
484
+ | [`workplace-compliance.pl`](../examples/workplace-compliance.pl) | Classifies workplace compliance from explicit action facts. | [`output/workplace-compliance.pl`](../examples/output/workplace-compliance.pl) |
485
+ | [`zebra.pl`](../examples/zebra.pl) | Solves the zebra logic puzzle. | [`output/zebra.pl`](../examples/output/zebra.pl) |
486
486
 
487
487
  ## Golden outputs, tests, and conformance
488
488
 
489
- Golden answer outputs live in [`examples/output`](../examples/output). `npm run test:eyelang` covers the eyelang integration check, conformance cases, regression checks, runnable examples, and proof-output examples. A curated proof-output suite for `.eye` examples lives in [`examples/proof`](../examples/proof). Example tests pin `local_time/1` to `2026-05-30` so date-dependent examples stay deterministic. Regenerate them after an intentional output or explanation change:
489
+ Golden answer outputs live in [`examples/output`](../examples/output). `npm run test:eyelang` covers the eyelang integration check, conformance cases, regression checks, runnable examples, and proof-output examples. A curated proof-output suite for `.pl` examples lives in [`examples/proof`](../examples/proof). Example tests pin `local_time/1` to `2026-05-30` so date-dependent examples stay deterministic. Regenerate them after an intentional output or explanation change:
490
490
 
491
491
  ```sh
492
- for f in examples/*.eye; do
492
+ for f in examples/*.pl; do
493
493
  [ -e "$f" ] || continue
494
494
  b=$(basename "$f")
495
495
  EYELANG_LOCAL_TIME=2026-05-30 eyelang "$f" > "examples/output/$b"
496
496
  done
497
497
 
498
- for f in examples/proof/*.eye; do
498
+ for f in examples/proof/*.pl; do
499
499
  b=$(basename "$f")
500
500
  EYELANG_LOCAL_TIME=2026-05-30 eyelang --proof "examples/$b" > "examples/proof/$b"
501
501
  done
@@ -525,7 +525,7 @@ npm run conformance:report
525
525
 
526
526
  Release preparation runs the same report and writes [`conformance-report.md`](../conformance-report.md), so each published package carries a current conformance summary.
527
527
 
528
- The conformance suite lives in [`test/conformance/`](../test/conformance/) as a file-based eyelang corpus. Positive cases pair `cases/<name>.eye` with exact expected stdout under `expected/<name>.eye`; negative cases pair `errors/<name>.eye` with exact expected error text under `expected-errors/<name>.txt`; warning cases pair `warnings/<name>.eye` with exact `--warnings` stdout and stderr files under `expected-warnings/`; proof cases pair `proofs/<name>.eye` with exact `--proof` output under `expected-proofs/`. Cases may be grouped in category directories such as `arithmetic/`, `strings/`, `lists/`, `terms/`, `atoms/`, `variables/`, `negation/`, and `syntax/`, so another implementation can reuse the same corpus as an executable language contract. The suite covers the standard language surface from the language reference, including reusable built-ins, standard errors, standard warnings, and the machine-readable `why/2` proof-output contract. The regression suite lives in [`test/run-regression.mjs`](../test/run-regression.mjs) and covers CLI regressions, the public JavaScript API, and white-box invariants for parser, unification, and indexing behavior.
528
+ The conformance suite lives in [`test/conformance/`](../test/conformance/) as a file-based eyelang corpus. Positive cases pair `cases/<name>.pl` with exact expected stdout under `expected/<name>.pl`; negative cases pair `errors/<name>.pl` with exact expected error text under `expected-errors/<name>.txt`; warning cases pair `warnings/<name>.pl` with exact `--warnings` stdout and stderr files under `expected-warnings/`; proof cases pair `proofs/<name>.pl` with exact `--proof` output under `expected-proofs/`. Cases may be grouped in category directories such as `arithmetic/`, `strings/`, `lists/`, `terms/`, `atoms/`, `variables/`, `negation/`, and `syntax/`, so another implementation can reuse the same corpus as an executable language contract. The suite covers the standard language surface from the language reference, including reusable built-ins, standard errors, standard warnings, and the machine-readable `why/2` proof-output contract. The regression suite lives in [`test/run-regression.mjs`](../test/run-regression.mjs) and covers CLI regressions, the public JavaScript API, and white-box invariants for parser, unification, and indexing behavior.
529
529
 
530
530
  ## Development and release
531
531
 
@@ -544,7 +544,7 @@ eyelang --help
544
544
  Useful profiling smoke test:
545
545
 
546
546
  ```sh
547
- eyelang -s examples/observability-log-correlation.eye > /dev/null
547
+ eyelang -s examples/observability-log-correlation.pl > /dev/null
548
548
  ```
549
549
 
550
550
  For a release:
@@ -562,7 +562,7 @@ For a release:
562
562
 
563
563
  Eyeling is the RDF/Notation3 member of the family. It reads N3-style triples, quoted formulas, forward rules written with `=>`, backward rules written with `<=`, RDF terms, RDF-JS data, and RDF-oriented streams. That makes it the better fit when data interchange with RDF/N3 tools is the main requirement.
564
564
 
565
- Eyelang is the compact Prolog-style member of the family. It uses ordinary predicate syntax such as `parent(alice, bob).` and `ancestor(?x, ?z) :- parent(?x, ?y), ancestor(?y, ?z).` The core remains close to the Prolog tradition while deliberately staying smaller and more explicit than ISO Prolog. It is a good fit when the problem is naturally relational, goal-directed, finite, and does not need RDF graph interchange.
565
+ Eyelang is the compact Prolog-style member of the family. It uses ordinary predicate syntax such as `parent(alice, bob).` and `ancestor(X, Z) :- parent(X, Y), ancestor(Y, Z).` The core remains close to the Prolog tradition while deliberately staying smaller and more explicit than ISO Prolog. It is a good fit when the problem is naturally relational, goal-directed, finite, and does not need RDF graph interchange.
566
566
 
567
567
  A useful rule of thumb:
568
568
 
@@ -594,9 +594,9 @@ Use `-s` or `--stats` for a quick sanity check while optimizing solver changes.
594
594
  eyelang hashes predicate groups by name and arity, then indexes clauses by scalar argument values. It also builds two-argument composite indexes for scalar pairs and probes those composite indexes without per-lookup heap allocation. This helps both large generated programs with many predicates and selective queries such as:
595
595
 
596
596
  ```eyelang
597
- edge(g1, a, ?x).
598
- path(a, ?y).
599
- status(?case, accepted).
597
+ edge(g1, a, X).
598
+ path(a, Y).
599
+ status(Case, accepted).
600
600
  ```
601
601
 
602
602
  Ground facts use a fast path that avoids freshening and copying a rule body. Recursive-predicate detection uses an explicit work stack, which keeps large predicate chains safer in the browser. Recursive examples use an active-call variant guard to prevent common cyclic closures from looping. Selected predicates can be tabled with: