eyeprolog 1.6.20 → 1.6.21

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.
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.6.20",
6
+ "version": "1.6.21",
7
7
  "description": "EyeProlog turns facts and rules into answers and proofs.",
8
8
  "type": "module",
9
9
  "main": "./index.js",
@@ -9967,7 +9967,7 @@ Review questions:
9967
9967
 
9968
9968
  <figure>
9969
9969
  <img src="book-assets/example-landscape.svg" alt="A map connects EyeProlog examples across mathematics, search, planning, policy, science, program analysis, and symbolic systems.">
9970
- <figcaption>The corpus is a connected landscape. Every path leads from a readable source program to checked answers and, for selected examples, checked proofs.</figcaption>
9970
+ <figcaption>The corpus is a connected landscape. Every path leads from a readable source program to an answer, the reason for it, and the check of that reason.</figcaption>
9971
9971
  </figure>
9972
9972
 
9973
9973
  The [examples directory](https://github.com/eyereasoner/eyeprolog/tree/main/examples/) is the book's executable companion. The
@@ -9987,13 +9987,29 @@ itself rather than merely naming it.
9987
9987
 
9988
9988
  [`examples/book/`](https://github.com/eyereasoner/eyeprolog/tree/main/examples/book/) mirrors the inline EyeProlog displays chapter by chapter. Those files are checked for syntax, and displays containing queries are executed, but some teaching fragments deliberately depend on neighboring facts or helpers. Use the top-level examples when you want a self-contained program with a golden answer; use `examples/book/` when you want the exact display being discussed on a page.
9989
9989
 
9990
- For any named example, the three useful views are:
9990
+ Every example is packaged as an answer, a reason, and a check, because those
9991
+ are three different claims and only the first is what a program usually
9992
+ returns:
9991
9993
 
9992
9994
  - **source:** the facts, rules, comments, and declared queries in
9993
9995
  the top-level examples directory;
9994
- - **answers:** the exact normal output in its `examples/output/` counterpart;
9995
- - **proof:** when present, the exact `--proof` output in
9996
- the corresponding `examples/proof/` file.
9996
+ - **answer:** the exact normal output, in its `examples/output/` counterpart.
9997
+ It says what follows, and on its own it asks to be taken on trust;
9998
+ - **reason:** the exact `--proof` output, in the corresponding
9999
+ `examples/proof/` file. It says *why* it follows, as `step/4` facts naming
10000
+ the clause each conclusion used and what it rested on. A reader can now
10001
+ follow the derivation instead of trusting it — but following it is their
10002
+ work, and a long derivation is not something a person checks by reading;
10003
+ - **check:** the exact `--check-proof` output, in `examples/check/`. It says
10004
+ whether that reason holds, decided mechanically and not by the engine that
10005
+ produced the answer. A proof can be internally flawless and still record a
10006
+ value that is simply false, which is why the third view is worth more than
10007
+ the second: it is the one that can come back and say no.
10008
+
10009
+ A check document is itself ordinary Prolog, so the last view is not a report to
10010
+ read but a result to reason over: `condition/4` for each of the five
10011
+ conditions, `failure/3` for anything that did not hold, and one `obligation/3`
10012
+ naming each conclusion the check rests on rather than establishes.
9997
10013
 
9998
10014
  Run one program directly:
9999
10015
 
@@ -10019,33 +10035,40 @@ sequence is:
10019
10035
  These examples compose ISO facilities that isolated conformance cases test one
10020
10036
  mode at a time.
10021
10037
 
10022
- | Program | Standard facility | Checked answer |
10038
+ | Program | Standard facility | Answer · reason · check |
10023
10039
  | --- | --- | --- |
10024
- | [CLP(B) Boolean circuit](https://github.com/eyereasoner/eyeprolog/blob/main/examples/clpb-boolean-circuit.pl) | A NOT/AND/OR XOR circuit is enumerated with `labeling/1`, then `taut/2` verifies equivalence to the XOR (`#`) specification. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/clpb-boolean-circuit.pl) |
10025
- | [CLP(B) cardinality](https://github.com/eyereasoner/eyeprolog/blob/main/examples/clpb-cardinality.pl) | A two-of-four review quorum combines `card/2`, implication, exclusive-or, labeling, and model counting. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/clpb-cardinality.pl) |
10026
- | [CLP(B) feature model](https://github.com/eyereasoner/eyeprolog/blob/main/examples/clpb-feature-model.pl) | Deployment-feature dependencies are expressed as Boolean constraints, enumerated with `labeling/1`, and counted directly with `sat_count/2`. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/clpb-feature-model.pl) |
10027
- | [CLP(B) weighted planning](https://github.com/eyereasoner/eyeprolog/blob/main/examples/clpb-weighted-planning.pl) | A bounded release plan uses implications and cardinality constraints, then `weighted_maximum/3` selects the highest-value admissible feature set. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/clpb-weighted-planning.pl) |
10028
- | [CLP(Z) factorial](https://github.com/eyereasoner/eyeprolog/blob/main/examples/clpz-factorial.pl) | Declarative predecessor and product constraints propagate a factorial without mode-sensitive `is/2`. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/clpz-factorial.pl) |
10029
- | [CLP(Z) global constraints](https://github.com/eyereasoner/eyeprolog/blob/main/examples/clpz-global-constraints.pl) | Compatibility tables, lexicographic and serialized schedules, global cardinality with costs, circuits, value counting, and integer comparison. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/clpz-global-constraints.pl) |
10030
- | [CLP(Z) N-queens](https://github.com/eyereasoner/eyeprolog/blob/main/examples/clpz-n-queens.pl) | A checked eight-queens witness using finite domains, delayed diagonal constraints, `all_distinct/1`, and first-fail labeling, plus a four-queens multi-solution search. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/clpz-n-queens.pl) |
10031
- | [CLP(Z) resource allocation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/clpz-resource-allocation.pl) | Resource assignment using `element/3`, `sum/3`, `scalar_product/4`, reification, labeling options, and domain reflection. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/clpz-resource-allocation.pl) |
10032
- | [CLP(Z) Sudoku 9×9](https://github.com/eyereasoner/eyeprolog/blob/main/examples/clpz-sudoku-9x9.pl) | The AI Escargot 9×9 model with finite domains, 27 all-distinct constraints, and first-fail labeling, genuinely searched from its clues as the default example goal. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/clpz-sudoku-9x9.pl) |
10033
- | [Combinatorics Findall Sort](https://github.com/eyereasoner/eyeprolog/blob/main/examples/combinatorics-findall-sort.pl) | Eyelet-inspired combinations example using `findall/3` and ISO `sort/2`. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/combinatorics-findall-sort.pl) |
10034
- | [Floating Point](https://github.com/eyereasoner/eyeprolog/blob/main/examples/floating-point.pl) | Floating-point arithmetic and comparisons. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/floating-point.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/floating-point.pl) |
10035
- | [Atomic conversion](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-atomic-conversion.pl) | Atom splitting, character atoms, Unicode codes, and numeric parsing. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/iso-atomic-conversion.pl) |
10036
- | [Control and errors](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-control-and-errors.pl) | `call/1`, `once/1`, cut, if-then-else, `throw/1`, and `catch/3`. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/iso-control-and-errors.pl) |
10037
- | [DCG command parser](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dcg-command-parser.pl) | A Part 3 grammar parses token lists into application terms, generates tokens, preserves a remainder, and rejects malformed input. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/dcg-command-parser.pl) |
10038
- | [DCG expression language](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dcg-expression-language.pl) | A precedence-aware bidirectional grammar builds arithmetic ASTs, evaluates variable expressions, regenerates minimally parenthesized tokens, round-trips syntax, and preserves a remainder. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/dcg-expression-language.pl) |
10039
- | [Dynamic database](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-dynamic-database.pl) | Initialization and ordered updates to a declared dynamic procedure. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/iso-dynamic-database.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/iso-dynamic-database.pl) |
10040
- | [Grouped solutions](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-grouped-solutions.pl) | `findall/3`, `bagof/3`, `setof/3`, existential qualification, and `clause/2`. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/iso-grouped-solutions.pl) |
10041
- | [Integer arithmetic](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-integer-arithmetic.pl) | Integer quotient/remainder choices plus bit operations. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/iso-integer-arithmetic.pl) |
10042
- | [ISO extension pipeline audit](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-extension-pipeline-audit.pl) | A bounded pipeline audit composing every `library(iso_ext)` relation: nested counting, universal validation, successor generation, difference-list collection, and schema comparison modulo variable names. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/iso-extension-pipeline-audit.pl) |
10043
- | [ISO extensions](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-extensions.pl) | Common control, collection, integer, and term-variant extensions from `library(iso_ext)`. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/iso-extensions.pl) |
10044
- | [Operators](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-operators.pl) | Custom syntax, standard term order, and operator-table inspection. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/iso-operators.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/iso-operators.pl) |
10045
- | [Portable library overlap](https://github.com/eyereasoner/eyeprolog/blob/main/examples/portable-library-overlap.pl) | Shared Scryer/Trealla interfaces for CLP(B), ordered sets, graphs, reification, delayed goals, generated names, character conversion, matrix transposition, and explicit table syntax. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/portable-library-overlap.pl) |
10046
- | [Reflective terms](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-reflective-terms.pl) | Term shape, construction, copying, variables, identity, and standard order. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/iso-reflective-terms.pl) |
10047
- | [Term I/O](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-term-io.pl) | Text-stream lifecycle, canonical writing, reading, metadata, and end state. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/iso-term-io.pl) |
10048
- | [Term Tools](https://github.com/eyereasoner/eyeprolog/blob/main/examples/term-tools.pl) | Term-tool builtins for inspecting, constructing, rendering, and validating structured terms. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/term-tools.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/term-tools.pl) |
10040
+ | [CLP(B) Boolean circuit](https://github.com/eyereasoner/eyeprolog/blob/main/examples/clpb-boolean-circuit.pl) | A NOT/AND/OR XOR circuit is enumerated with `labeling/1`, then `taut/2` verifies equivalence to the XOR (`#`) specification. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/clpb-boolean-circuit.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/clpb-boolean-circuit.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/clpb-boolean-circuit.pl) |
10041
+ | [CLP(B) cardinality](https://github.com/eyereasoner/eyeprolog/blob/main/examples/clpb-cardinality.pl) | A two-of-four review quorum combines `card/2`, implication, exclusive-or, labeling, and model counting. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/clpb-cardinality.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/clpb-cardinality.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/clpb-cardinality.pl) |
10042
+ | [CLP(B) feature model](https://github.com/eyereasoner/eyeprolog/blob/main/examples/clpb-feature-model.pl) | Deployment-feature dependencies are expressed as Boolean constraints, enumerated with `labeling/1`, and counted directly with `sat_count/2`. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/clpb-feature-model.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/clpb-feature-model.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/clpb-feature-model.pl) |
10043
+ | [CLP(B) weighted planning](https://github.com/eyereasoner/eyeprolog/blob/main/examples/clpb-weighted-planning.pl) | A bounded release plan uses implications and cardinality constraints, then `weighted_maximum/3` selects the highest-value admissible feature set. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/clpb-weighted-planning.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/clpb-weighted-planning.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/clpb-weighted-planning.pl) |
10044
+ | [CLP(Z) factorial](https://github.com/eyereasoner/eyeprolog/blob/main/examples/clpz-factorial.pl) | Declarative predecessor and product constraints propagate a factorial without mode-sensitive `is/2`. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/clpz-factorial.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/clpz-factorial.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/clpz-factorial.pl) |
10045
+ | [CLP(Z) global constraints](https://github.com/eyereasoner/eyeprolog/blob/main/examples/clpz-global-constraints.pl) | Compatibility tables, lexicographic and serialized schedules, global cardinality with costs, circuits, value counting, and integer comparison. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/clpz-global-constraints.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/clpz-global-constraints.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/clpz-global-constraints.pl) |
10046
+ | [CLP(Z) N-queens](https://github.com/eyereasoner/eyeprolog/blob/main/examples/clpz-n-queens.pl) | A checked eight-queens witness using finite domains, delayed diagonal constraints, `all_distinct/1`, and first-fail labeling, plus a four-queens multi-solution search. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/clpz-n-queens.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/clpz-n-queens.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/clpz-n-queens.pl) |
10047
+ | [CLP(Z) resource allocation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/clpz-resource-allocation.pl) | Resource assignment using `element/3`, `sum/3`, `scalar_product/4`, reification, labeling options, and domain reflection. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/clpz-resource-allocation.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/clpz-resource-allocation.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/clpz-resource-allocation.pl) |
10048
+ | [CLP(Z) Sudoku 9×9](https://github.com/eyereasoner/eyeprolog/blob/main/examples/clpz-sudoku-9x9.pl) | The AI Escargot 9×9 model with finite domains, 27 all-distinct constraints, and first-fail labeling, genuinely searched from its clues as the default example goal. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/clpz-sudoku-9x9.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/clpz-sudoku-9x9.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/clpz-sudoku-9x9.pl) |
10049
+ | [Combinatorics Findall Sort](https://github.com/eyereasoner/eyeprolog/blob/main/examples/combinatorics-findall-sort.pl) | Eyelet-inspired combinations example using `findall/3` and ISO `sort/2`. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/combinatorics-findall-sort.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/combinatorics-findall-sort.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/combinatorics-findall-sort.pl) |
10050
+ | [Floating Point](https://github.com/eyereasoner/eyeprolog/blob/main/examples/floating-point.pl) | Floating-point arithmetic and comparisons. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/floating-point.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/floating-point.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/floating-point.pl) |
10051
+ | [Atomic conversion](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-atomic-conversion.pl) | Atom splitting, character atoms, Unicode codes, and numeric parsing. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/iso-atomic-conversion.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/iso-atomic-conversion.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/iso-atomic-conversion.pl) |
10052
+ | [Control and errors](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-control-and-errors.pl) | `call/1`, `once/1`, cut, if-then-else, `throw/1`, and `catch/3`. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/iso-control-and-errors.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/iso-control-and-errors.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/iso-control-and-errors.pl) |
10053
+ | [DCG command parser](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dcg-command-parser.pl) | A Part 3 grammar parses token lists into application terms, generates tokens, preserves a remainder, and rejects malformed input. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/dcg-command-parser.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/dcg-command-parser.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/dcg-command-parser.pl) |
10054
+ | [DCG expression language](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dcg-expression-language.pl) | A precedence-aware bidirectional grammar builds arithmetic ASTs, evaluates variable expressions, regenerates minimally parenthesized tokens, round-trips syntax, and preserves a remainder. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/dcg-expression-language.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/dcg-expression-language.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/dcg-expression-language.pl) |
10055
+ | [Dynamic database](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-dynamic-database.pl) | Initialization and ordered updates to a declared dynamic procedure. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/iso-dynamic-database.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/iso-dynamic-database.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/iso-dynamic-database.pl) |
10056
+ | [Grouped solutions](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-grouped-solutions.pl) | `findall/3`, `bagof/3`, `setof/3`, existential qualification, and `clause/2`. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/iso-grouped-solutions.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/iso-grouped-solutions.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/iso-grouped-solutions.pl) |
10057
+ | [Integer arithmetic](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-integer-arithmetic.pl) | Integer quotient/remainder choices plus bit operations. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/iso-integer-arithmetic.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/iso-integer-arithmetic.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/iso-integer-arithmetic.pl) |
10058
+ | [ISO extension pipeline audit](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-extension-pipeline-audit.pl) | A bounded pipeline audit composing every `library(iso_ext)` relation: nested counting, universal validation, successor generation, difference-list collection, and schema comparison modulo variable names. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/iso-extension-pipeline-audit.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/iso-extension-pipeline-audit.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/iso-extension-pipeline-audit.pl) |
10059
+ | [ISO extensions](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-extensions.pl) | Common control, collection, integer, and term-variant extensions from `library(iso_ext)`. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/iso-extensions.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/iso-extensions.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/iso-extensions.pl) |
10060
+ | [Operators](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-operators.pl) | Custom syntax, standard term order, and operator-table inspection. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/iso-operators.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/iso-operators.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/iso-operators.pl) |
10061
+ | [Portable library overlap](https://github.com/eyereasoner/eyeprolog/blob/main/examples/portable-library-overlap.pl) | Shared Scryer/Trealla interfaces for CLP(B), ordered sets, graphs, reification, delayed goals, generated names, character conversion, matrix transposition, and explicit table syntax. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/portable-library-overlap.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/portable-library-overlap.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/portable-library-overlap.pl) |
10062
+ | [Reflective terms](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-reflective-terms.pl) | Term shape, construction, copying, variables, identity, and standard order. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/iso-reflective-terms.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/iso-reflective-terms.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/iso-reflective-terms.pl) |
10063
+ | [Term I/O](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-term-io.pl) | Text-stream lifecycle, canonical writing, reading, metadata, and end state. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/iso-term-io.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/iso-term-io.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/iso-term-io.pl) |
10064
+ | [Term Tools](https://github.com/eyereasoner/eyeprolog/blob/main/examples/term-tools.pl) | Term-tool builtins for inspecting, constructing, rendering, and validating structured terms. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/term-tools.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/term-tools.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/term-tools.pl) |
10065
+ | [Aliases and namespaces](https://github.com/eyereasoner/eyeprolog/blob/main/examples/aliases-and-namespaces.pl) | One native spelling per built-in, with vocabulary-style names layered above it. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/aliases-and-namespaces.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/aliases-and-namespaces.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/aliases-and-namespaces.pl) |
10066
+ | [Attributed variables](https://github.com/eyereasoner/eyeprolog/blob/main/examples/attributed-variables.pl) | Scryer-style attributed variables over the annotated-variable runtime. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/attributed-variables.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/attributed-variables.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/attributed-variables.pl) |
10067
+ | [dif constraints](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dif-constraints.pl) | Delayed disequality with dif/2, which waits rather than guessing. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/dif-constraints.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/dif-constraints.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/dif-constraints.pl) |
10068
+ | [Reified conditionals](https://github.com/eyereasoner/eyeprolog/blob/main/examples/reified-conditionals.pl) | A condition carried as a value, so a test can be reasoned about rather than only run. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/reified-conditionals.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/reified-conditionals.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/reified-conditionals.pl) |
10069
+ | [Bulk stream write](https://github.com/eyereasoner/eyeprolog/blob/main/examples/bulk-stream-write.pl) | Character-by-character writes to a non-console text stream. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/bulk-stream-write.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/bulk-stream-write.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/bulk-stream-write.pl) |
10070
+ | [JSON](https://github.com/eyereasoner/eyeprolog/blob/main/examples/json.pl) | JSON parsing and generation in the shared Scryer/Trealla representation. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/json.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/json.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/json.pl) |
10071
+ | [HTTP client](https://github.com/eyereasoner/eyeprolog/blob/main/examples/http-client.pl) | HTTP/HTTPS requests from the bundled client library. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/http-client.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/http-client.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/http-client.pl) |
10049
10072
 
10050
10073
  Read these beside Part VIII. Then use the ISO conformance cases when a program
10051
10074
  depends on the exact failure or error behavior of a particular mode.
@@ -10055,26 +10078,26 @@ depends on the exact failure or error behavior of a particular mode.
10055
10078
  These programs isolate one idea at a time. Read them before the larger case
10056
10079
  studies.
10057
10080
 
10058
- | Program | What to notice | Checked companions |
10081
+ | Program | What to notice | Answer · reason · check |
10059
10082
  | --- | --- | --- |
10060
- | [Age](https://github.com/eyereasoner/eyeprolog/blob/main/examples/age.pl) | Arithmetic comparison acts as a filter after a fact supplies the age. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/age.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/age.pl) |
10061
- | [Ancestor](https://github.com/eyereasoner/eyeprolog/blob/main/examples/ancestor.pl) | The canonical base-plus-recursive definition computes a transitive family relation. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/ancestor.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/ancestor.pl) |
10062
- | [Animal](https://github.com/eyereasoner/eyeprolog/blob/main/examples/animal.pl) | Several clauses form a small classification theory with inspectable reasons. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/animal.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/animal.pl) |
10063
- | [Annotation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/annotation.pl) | Terms attach descriptive data while the logical relation remains ordinary. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/annotation.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/annotation.pl) |
10064
- | [Backward](https://github.com/eyereasoner/eyeprolog/blob/main/examples/backward.pl) | A tiny derived fact justified by a numeric comparison in an ordinary Horn rule. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/backward.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/backward.pl) |
10065
- | [Cat Koko](https://github.com/eyereasoner/eyeprolog/blob/main/examples/cat-koko.pl) | Named Skolem-style witnesses standing in for the existential witnesses of the original N3 example. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/cat-koko.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/cat-koko.pl) |
10066
- | [Derived rule](https://github.com/eyereasoner/eyeprolog/blob/main/examples/derived-rule.pl) | A conclusion depends on another derived predicate rather than directly on a source fact. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/derived-rule.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/derived-rule.pl) |
10067
- | [Dog](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dog.pl) | A compact inheritance chain shows how intermediate concepts appear in a proof. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/dog.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/dog.pl) |
10068
- | [Existential rule](https://github.com/eyereasoner/eyeprolog/blob/main/examples/existential-rule.pl) | Structured Herbrand terms carry explicit generated witnesses. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/existential-rule.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/existential-rule.pl) |
10069
- | [Good cobbler](https://github.com/eyereasoner/eyeprolog/blob/main/examples/good-cobbler.pl) | Multiple premises combine into a conclusion without hidden mutation or control state. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/good-cobbler.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/good-cobbler.pl) |
10070
- | [Herbrand Semantics](https://github.com/eyereasoner/eyeprolog/blob/main/examples/herbrand-semantics.pl) | Herbrand terms denote themselves: distinct names and constructor applications remain distinct without extra unique-name or free-constructor axioms. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/herbrand-semantics.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/herbrand-semantics.pl) |
10071
- | [Herbrand witnesses](https://github.com/eyereasoner/eyeprolog/blob/main/examples/herbrand-witnesses.pl) | Functional witness terms make existential structure and syntactic identity visible in both answers and derivations. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/herbrand-witnesses.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/herbrand-witnesses.pl) |
10072
- | [Reusable built-ins](https://github.com/eyereasoner/eyeprolog/blob/main/examples/reusable-builtins.pl) | Arithmetic, strings, lists, and term inspection compose through ordinary variables. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/reusable-builtins.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/reusable-builtins.pl) |
10073
- | [Skolem Functions](https://github.com/eyereasoner/eyeprolog/blob/main/examples/skolem-functions.pl) | Skolem functional terms in rule heads. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/skolem-functions.pl) |
10074
- | [SNAF](https://github.com/eyereasoner/eyeprolog/blob/main/examples/snaf.pl) | Negation as failure establishes that Alice does not hate Bob before deriving that she hates Nobody. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/snaf.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/snaf.pl) |
10075
- | [Socrates](https://github.com/eyereasoner/eyeprolog/blob/main/examples/socrates.pl) | A fact and one rule turn the classical syllogism into a ground derivation. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/socrates.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/socrates.pl) |
10076
- | [UUID](https://github.com/eyereasoner/eyeprolog/blob/main/examples/uuid.pl) | `uuid/3` reproducibly creates one version 4 UUID atom from explicit random state; the example validates its canonical shape. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/uuid.pl) |
10077
- | [Witch](https://github.com/eyereasoner/eyeprolog/blob/main/examples/witch.pl) | Burn the witch, adapted from Eyeling's examples/witch.n3. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/witch.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/witch.pl) |
10083
+ | [Age](https://github.com/eyereasoner/eyeprolog/blob/main/examples/age.pl) | Arithmetic comparison acts as a filter after a fact supplies the age. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/age.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/age.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/age.pl) |
10084
+ | [Ancestor](https://github.com/eyereasoner/eyeprolog/blob/main/examples/ancestor.pl) | The canonical base-plus-recursive definition computes a transitive family relation. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/ancestor.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/ancestor.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/ancestor.pl) |
10085
+ | [Animal](https://github.com/eyereasoner/eyeprolog/blob/main/examples/animal.pl) | Several clauses form a small classification theory with inspectable reasons. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/animal.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/animal.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/animal.pl) |
10086
+ | [Annotation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/annotation.pl) | Terms attach descriptive data while the logical relation remains ordinary. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/annotation.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/annotation.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/annotation.pl) |
10087
+ | [Backward](https://github.com/eyereasoner/eyeprolog/blob/main/examples/backward.pl) | A tiny derived fact justified by a numeric comparison in an ordinary Horn rule. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/backward.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/backward.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/backward.pl) |
10088
+ | [Cat Koko](https://github.com/eyereasoner/eyeprolog/blob/main/examples/cat-koko.pl) | Named Skolem-style witnesses standing in for the existential witnesses of the original N3 example. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/cat-koko.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/cat-koko.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/cat-koko.pl) |
10089
+ | [Derived rule](https://github.com/eyereasoner/eyeprolog/blob/main/examples/derived-rule.pl) | A conclusion depends on another derived predicate rather than directly on a source fact. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/derived-rule.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/derived-rule.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/derived-rule.pl) |
10090
+ | [Dog](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dog.pl) | A compact inheritance chain shows how intermediate concepts appear in a proof. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/dog.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/dog.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/dog.pl) |
10091
+ | [Existential rule](https://github.com/eyereasoner/eyeprolog/blob/main/examples/existential-rule.pl) | Structured Herbrand terms carry explicit generated witnesses. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/existential-rule.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/existential-rule.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/existential-rule.pl) |
10092
+ | [Good cobbler](https://github.com/eyereasoner/eyeprolog/blob/main/examples/good-cobbler.pl) | Multiple premises combine into a conclusion without hidden mutation or control state. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/good-cobbler.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/good-cobbler.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/good-cobbler.pl) |
10093
+ | [Herbrand Semantics](https://github.com/eyereasoner/eyeprolog/blob/main/examples/herbrand-semantics.pl) | Herbrand terms denote themselves: distinct names and constructor applications remain distinct without extra unique-name or free-constructor axioms. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/herbrand-semantics.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/herbrand-semantics.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/herbrand-semantics.pl) |
10094
+ | [Herbrand witnesses](https://github.com/eyereasoner/eyeprolog/blob/main/examples/herbrand-witnesses.pl) | Functional witness terms make existential structure and syntactic identity visible in both answers and derivations. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/herbrand-witnesses.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/herbrand-witnesses.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/herbrand-witnesses.pl) |
10095
+ | [Reusable built-ins](https://github.com/eyereasoner/eyeprolog/blob/main/examples/reusable-builtins.pl) | Arithmetic, strings, lists, and term inspection compose through ordinary variables. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/reusable-builtins.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/reusable-builtins.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/reusable-builtins.pl) |
10096
+ | [Skolem Functions](https://github.com/eyereasoner/eyeprolog/blob/main/examples/skolem-functions.pl) | Skolem functional terms in rule heads. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/skolem-functions.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/skolem-functions.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/skolem-functions.pl) |
10097
+ | [SNAF](https://github.com/eyereasoner/eyeprolog/blob/main/examples/snaf.pl) | Negation as failure establishes that Alice does not hate Bob before deriving that she hates Nobody. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/snaf.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/snaf.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/snaf.pl) |
10098
+ | [Socrates](https://github.com/eyereasoner/eyeprolog/blob/main/examples/socrates.pl) | A fact and one rule turn the classical syllogism into a ground derivation. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/socrates.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/socrates.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/socrates.pl) |
10099
+ | [UUID](https://github.com/eyereasoner/eyeprolog/blob/main/examples/uuid.pl) | `uuid/3` reproducibly creates one version 4 UUID atom from explicit random state; the example validates its canonical shape. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/uuid.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/uuid.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/uuid.pl) |
10100
+ | [Witch](https://github.com/eyereasoner/eyeprolog/blob/main/examples/witch.pl) | Burn the witch, adapted from Eyeling's examples/witch.n3. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/witch.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/witch.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/witch.pl) |
10078
10101
 
10079
10102
  Suggested path: Socrates → Age → Ancestor → Derived rule → Reusable built-ins.
10080
10103
  At each step, say aloud what one ground instance of every predicate means.
@@ -10085,21 +10108,22 @@ These examples make termination arguments visible. Compare structural descent,
10085
10108
  visited-state search, and fixed-point tabling rather than treating all
10086
10109
  recursion as one technique.
10087
10110
 
10088
- | Program | What to notice | Checked companions |
10111
+ | Program | What to notice | Answer · reason · check |
10089
10112
  | --- | --- | --- |
10090
- | [Chart parser](https://github.com/eyereasoner/eyeprolog/blob/main/examples/chart-parser.pl) | A finite chart represents shared parsing subproblems and recursive grammatical structure. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/chart-parser.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/chart-parser.pl) |
10091
- | [Cyclic path](https://github.com/eyereasoner/eyeprolog/blob/main/examples/cyclic-path.pl) | A deliberately cyclic graph exposes repeated calls and the need for disciplined recursion. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/cyclic-path.pl) |
10092
- | [Deep taxonomy: 10](https://github.com/eyereasoner/eyeprolog/blob/main/examples/deep-taxonomy-10.pl) | A small generated hierarchy is readable by hand and establishes the benchmark shape. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/deep-taxonomy-10.pl) |
10093
- | [Deep Taxonomy 100](https://github.com/eyereasoner/eyeprolog/blob/main/examples/deep-taxonomy-100.pl) | A 100-step taxonomy chain that exercises deep recursive closure and side-label derivation. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/deep-taxonomy-100.pl) |
10094
- | [Deep taxonomy: 1,000](https://github.com/eyereasoner/eyeprolog/blob/main/examples/deep-taxonomy-1000.pl) | The same logical theory tests indexing and recursive closure at a realistic depth. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/deep-taxonomy-1000.pl) |
10095
- | [Deep Taxonomy 10000](https://github.com/eyereasoner/eyeprolog/blob/main/examples/deep-taxonomy-10000.pl) | A 10,000-step taxonomy chain used as a large-depth ordinary-recursion and closure stress test. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/deep-taxonomy-10000.pl) |
10096
- | [Deep taxonomy: 100,000](https://github.com/eyereasoner/eyeprolog/blob/main/examples/deep-taxonomy-100000.pl) | A stress case separates semantic simplicity from implementation scale. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/deep-taxonomy-100000.pl) |
10097
- | [Family cousins](https://github.com/eyereasoner/eyeprolog/blob/main/examples/family-cousins.pl) | Several relational joins derive kinship beyond a simple transitive closure. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/family-cousins.pl) |
10098
- | [Graph reachability](https://github.com/eyereasoner/eyeprolog/blob/main/examples/graph-reachability.pl) | A visited list bounds cyclic traversal and makes explicit negative test cases finite. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/graph-reachability.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/graph-reachability.pl) |
10099
- | [Graph](https://github.com/eyereasoner/eyeprolog/blob/main/examples/graph.pl) | Productive right-recursive transitive closure over a directed map, contrasted with an under-generating left-recursive formulation. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/graph.pl) |
10100
- | [List collection](https://github.com/eyereasoner/eyeprolog/blob/main/examples/list-collection.pl) | `findall/3`, list construction, and aggregation turn a solution stream into data. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/list-collection.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/list-collection.pl) |
10101
- | [Path discovery](https://github.com/eyereasoner/eyeprolog/blob/main/examples/path-discovery.pl) | Witness paths, not only endpoint pairs, are constructed during a larger graph search. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/path-discovery.pl) |
10102
- | [Service Impact](https://github.com/eyereasoner/eyeprolog/blob/main/examples/service-impact.pl) | Practical cyclic recursion: incident impact analysis for a service dependency graph. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/service-impact.pl) |
10113
+ | [Chart parser](https://github.com/eyereasoner/eyeprolog/blob/main/examples/chart-parser.pl) | A finite chart represents shared parsing subproblems and recursive grammatical structure. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/chart-parser.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/chart-parser.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/chart-parser.pl) |
10114
+ | [Cyclic path](https://github.com/eyereasoner/eyeprolog/blob/main/examples/cyclic-path.pl) | A deliberately cyclic graph exposes repeated calls and the need for disciplined recursion. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/cyclic-path.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/cyclic-path.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/cyclic-path.pl) |
10115
+ | [Deep taxonomy: 10](https://github.com/eyereasoner/eyeprolog/blob/main/examples/deep-taxonomy-10.pl) | A small generated hierarchy is readable by hand and establishes the benchmark shape. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/deep-taxonomy-10.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/deep-taxonomy-10.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/deep-taxonomy-10.pl) |
10116
+ | [Deep Taxonomy 100](https://github.com/eyereasoner/eyeprolog/blob/main/examples/deep-taxonomy-100.pl) | A 100-step taxonomy chain that exercises deep recursive closure and side-label derivation. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/deep-taxonomy-100.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/deep-taxonomy-100.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/deep-taxonomy-100.pl) |
10117
+ | [Deep taxonomy: 1,000](https://github.com/eyereasoner/eyeprolog/blob/main/examples/deep-taxonomy-1000.pl) | The same logical theory tests indexing and recursive closure at a realistic depth. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/deep-taxonomy-1000.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/deep-taxonomy-1000.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/deep-taxonomy-1000.pl) |
10118
+ | [Deep Taxonomy 10000](https://github.com/eyereasoner/eyeprolog/blob/main/examples/deep-taxonomy-10000.pl) | A 10,000-step taxonomy chain used as a large-depth ordinary-recursion and closure stress test. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/deep-taxonomy-10000.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/deep-taxonomy-10000.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/deep-taxonomy-10000.pl) |
10119
+ | [Deep taxonomy: 100,000](https://github.com/eyereasoner/eyeprolog/blob/main/examples/deep-taxonomy-100000.pl) | A stress case separates semantic simplicity from implementation scale. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/deep-taxonomy-100000.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/deep-taxonomy-100000.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/deep-taxonomy-100000.pl) |
10120
+ | [Family cousins](https://github.com/eyereasoner/eyeprolog/blob/main/examples/family-cousins.pl) | Several relational joins derive kinship beyond a simple transitive closure. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/family-cousins.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/family-cousins.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/family-cousins.pl) |
10121
+ | [Graph reachability](https://github.com/eyereasoner/eyeprolog/blob/main/examples/graph-reachability.pl) | A visited list bounds cyclic traversal and makes explicit negative test cases finite. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/graph-reachability.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/graph-reachability.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/graph-reachability.pl) |
10122
+ | [Graph](https://github.com/eyereasoner/eyeprolog/blob/main/examples/graph.pl) | Productive right-recursive transitive closure over a directed map, contrasted with an under-generating left-recursive formulation. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/graph.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/graph.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/graph.pl) |
10123
+ | [List collection](https://github.com/eyereasoner/eyeprolog/blob/main/examples/list-collection.pl) | `findall/3`, list construction, and aggregation turn a solution stream into data. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/list-collection.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/list-collection.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/list-collection.pl) |
10124
+ | [Path discovery](https://github.com/eyereasoner/eyeprolog/blob/main/examples/path-discovery.pl) | Witness paths, not only endpoint pairs, are constructed during a larger graph search. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/path-discovery.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/path-discovery.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/path-discovery.pl) |
10125
+ | [Service Impact](https://github.com/eyereasoner/eyeprolog/blob/main/examples/service-impact.pl) | Practical cyclic recursion: incident impact analysis for a service dependency graph. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/service-impact.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/service-impact.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/service-impact.pl) |
10126
+ | [Naive reverse benchmark](https://github.com/eyereasoner/eyeprolog/blob/main/examples/bench.pl) | Quintus's 1984 naive-reverse benchmark, kept as a readable recursion. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/bench.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/bench.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/bench.pl) |
10103
10127
 
10104
10128
  Read the three taxonomy programs as one experiment: the mathematical relation
10105
10129
  does not change as the data scale changes. Any difference in runtime belongs
@@ -10110,25 +10134,26 @@ to control, indexing, memory, and table management.
10110
10134
  The central question for every program in this group is: what exactly is the
10111
10135
  finite search space, and which constraint removes which branches?
10112
10136
 
10113
- | Program | Search design | Checked answer |
10137
+ | Program | Search design | Answer · reason · check |
10114
10138
  | --- | --- | --- |
10115
- | [Dijkstra Findall Sort](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dijkstra-findall-sort.pl) | Eyelet-inspired Dijkstra example using `findall/3` and ISO `sort/2`. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/dijkstra-findall-sort.pl) |
10116
- | [Dijkstra](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dijkstra.pl) | Weighted path enumeration adapted from Eyeling dijkstra.n3. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/dijkstra.pl) |
10117
- | [DONALD + GERALD = ROBERT](https://github.com/eyereasoner/eyeprolog/blob/main/examples/donald-gerald-robert.pl) | All ten decimal digits are assigned to ten distinct letters. Right-to-left carry propagation cuts a naive 10! search space to one solution. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/donald-gerald-robert.pl) |
10118
- | [Enigma1225](https://github.com/eyereasoner/eyeprolog/blob/main/examples/enigma1225.pl) | New Scientist Enigma 1225, retaining the best board in one pass with `aggregate_max/5`. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/enigma1225.pl) |
10119
- | [Eulerian path](https://github.com/eyereasoner/eyeprolog/blob/main/examples/eulerian-path.pl) | The state tracks remaining edges rather than merely visited vertices. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/eulerian-path.pl) |
10120
- | [Four-color map](https://github.com/eyereasoner/eyeprolog/blob/main/examples/four-color-map.pl) | A finite color assignment is filtered by adjacency constraints. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/four-color-map.pl) |
10121
- | [Hamiltonian path](https://github.com/eyereasoner/eyeprolog/blob/main/examples/hamiltonian-path.pl) | A witness must visit every vertex exactly once; path construction and global coverage meet. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/hamiltonian-path.pl) |
10122
- | [Job-shop scheduling](https://github.com/eyereasoner/eyeprolog/blob/main/examples/job-shop-scheduling.pl) | Resource and precedence constraints interact in a larger finite schedule space. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/job-shop-scheduling.pl) |
10123
- | [Knapsack optimization](https://github.com/eyereasoner/eyeprolog/blob/main/examples/knapsack-optimization.pl) | Candidate subsets become feasible solutions, then aggregation selects a best value. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/knapsack-optimization.pl) |
10124
- | [Map Four Color Search](https://github.com/eyereasoner/eyeprolog/blob/main/examples/map-four-color-search.pl) | Four-colour search for the European Union neighbour graph. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/map-four-color-search.pl) |
10125
- | [Markov Logic Network](https://github.com/eyereasoner/eyeprolog/blob/main/examples/markov-logic-network.pl) | Markov Logic Network style scoring over a tiny finite domain. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/markov-logic-network.pl) |
10126
- | [Matrix Chain Order](https://github.com/eyereasoner/eyeprolog/blob/main/examples/matrix-chain-order.pl) | Matrix-chain multiplication order by explicitly tabled interval dynamic programming. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/matrix-chain-order.pl) |
10127
- | [Register allocation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/register-allocation.pl) | Interference constraints turn compiler allocation into graph coloring. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/register-allocation.pl) |
10128
- | [SEND + MORE = MONEY](https://github.com/eyereasoner/eyeprolog/blob/main/examples/send-more-money.pl) | Digit assignments are generated under distinctness, leading-zero, and column constraints. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/send-more-money.pl) |
10129
- | [Stable marriage](https://github.com/eyereasoner/eyeprolog/blob/main/examples/stable-marriage.pl) | Preference data, matching generation, and the absence of blocking pairs define stability. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/stable-marriage.pl) |
10130
- | [Weighted interval scheduling](https://github.com/eyereasoner/eyeprolog/blob/main/examples/weighted-interval-scheduling.pl) | Compatibility constraints and an ordered objective select a maximum-value schedule. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/weighted-interval-scheduling.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/weighted-interval-scheduling.pl) |
10131
- | [Zebra puzzle](https://github.com/eyereasoner/eyeprolog/blob/main/examples/zebra.pl) | House records, adjacency relations, and clue constraints jointly determine the famous solution. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/zebra.pl) |
10139
+ | [Dijkstra Findall Sort](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dijkstra-findall-sort.pl) | Eyelet-inspired Dijkstra example using `findall/3` and ISO `sort/2`. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/dijkstra-findall-sort.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/dijkstra-findall-sort.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/dijkstra-findall-sort.pl) |
10140
+ | [Dijkstra](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dijkstra.pl) | Weighted path enumeration adapted from Eyeling dijkstra.n3. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/dijkstra.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/dijkstra.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/dijkstra.pl) |
10141
+ | [DONALD + GERALD = ROBERT](https://github.com/eyereasoner/eyeprolog/blob/main/examples/donald-gerald-robert.pl) | All ten decimal digits are assigned to ten distinct letters. Right-to-left carry propagation cuts a naive 10! search space to one solution. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/donald-gerald-robert.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/donald-gerald-robert.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/donald-gerald-robert.pl) |
10142
+ | [Enigma1225](https://github.com/eyereasoner/eyeprolog/blob/main/examples/enigma1225.pl) | New Scientist Enigma 1225, retaining the best board in one pass with `aggregate_max/5`. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/enigma1225.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/enigma1225.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/enigma1225.pl) |
10143
+ | [Eulerian path](https://github.com/eyereasoner/eyeprolog/blob/main/examples/eulerian-path.pl) | The state tracks remaining edges rather than merely visited vertices. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/eulerian-path.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/eulerian-path.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/eulerian-path.pl) |
10144
+ | [Four-color map](https://github.com/eyereasoner/eyeprolog/blob/main/examples/four-color-map.pl) | A finite color assignment is filtered by adjacency constraints. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/four-color-map.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/four-color-map.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/four-color-map.pl) |
10145
+ | [Hamiltonian path](https://github.com/eyereasoner/eyeprolog/blob/main/examples/hamiltonian-path.pl) | A witness must visit every vertex exactly once; path construction and global coverage meet. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/hamiltonian-path.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/hamiltonian-path.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/hamiltonian-path.pl) |
10146
+ | [Job-shop scheduling](https://github.com/eyereasoner/eyeprolog/blob/main/examples/job-shop-scheduling.pl) | Resource and precedence constraints interact in a larger finite schedule space. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/job-shop-scheduling.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/job-shop-scheduling.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/job-shop-scheduling.pl) |
10147
+ | [Knapsack optimization](https://github.com/eyereasoner/eyeprolog/blob/main/examples/knapsack-optimization.pl) | Candidate subsets become feasible solutions, then aggregation selects a best value. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/knapsack-optimization.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/knapsack-optimization.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/knapsack-optimization.pl) |
10148
+ | [Map Four Color Search](https://github.com/eyereasoner/eyeprolog/blob/main/examples/map-four-color-search.pl) | Four-colour search for the European Union neighbour graph. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/map-four-color-search.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/map-four-color-search.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/map-four-color-search.pl) |
10149
+ | [Markov Logic Network](https://github.com/eyereasoner/eyeprolog/blob/main/examples/markov-logic-network.pl) | Markov Logic Network style scoring over a tiny finite domain. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/markov-logic-network.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/markov-logic-network.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/markov-logic-network.pl) |
10150
+ | [Matrix Chain Order](https://github.com/eyereasoner/eyeprolog/blob/main/examples/matrix-chain-order.pl) | Matrix-chain multiplication order by explicitly tabled interval dynamic programming. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/matrix-chain-order.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/matrix-chain-order.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/matrix-chain-order.pl) |
10151
+ | [Register allocation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/register-allocation.pl) | Interference constraints turn compiler allocation into graph coloring. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/register-allocation.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/register-allocation.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/register-allocation.pl) |
10152
+ | [SEND + MORE = MONEY](https://github.com/eyereasoner/eyeprolog/blob/main/examples/send-more-money.pl) | Digit assignments are generated under distinctness, leading-zero, and column constraints. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/send-more-money.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/send-more-money.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/send-more-money.pl) |
10153
+ | [Stable marriage](https://github.com/eyereasoner/eyeprolog/blob/main/examples/stable-marriage.pl) | Preference data, matching generation, and the absence of blocking pairs define stability. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/stable-marriage.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/stable-marriage.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/stable-marriage.pl) |
10154
+ | [Weighted interval scheduling](https://github.com/eyereasoner/eyeprolog/blob/main/examples/weighted-interval-scheduling.pl) | Compatibility constraints and an ordered objective select a maximum-value schedule. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/weighted-interval-scheduling.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/weighted-interval-scheduling.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/weighted-interval-scheduling.pl) |
10155
+ | [Zebra puzzle](https://github.com/eyereasoner/eyeprolog/blob/main/examples/zebra.pl) | House records, adjacency relations, and clue constraints jointly determine the famous solution. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/zebra.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/zebra.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/zebra.pl) |
10156
+ | [Knight's tour (Warnsdorff)](https://github.com/eyereasoner/eyeprolog/blob/main/examples/knights-tour-warnsdorff.pl) | A heuristic that moves to the most constrained square first. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/knights-tour-warnsdorff.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/knights-tour-warnsdorff.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/knights-tour-warnsdorff.pl) |
10132
10157
 
10133
10158
  A useful comparative exercise is to draw the first three levels of the search
10134
10159
  tree for N-Queens, SEND + MORE = MONEY, DONALD + GERALD = ROBERT, and
@@ -10141,23 +10166,23 @@ syntax is similar; the combinatorial objects and pruning strength are different.
10141
10166
  Planning programs represent a world state as a term, define legal transitions,
10142
10167
  and search for a sequence whose final state satisfies a goal.
10143
10168
 
10144
- | Program | State-space idea | Checked answer |
10169
+ | Program | State-space idea | Answer · reason · check |
10145
10170
  | --- | --- | --- |
10146
- | [Allen Interval Calculus](https://github.com/eyereasoner/eyeprolog/blob/main/examples/allen-interval-calculus.pl) | Allen interval relations over integer time offsets, with interval records kept as scoped data. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/allen-interval-calculus.pl) |
10147
- | [Blocks world](https://github.com/eyereasoner/eyeprolog/blob/main/examples/blocks-world-planning.pl) | Symbolic actions transform a compact arrangement of blocks. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/blocks-world-planning.pl) |
10148
- | [Critical-path schedule](https://github.com/eyereasoner/eyeprolog/blob/main/examples/critical-path-schedule.pl) | Dependency closure and duration arithmetic derive project timing. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/critical-path-schedule.pl) |
10149
- | [Dijkstra Risk Path](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dijkstra-risk-path.pl) | Risk-adjusted route selection that combines delivery cost, accumulated risk, path length, and a trust gate. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/dijkstra-risk-path.pl) |
10150
- | [Dining Philosophers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dining-philosophers.pl) | Chandy-Misra dining philosophers trace adapted from Eyeling dining-philosophers.n3. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/dining-philosophers.pl) |
10151
- | [Drone corridor planner](https://github.com/eyereasoner/eyeprolog/blob/main/examples/drone-corridor-planner.pl) | Route feasibility combines graph structure with domain restrictions. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/drone-corridor-planner.pl) |
10152
- | [GPS](https://github.com/eyereasoner/eyeprolog/blob/main/examples/gps.pl) | Route planning over scoped map data, accumulating actions, duration, cost, belief, and comfort. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/gps.pl) |
10153
- | [Gray Code Counter](https://github.com/eyereasoner/eyeprolog/blob/main/examples/gray-code-counter.pl) | Gray-code counter adapted from Eyeling gray-code-counter.n3. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/gray-code-counter.pl) |
10154
- | [Hanoi](https://github.com/eyereasoner/eyeprolog/blob/main/examples/hanoi.pl) | A recursive plan mirrors the inductive structure of moving a tower. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/hanoi.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/hanoi.pl) |
10155
- | [Lee routing](https://github.com/eyereasoner/eyeprolog/blob/main/examples/lee.pl) | Breadth-first wave expansion reaches a destination on a grid, then reconstructs a path around rectangular obstacles using the standard list relations. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/lee.pl) |
10156
- | [Microgrid dispatch](https://github.com/eyereasoner/eyeprolog/blob/main/examples/microgrid-dispatch.pl) | Candidate operating decisions are checked against supply, demand, and engineering limits. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/microgrid-dispatch.pl) |
10157
- | [Missionaries and cannibals](https://github.com/eyereasoner/eyeprolog/blob/main/examples/missionaries-cannibals.pl) | Numeric state constraints must hold on both banks after every crossing. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/missionaries-cannibals.pl) |
10158
- | [Monkey and bananas](https://github.com/eyereasoner/eyeprolog/blob/main/examples/monkey-bananas.pl) | Actions change location, support, and possession facts until the goal becomes true. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/monkey-bananas.pl) |
10159
- | [Route planning](https://github.com/eyereasoner/eyeprolog/blob/main/examples/route-planning.pl) | Weighted edges construct candidate routes and expose the chosen path as a witness. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/route-planning.pl) |
10160
- | [Wolf, goat, and cabbage](https://github.com/eyereasoner/eyeprolog/blob/main/examples/wolf-goat-cabbage.pl) | Safety invariants reject river-bank states before they enter a valid plan. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/wolf-goat-cabbage.pl) |
10171
+ | [Allen Interval Calculus](https://github.com/eyereasoner/eyeprolog/blob/main/examples/allen-interval-calculus.pl) | Allen interval relations over integer time offsets, with interval records kept as scoped data. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/allen-interval-calculus.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/allen-interval-calculus.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/allen-interval-calculus.pl) |
10172
+ | [Blocks world](https://github.com/eyereasoner/eyeprolog/blob/main/examples/blocks-world-planning.pl) | Symbolic actions transform a compact arrangement of blocks. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/blocks-world-planning.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/blocks-world-planning.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/blocks-world-planning.pl) |
10173
+ | [Critical-path schedule](https://github.com/eyereasoner/eyeprolog/blob/main/examples/critical-path-schedule.pl) | Dependency closure and duration arithmetic derive project timing. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/critical-path-schedule.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/critical-path-schedule.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/critical-path-schedule.pl) |
10174
+ | [Dijkstra Risk Path](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dijkstra-risk-path.pl) | Risk-adjusted route selection that combines delivery cost, accumulated risk, path length, and a trust gate. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/dijkstra-risk-path.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/dijkstra-risk-path.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/dijkstra-risk-path.pl) |
10175
+ | [Dining Philosophers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dining-philosophers.pl) | Chandy-Misra dining philosophers trace adapted from Eyeling dining-philosophers.n3. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/dining-philosophers.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/dining-philosophers.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/dining-philosophers.pl) |
10176
+ | [Drone corridor planner](https://github.com/eyereasoner/eyeprolog/blob/main/examples/drone-corridor-planner.pl) | Route feasibility combines graph structure with domain restrictions. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/drone-corridor-planner.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/drone-corridor-planner.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/drone-corridor-planner.pl) |
10177
+ | [GPS](https://github.com/eyereasoner/eyeprolog/blob/main/examples/gps.pl) | Route planning over scoped map data, accumulating actions, duration, cost, belief, and comfort. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/gps.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/gps.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/gps.pl) |
10178
+ | [Gray Code Counter](https://github.com/eyereasoner/eyeprolog/blob/main/examples/gray-code-counter.pl) | Gray-code counter adapted from Eyeling gray-code-counter.n3. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/gray-code-counter.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/gray-code-counter.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/gray-code-counter.pl) |
10179
+ | [Hanoi](https://github.com/eyereasoner/eyeprolog/blob/main/examples/hanoi.pl) | A recursive plan mirrors the inductive structure of moving a tower. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/hanoi.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/hanoi.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/hanoi.pl) |
10180
+ | [Lee routing](https://github.com/eyereasoner/eyeprolog/blob/main/examples/lee.pl) | Breadth-first wave expansion reaches a destination on a grid, then reconstructs a path around rectangular obstacles using the standard list relations. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/lee.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/lee.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/lee.pl) |
10181
+ | [Microgrid dispatch](https://github.com/eyereasoner/eyeprolog/blob/main/examples/microgrid-dispatch.pl) | Candidate operating decisions are checked against supply, demand, and engineering limits. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/microgrid-dispatch.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/microgrid-dispatch.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/microgrid-dispatch.pl) |
10182
+ | [Missionaries and cannibals](https://github.com/eyereasoner/eyeprolog/blob/main/examples/missionaries-cannibals.pl) | Numeric state constraints must hold on both banks after every crossing. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/missionaries-cannibals.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/missionaries-cannibals.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/missionaries-cannibals.pl) |
10183
+ | [Monkey and bananas](https://github.com/eyereasoner/eyeprolog/blob/main/examples/monkey-bananas.pl) | Actions change location, support, and possession facts until the goal becomes true. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/monkey-bananas.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/monkey-bananas.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/monkey-bananas.pl) |
10184
+ | [Route planning](https://github.com/eyereasoner/eyeprolog/blob/main/examples/route-planning.pl) | Weighted edges construct candidate routes and expose the chosen path as a witness. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/route-planning.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/route-planning.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/route-planning.pl) |
10185
+ | [Wolf, goat, and cabbage](https://github.com/eyereasoner/eyeprolog/blob/main/examples/wolf-goat-cabbage.pl) | Safety invariants reject river-bank states before they enter a valid plan. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/wolf-goat-cabbage.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/wolf-goat-cabbage.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/wolf-goat-cabbage.pl) |
10161
10186
 
10162
10187
  Compare the witness shape: Hanoi returns an inductively constructed move list;
10163
10188
  route planning returns a graph path; Lee routing reconstructs a path from
@@ -10172,44 +10197,44 @@ finite counterexample searches. Do not call every computed result a theorem:
10172
10197
  state which domain was exhausted and which general property was proved only by
10173
10198
  the clauses.
10174
10199
 
10175
- | Program | Mathematical content | Checked answer |
10200
+ | Program | Mathematical content | Answer · reason · check |
10176
10201
  | --- | --- | --- |
10177
- | [Ackermann](https://github.com/eyereasoner/eyeprolog/blob/main/examples/ackermann.pl) | Ackermann-style fast-growing recursion benchmark adapted from Eyeling `ackermann.n3`. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/ackermann.pl) |
10178
- | [Binomial Vandermonde](https://github.com/eyereasoner/eyeprolog/blob/main/examples/binomial-vandermonde.pl) | Two finite sums compute the sides of Vandermonde's identity. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/binomial-vandermonde.pl) |
10179
- | [Catalan convolution](https://github.com/eyereasoner/eyeprolog/blob/main/examples/catalan-convolution.pl) | A classic convolution identity is evaluated over a bounded range. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/catalan-convolution.pl) |
10180
- | [Collatz 1000](https://github.com/eyereasoner/eyeprolog/blob/main/examples/collatz-1000.pl) | Collatz conjecture suite translated from Eyeling's examples/collatz-1000.n3. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/collatz-1000.pl) |
10181
- | [Complex](https://github.com/eyereasoner/eyeprolog/blob/main/examples/complex.pl) | Complex numbers, adapted from Eyeling complex.n3. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/complex.pl) |
10182
- | [Composition Of Injective Functions Is Injective](https://github.com/eyereasoner/eyeprolog/blob/main/examples/composition-of-injective-functions-is-injective.pl) | Composition of injective functions is injective, adapted from Eyeling's examples/composition-of-injective-functions-is-injective.n3. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/composition-of-injective-functions-is-injective.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/composition-of-injective-functions-is-injective.pl) |
10183
- | [Continued Fraction Sqrt2](https://github.com/eyereasoner/eyeprolog/blob/main/examples/continued-fraction-sqrt2.pl) | Convergents of sqrt(2) by explicitly tabled recurrence. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/continued-fraction-sqrt2.pl) |
10184
- | [D3 group](https://github.com/eyereasoner/eyeprolog/blob/main/examples/d3-group.pl) | A finite Cayley table, inverses, and subgroup closure make group laws executable. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/d3-group.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/d3-group.pl) |
10185
- | [Diamond Property](https://github.com/eyereasoner/eyeprolog/blob/main/examples/diamond-property.pl) | Diamond property, adapted from Eyelet's input/diamond-property.pl. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/diamond-property.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/diamond-property.pl) |
10186
- | [Easter Computus](https://github.com/eyereasoner/eyeprolog/blob/main/examples/easter-computus.pl) | Gregorian Easter computus adapted from Eyeling's easter.n3. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/easter-computus.pl) |
10187
- | [Equivalence Classes Overlap Implies Same Class](https://github.com/eyereasoner/eyeprolog/blob/main/examples/equivalence-classes-overlap-implies-same-class.pl) | Equivalence-class overlap example adapted from Eyeling. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/equivalence-classes-overlap-implies-same-class.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/equivalence-classes-overlap-implies-same-class.pl) |
10188
- | [Fast exponentiation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/fastpow.pl) | Algebraic decomposition by parity changes a linear recurrence into logarithmic-depth recursion. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/fastpow.pl) |
10189
- | [Fibonacci](https://github.com/eyereasoner/eyeprolog/blob/main/examples/fibonacci.pl) | A recurrence becomes an executable relation with a visibly decreasing argument. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/fibonacci.pl) |
10190
- | [Fundamental theorem of arithmetic](https://github.com/eyereasoner/eyeprolog/blob/main/examples/fundamental-theorem-arithmetic.pl) | Two factorization strategies construct normalized prime-factor witnesses and check reconstruction. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/fundamental-theorem-arithmetic.pl) |
10191
- | [Goldbach](https://github.com/eyereasoner/eyeprolog/blob/main/examples/goldbach.pl) | Bounded search checks Goldbach decompositions for powers of two using the portable Prolog primality relation. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/goldbach.pl) |
10192
- | [Greatest lower bound uniqueness](https://github.com/eyereasoner/eyeprolog/blob/main/examples/greatest-lower-bound-uniqueness.pl) | Order-theoretic definitions support a uniqueness argument. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/greatest-lower-bound-uniqueness.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/greatest-lower-bound-uniqueness.pl) |
10193
- | [Group inverse uniqueness](https://github.com/eyereasoner/eyeprolog/blob/main/examples/group-inverse-uniqueness.pl) | A short derivation exposes the algebraic premises needed for uniqueness. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/group-inverse-uniqueness.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/group-inverse-uniqueness.pl) |
10194
- | [Heron Theorem](https://github.com/eyereasoner/eyeprolog/blob/main/examples/heron-theorem.pl) | Heron's theorem: area = sqrt(s(s-a)(s-b)(s-c)). | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/heron-theorem.pl) |
10195
- | [Integer partitions](https://github.com/eyereasoner/eyeprolog/blob/main/examples/integer-partitions.pl) | Recursive generation constructs unordered additive decompositions without permutation duplicates. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/integer-partitions.pl) |
10196
- | [Law Of Cosines](https://github.com/eyereasoner/eyeprolog/blob/main/examples/law-of-cosines.pl) | Law of cosines: c^2 = a^2 + b^2 - 2ab cos(C). | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/law-of-cosines.pl) |
10197
- | [Matrix noncommutativity](https://github.com/eyereasoner/eyeprolog/blob/main/examples/matrix-noncommutativity.pl) | Two concrete products provide a counterexample to universal commutativity. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/matrix-noncommutativity.pl) |
10198
- | [Modular exponentiation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/modular-exponentiation.pl) | Intermediate reduction preserves the residue while controlling numeric growth. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/modular-exponentiation.pl) |
10199
- | [Newton Raphson](https://github.com/eyereasoner/eyeprolog/blob/main/examples/newton-raphson.pl) | Newton-Raphson root finding, adapted from Eyelet input/newton-raphson.pl. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/newton-raphson.pl) |
10200
- | [Peano arithmetic](https://github.com/eyereasoner/eyeprolog/blob/main/examples/peano-arithmetic.pl) | Explicit natural-number terms support arithmetic relations and structural recursion. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/peano-arithmetic.pl) |
10201
- | [Peano calculus](https://github.com/eyereasoner/eyeprolog/blob/main/examples/peano-calculus.pl) | Addition, multiplication, and factorial follow the constructors `z` and `s/1`. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/peano-calculus.pl) |
10202
- | [Peasant](https://github.com/eyereasoner/eyeprolog/blob/main/examples/peasant.pl) | Peasant multiplication and exponentiation cases, adapted from Eyelet. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/peasant.pl) |
10203
- | [Pell equation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/pell-equation.pl) | Bounded generation searches for integer witnesses to a Diophantine equation. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/pell-equation.pl) |
10204
- | [Pi](https://github.com/eyereasoner/eyeprolog/blob/main/examples/pi.pl) | The Nilakantha series is a deterministic numeric recurrence; EyeProlog recognizes its accumulator shape and executes 10,000 terms without tabling or heap growth. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/pi.pl) |
10205
- | [Prime range](https://github.com/eyereasoner/eyeprolog/blob/main/examples/prime-range.pl) | Bounded integer generation and divisor tests enumerate primes over an explicit finite interval. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/prime-range.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/prime-range.pl) |
10206
- | [Quadratic Formula](https://github.com/eyereasoner/eyeprolog/blob/main/examples/quadratic-formula.pl) | Quadratic formula over sample equations. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/quadratic-formula.pl) |
10207
- | [Riemann Hypothesis](https://github.com/eyereasoner/eyeprolog/blob/main/examples/riemann-hypothesis.pl) | A deliberately finite audit of catalogued non-trivial zeros, illustrating the boundary between evidence and universal proof. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/riemann-hypothesis.pl) |
10208
- | [Shoelace Polygon Area](https://github.com/eyereasoner/eyeprolog/blob/main/examples/shoelace-polygon-area.pl) | Polygon area by the shoelace formula. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/shoelace-polygon-area.pl) |
10209
- | [Sieve](https://github.com/eyereasoner/eyeprolog/blob/main/examples/sieve.pl) | List filtering presents a different operational route to finite prime generation. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/sieve.pl) |
10210
- | [Stirling and Bell numbers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/stirling-bell-numbers.pl) | Inclusion–exclusion and recurrence count set partitions in two related ways. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/stirling-bell-numbers.pl) |
10211
- | [Takeuchi](https://github.com/eyereasoner/eyeprolog/blob/main/examples/takeuchi.pl) | The Takeuchi function as a demanding nested-recursion benchmark. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/takeuchi.pl) |
10212
- | [Totient summatory function](https://github.com/eyereasoner/eyeprolog/blob/main/examples/totient-summatory.pl) | Divisibility, coprimality, counting, and summation compose over finite domains. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/totient-summatory.pl) |
10202
+ | [Ackermann](https://github.com/eyereasoner/eyeprolog/blob/main/examples/ackermann.pl) | Ackermann-style fast-growing recursion benchmark adapted from Eyeling `ackermann.n3`. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/ackermann.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/ackermann.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/ackermann.pl) |
10203
+ | [Binomial Vandermonde](https://github.com/eyereasoner/eyeprolog/blob/main/examples/binomial-vandermonde.pl) | Two finite sums compute the sides of Vandermonde's identity. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/binomial-vandermonde.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/binomial-vandermonde.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/binomial-vandermonde.pl) |
10204
+ | [Catalan convolution](https://github.com/eyereasoner/eyeprolog/blob/main/examples/catalan-convolution.pl) | A classic convolution identity is evaluated over a bounded range. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/catalan-convolution.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/catalan-convolution.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/catalan-convolution.pl) |
10205
+ | [Collatz 1000](https://github.com/eyereasoner/eyeprolog/blob/main/examples/collatz-1000.pl) | Collatz conjecture suite translated from Eyeling's examples/collatz-1000.n3. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/collatz-1000.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/collatz-1000.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/collatz-1000.pl) |
10206
+ | [Complex](https://github.com/eyereasoner/eyeprolog/blob/main/examples/complex.pl) | Complex numbers, adapted from Eyeling complex.n3. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/complex.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/complex.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/complex.pl) |
10207
+ | [Composition Of Injective Functions Is Injective](https://github.com/eyereasoner/eyeprolog/blob/main/examples/composition-of-injective-functions-is-injective.pl) | Composition of injective functions is injective, adapted from Eyeling's examples/composition-of-injective-functions-is-injective.n3. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/composition-of-injective-functions-is-injective.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/composition-of-injective-functions-is-injective.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/composition-of-injective-functions-is-injective.pl) |
10208
+ | [Continued Fraction Sqrt2](https://github.com/eyereasoner/eyeprolog/blob/main/examples/continued-fraction-sqrt2.pl) | Convergents of sqrt(2) by explicitly tabled recurrence. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/continued-fraction-sqrt2.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/continued-fraction-sqrt2.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/continued-fraction-sqrt2.pl) |
10209
+ | [D3 group](https://github.com/eyereasoner/eyeprolog/blob/main/examples/d3-group.pl) | A finite Cayley table, inverses, and subgroup closure make group laws executable. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/d3-group.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/d3-group.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/d3-group.pl) |
10210
+ | [Diamond Property](https://github.com/eyereasoner/eyeprolog/blob/main/examples/diamond-property.pl) | Diamond property, adapted from Eyelet's input/diamond-property.pl. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/diamond-property.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/diamond-property.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/diamond-property.pl) |
10211
+ | [Easter Computus](https://github.com/eyereasoner/eyeprolog/blob/main/examples/easter-computus.pl) | Gregorian Easter computus adapted from Eyeling's easter.n3. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/easter-computus.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/easter-computus.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/easter-computus.pl) |
10212
+ | [Equivalence Classes Overlap Implies Same Class](https://github.com/eyereasoner/eyeprolog/blob/main/examples/equivalence-classes-overlap-implies-same-class.pl) | Equivalence-class overlap example adapted from Eyeling. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/equivalence-classes-overlap-implies-same-class.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/equivalence-classes-overlap-implies-same-class.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/equivalence-classes-overlap-implies-same-class.pl) |
10213
+ | [Fast exponentiation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/fastpow.pl) | Algebraic decomposition by parity changes a linear recurrence into logarithmic-depth recursion. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/fastpow.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/fastpow.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/fastpow.pl) |
10214
+ | [Fibonacci](https://github.com/eyereasoner/eyeprolog/blob/main/examples/fibonacci.pl) | A recurrence becomes an executable relation with a visibly decreasing argument. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/fibonacci.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/fibonacci.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/fibonacci.pl) |
10215
+ | [Fundamental theorem of arithmetic](https://github.com/eyereasoner/eyeprolog/blob/main/examples/fundamental-theorem-arithmetic.pl) | Two factorization strategies construct normalized prime-factor witnesses and check reconstruction. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/fundamental-theorem-arithmetic.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/fundamental-theorem-arithmetic.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/fundamental-theorem-arithmetic.pl) |
10216
+ | [Goldbach](https://github.com/eyereasoner/eyeprolog/blob/main/examples/goldbach.pl) | Bounded search checks Goldbach decompositions for powers of two using the portable Prolog primality relation. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/goldbach.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/goldbach.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/goldbach.pl) |
10217
+ | [Greatest lower bound uniqueness](https://github.com/eyereasoner/eyeprolog/blob/main/examples/greatest-lower-bound-uniqueness.pl) | Order-theoretic definitions support a uniqueness argument. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/greatest-lower-bound-uniqueness.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/greatest-lower-bound-uniqueness.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/greatest-lower-bound-uniqueness.pl) |
10218
+ | [Group inverse uniqueness](https://github.com/eyereasoner/eyeprolog/blob/main/examples/group-inverse-uniqueness.pl) | A short derivation exposes the algebraic premises needed for uniqueness. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/group-inverse-uniqueness.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/group-inverse-uniqueness.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/group-inverse-uniqueness.pl) |
10219
+ | [Heron Theorem](https://github.com/eyereasoner/eyeprolog/blob/main/examples/heron-theorem.pl) | Heron's theorem: area = sqrt(s(s-a)(s-b)(s-c)). | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/heron-theorem.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/heron-theorem.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/heron-theorem.pl) |
10220
+ | [Integer partitions](https://github.com/eyereasoner/eyeprolog/blob/main/examples/integer-partitions.pl) | Recursive generation constructs unordered additive decompositions without permutation duplicates. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/integer-partitions.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/integer-partitions.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/integer-partitions.pl) |
10221
+ | [Law Of Cosines](https://github.com/eyereasoner/eyeprolog/blob/main/examples/law-of-cosines.pl) | Law of cosines: c^2 = a^2 + b^2 - 2ab cos(C). | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/law-of-cosines.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/law-of-cosines.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/law-of-cosines.pl) |
10222
+ | [Matrix noncommutativity](https://github.com/eyereasoner/eyeprolog/blob/main/examples/matrix-noncommutativity.pl) | Two concrete products provide a counterexample to universal commutativity. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/matrix-noncommutativity.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/matrix-noncommutativity.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/matrix-noncommutativity.pl) |
10223
+ | [Modular exponentiation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/modular-exponentiation.pl) | Intermediate reduction preserves the residue while controlling numeric growth. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/modular-exponentiation.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/modular-exponentiation.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/modular-exponentiation.pl) |
10224
+ | [Newton Raphson](https://github.com/eyereasoner/eyeprolog/blob/main/examples/newton-raphson.pl) | Newton-Raphson root finding, adapted from Eyelet input/newton-raphson.pl. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/newton-raphson.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/newton-raphson.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/newton-raphson.pl) |
10225
+ | [Peano arithmetic](https://github.com/eyereasoner/eyeprolog/blob/main/examples/peano-arithmetic.pl) | Explicit natural-number terms support arithmetic relations and structural recursion. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/peano-arithmetic.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/peano-arithmetic.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/peano-arithmetic.pl) |
10226
+ | [Peano calculus](https://github.com/eyereasoner/eyeprolog/blob/main/examples/peano-calculus.pl) | Addition, multiplication, and factorial follow the constructors `z` and `s/1`. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/peano-calculus.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/peano-calculus.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/peano-calculus.pl) |
10227
+ | [Peasant](https://github.com/eyereasoner/eyeprolog/blob/main/examples/peasant.pl) | Peasant multiplication and exponentiation cases, adapted from Eyelet. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/peasant.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/peasant.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/peasant.pl) |
10228
+ | [Pell equation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/pell-equation.pl) | Bounded generation searches for integer witnesses to a Diophantine equation. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/pell-equation.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/pell-equation.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/pell-equation.pl) |
10229
+ | [Pi](https://github.com/eyereasoner/eyeprolog/blob/main/examples/pi.pl) | The Nilakantha series is a deterministic numeric recurrence; EyeProlog recognizes its accumulator shape and executes 10,000 terms without tabling or heap growth. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/pi.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/pi.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/pi.pl) |
10230
+ | [Prime range](https://github.com/eyereasoner/eyeprolog/blob/main/examples/prime-range.pl) | Bounded integer generation and divisor tests enumerate primes over an explicit finite interval. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/prime-range.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/prime-range.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/prime-range.pl) |
10231
+ | [Quadratic Formula](https://github.com/eyereasoner/eyeprolog/blob/main/examples/quadratic-formula.pl) | Quadratic formula over sample equations. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/quadratic-formula.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/quadratic-formula.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/quadratic-formula.pl) |
10232
+ | [Riemann Hypothesis](https://github.com/eyereasoner/eyeprolog/blob/main/examples/riemann-hypothesis.pl) | A deliberately finite audit of catalogued non-trivial zeros, illustrating the boundary between evidence and universal proof. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/riemann-hypothesis.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/riemann-hypothesis.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/riemann-hypothesis.pl) |
10233
+ | [Shoelace Polygon Area](https://github.com/eyereasoner/eyeprolog/blob/main/examples/shoelace-polygon-area.pl) | Polygon area by the shoelace formula. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/shoelace-polygon-area.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/shoelace-polygon-area.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/shoelace-polygon-area.pl) |
10234
+ | [Sieve](https://github.com/eyereasoner/eyeprolog/blob/main/examples/sieve.pl) | List filtering presents a different operational route to finite prime generation. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/sieve.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/sieve.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/sieve.pl) |
10235
+ | [Stirling and Bell numbers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/stirling-bell-numbers.pl) | Inclusion–exclusion and recurrence count set partitions in two related ways. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/stirling-bell-numbers.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/stirling-bell-numbers.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/stirling-bell-numbers.pl) |
10236
+ | [Takeuchi](https://github.com/eyereasoner/eyeprolog/blob/main/examples/takeuchi.pl) | The Takeuchi function as a demanding nested-recursion benchmark. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/takeuchi.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/takeuchi.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/takeuchi.pl) |
10237
+ | [Totient summatory function](https://github.com/eyereasoner/eyeprolog/blob/main/examples/totient-summatory.pl) | Divisibility, coprimality, counting, and summation compose over finite domains. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/totient-summatory.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/totient-summatory.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/totient-summatory.pl) |
10213
10238
 
10214
10239
  For a focused seminar, read Peano calculus, Fast exponentiation, D3 group,
10215
10240
  Matrix noncommutativity, and Fundamental theorem of arithmetic. They exhibit,
@@ -10221,27 +10246,29 @@ model checking, refutation by one witness, and witness-producing number theory.
10221
10246
  Here terms denote syntax, formulas, expressions, or programs. The crucial
10222
10247
  discipline is to keep object language and EyeProlog metalanguage distinct.
10223
10248
 
10224
- | Program | What the terms represent | Checked answer |
10249
+ | Program | What the terms represent | Answer · reason · check |
10225
10250
  | --- | --- | --- |
10226
- | [SAT solver: CDCL](https://github.com/eyereasoner/eyeprolog/blob/main/examples/cdcl-sat-solver.pl) | The example extends the SAT vocabulary toward conflicts and learned information. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/cdcl-sat-solver.pl) |
10227
- | [Chart parser](https://github.com/eyereasoner/eyeprolog/blob/main/examples/chart-parser.pl) | Shared chart items prevent grammatical subproblems from being rediscovered independently. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/chart-parser.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/chart-parser.pl) |
10228
- | [Context Schema Audit](https://github.com/eyereasoner/eyeprolog/blob/main/examples/context-schema-audit.pl) | Schema auditing for heterogeneous context terms by decomposing members with `=../2` and checking predicate arity. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/context-schema-audit.pl) |
10229
- | [Derived Backward Rule](https://github.com/eyereasoner/eyeprolog/blob/main/examples/derived-backward-rule.pl) | Derived backward rule example adapted from Eyeling derived-backward-rule.n3. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/derived-backward-rule.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/derived-backward-rule.pl) |
10230
- | [Equality saturation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/equality-saturation.pl) | Repeated rewrite closure explores equivalent symbolic forms to a fixed point. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/equality-saturation.pl) |
10231
- | [Expression evaluator](https://github.com/eyereasoner/eyeprolog/blob/main/examples/expression-eval.pl) | Arithmetic expression trees are interpreted under an explicit environment. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/expression-eval.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/expression-eval.pl) |
10232
- | [Fast Fourier Transform](https://github.com/eyereasoner/eyeprolog/blob/main/examples/fast-fourier-transform.pl) | Recursive evaluation builds a shared expression tree and treats graphic operators such as `+` and `*` as data atoms. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/fast-fourier-transform.pl) |
10233
- | [Intuitionistic Logic Kripke](https://github.com/eyereasoner/eyeprolog/blob/main/examples/intuitionistic-logic-kripke.pl) | Intuitionistic logic emulation with a finite Kripke model. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/intuitionistic-logic-kripke.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/intuitionistic-logic-kripke.pl) |
10234
- | [Knuth–Bendix completion](https://github.com/eyereasoner/eyeprolog/blob/main/examples/knuth-bendix-completion.pl) | Oriented equations and critical interactions seek a more canonical rewrite system. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/knuth-bendix-completion.pl) |
10235
- | [Language](https://github.com/eyereasoner/eyeprolog/blob/main/examples/language.pl) | A small grammar recognizes a finite relational language. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/language.pl) |
10236
- | [Linear Logic Resources](https://github.com/eyereasoner/eyeprolog/blob/main/examples/linear-logic-resources.pl) | Linear logic emulation with explicit consumable resources. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/linear-logic-resources.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/linear-logic-resources.pl) |
10237
- | [Modal Logic Kripke](https://github.com/eyereasoner/eyeprolog/blob/main/examples/modal-logic-kripke.pl) | Modal logic emulation with a finite Kripke frame. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/modal-logic-kripke.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/modal-logic-kripke.pl) |
10238
- | [Partial evaluator](https://github.com/eyereasoner/eyeprolog/blob/main/examples/partial-evaluator.pl) | Known inputs specialize an expression or program while unknown parts remain symbolic. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/partial-evaluator.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/partial-evaluator.pl) |
10239
- | [Polynomial](https://github.com/eyereasoner/eyeprolog/blob/main/examples/polynomial.pl) | Structured coefficients and powers support symbolic polynomial operations. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/polynomial.pl) |
10240
- | [Proof Contrapositive](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof-contrapositive.pl) | Proof by contrapositive example adapted from Eyelet input/proof-by-contrapositive.pl. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/proof-contrapositive.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/proof-contrapositive.pl) |
10241
- | [Quine–McCluskey](https://github.com/eyereasoner/eyeprolog/blob/main/examples/quine-mccluskey.pl) | Boolean minimization with the Quine–McCluskey method, including essential implicants and deterministic cover selection. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/quine-mccluskey.pl) |
10242
- | [SAT solver: DPLL](https://github.com/eyereasoner/eyeprolog/blob/main/examples/sat-solver-dpll.pl) | Formula representation, assignment, simplification, and branching form a compact solver. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/sat-solver-dpll.pl) |
10243
- | [Symbolic derivative](https://github.com/eyereasoner/eyeprolog/blob/main/examples/symbolic-derivative.pl) | Differentiation rules transform expression trees without evaluating them numerically; the proof golden exposes the recursive construction. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/symbolic-derivative.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/symbolic-derivative.pl) |
10244
- | [Turing machine](https://github.com/eyereasoner/eyeprolog/blob/main/examples/turing.pl) | Machine configuration terms and transition rules expose a classical computation model. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/turing.pl) |
10251
+ | [SAT solver: CDCL](https://github.com/eyereasoner/eyeprolog/blob/main/examples/cdcl-sat-solver.pl) | The example extends the SAT vocabulary toward conflicts and learned information. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/cdcl-sat-solver.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/cdcl-sat-solver.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/cdcl-sat-solver.pl) |
10252
+ | [Chart parser](https://github.com/eyereasoner/eyeprolog/blob/main/examples/chart-parser.pl) | Shared chart items prevent grammatical subproblems from being rediscovered independently. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/chart-parser.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/chart-parser.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/chart-parser.pl) |
10253
+ | [Context Schema Audit](https://github.com/eyereasoner/eyeprolog/blob/main/examples/context-schema-audit.pl) | Schema auditing for heterogeneous context terms by decomposing members with `=../2` and checking predicate arity. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/context-schema-audit.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/context-schema-audit.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/context-schema-audit.pl) |
10254
+ | [Derived Backward Rule](https://github.com/eyereasoner/eyeprolog/blob/main/examples/derived-backward-rule.pl) | Derived backward rule example adapted from Eyeling derived-backward-rule.n3. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/derived-backward-rule.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/derived-backward-rule.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/derived-backward-rule.pl) |
10255
+ | [Equality saturation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/equality-saturation.pl) | Repeated rewrite closure explores equivalent symbolic forms to a fixed point. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/equality-saturation.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/equality-saturation.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/equality-saturation.pl) |
10256
+ | [Expression evaluator](https://github.com/eyereasoner/eyeprolog/blob/main/examples/expression-eval.pl) | Arithmetic expression trees are interpreted under an explicit environment. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/expression-eval.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/expression-eval.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/expression-eval.pl) |
10257
+ | [Fast Fourier Transform](https://github.com/eyereasoner/eyeprolog/blob/main/examples/fast-fourier-transform.pl) | Recursive evaluation builds a shared expression tree and treats graphic operators such as `+` and `*` as data atoms. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/fast-fourier-transform.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/fast-fourier-transform.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/fast-fourier-transform.pl) |
10258
+ | [Intuitionistic Logic Kripke](https://github.com/eyereasoner/eyeprolog/blob/main/examples/intuitionistic-logic-kripke.pl) | Intuitionistic logic emulation with a finite Kripke model. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/intuitionistic-logic-kripke.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/intuitionistic-logic-kripke.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/intuitionistic-logic-kripke.pl) |
10259
+ | [Knuth–Bendix completion](https://github.com/eyereasoner/eyeprolog/blob/main/examples/knuth-bendix-completion.pl) | Oriented equations and critical interactions seek a more canonical rewrite system. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/knuth-bendix-completion.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/knuth-bendix-completion.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/knuth-bendix-completion.pl) |
10260
+ | [Language](https://github.com/eyereasoner/eyeprolog/blob/main/examples/language.pl) | A small grammar recognizes a finite relational language. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/language.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/language.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/language.pl) |
10261
+ | [Linear Logic Resources](https://github.com/eyereasoner/eyeprolog/blob/main/examples/linear-logic-resources.pl) | Linear logic emulation with explicit consumable resources. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/linear-logic-resources.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/linear-logic-resources.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/linear-logic-resources.pl) |
10262
+ | [Modal Logic Kripke](https://github.com/eyereasoner/eyeprolog/blob/main/examples/modal-logic-kripke.pl) | Modal logic emulation with a finite Kripke frame. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/modal-logic-kripke.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/modal-logic-kripke.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/modal-logic-kripke.pl) |
10263
+ | [Partial evaluator](https://github.com/eyereasoner/eyeprolog/blob/main/examples/partial-evaluator.pl) | Known inputs specialize an expression or program while unknown parts remain symbolic. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/partial-evaluator.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/partial-evaluator.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/partial-evaluator.pl) |
10264
+ | [Polynomial](https://github.com/eyereasoner/eyeprolog/blob/main/examples/polynomial.pl) | Structured coefficients and powers support symbolic polynomial operations. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/polynomial.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/polynomial.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/polynomial.pl) |
10265
+ | [Proof Contrapositive](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof-contrapositive.pl) | Proof by contrapositive example adapted from Eyelet input/proof-by-contrapositive.pl. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/proof-contrapositive.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/proof-contrapositive.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/proof-contrapositive.pl) |
10266
+ | [Quine–McCluskey](https://github.com/eyereasoner/eyeprolog/blob/main/examples/quine-mccluskey.pl) | Boolean minimization with the Quine–McCluskey method, including essential implicants and deterministic cover selection. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/quine-mccluskey.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/quine-mccluskey.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/quine-mccluskey.pl) |
10267
+ | [SAT solver: DPLL](https://github.com/eyereasoner/eyeprolog/blob/main/examples/sat-solver-dpll.pl) | Formula representation, assignment, simplification, and branching form a compact solver. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/sat-solver-dpll.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/sat-solver-dpll.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/sat-solver-dpll.pl) |
10268
+ | [Symbolic derivative](https://github.com/eyereasoner/eyeprolog/blob/main/examples/symbolic-derivative.pl) | Differentiation rules transform expression trees without evaluating them numerically; the proof golden exposes the recursive construction. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/symbolic-derivative.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/symbolic-derivative.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/symbolic-derivative.pl) |
10269
+ | [Turing machine](https://github.com/eyereasoner/eyeprolog/blob/main/examples/turing.pl) | Machine configuration terms and transition rules expose a classical computation model. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/turing.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/turing.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/turing.pl) |
10270
+ | [Vanilla meta-interpreter](https://github.com/eyereasoner/eyeprolog/blob/main/examples/vanilla-meta-interpreter.pl) | solve/1 mirroring ordinary resolution, one clause at a time. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/vanilla-meta-interpreter.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/vanilla-meta-interpreter.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/vanilla-meta-interpreter.pl) |
10271
+ | [Propositional dynamic logic](https://github.com/eyereasoner/eyeprolog/blob/main/examples/propositional-dynamic-logic.pl) | PDL programs and modalities by threading state through pure relations. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/propositional-dynamic-logic.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/propositional-dynamic-logic.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/propositional-dynamic-logic.pl) |
10245
10272
 
10246
10273
  Inspect the outermost functor of every data term. In the derivative example it
10247
10274
  names an expression constructor; in the SAT examples it names logical syntax;
@@ -10253,20 +10280,22 @@ nested terms is automatically asserted as an EyeProlog goal.
10253
10280
  These programs make programs or system configurations the subject of
10254
10281
  reasoning.
10255
10282
 
10256
- | Program | Analysis idea | Checked answer |
10283
+ | Program | Analysis idea | Answer · reason · check |
10257
10284
  | --- | --- | --- |
10258
- | [Abstract interpretation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/abstract-interpretation.pl) | A finite sign domain conservatively approximates many concrete executions. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/abstract-interpretation.pl) |
10259
- | [Cache performance](https://github.com/eyereasoner/eyeprolog/blob/main/examples/cache-performance.pl) | Configuration and workload facts derive performance classifications and reasons. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/cache-performance.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/cache-performance.pl) |
10260
- | [Canary release](https://github.com/eyereasoner/eyeprolog/blob/main/examples/canary-release.pl) | Observations and thresholds support a deployment decision with auditable evidence. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/canary-release.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/canary-release.pl) |
10261
- | [Network SLA](https://github.com/eyereasoner/eyeprolog/blob/main/examples/network-sla.pl) | Technology example: network path SLA check. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/network-sla.pl) |
10262
- | [Observability log correlation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/observability-log-correlation.pl) | Structured log events join across identifiers and time-related facts. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/observability-log-correlation.pl) |
10263
- | [Pointer analysis](https://github.com/eyereasoner/eyeprolog/blob/main/examples/pointer-analysis.pl) | Allocation and assignment constraints derive a points-to relation by closure. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/pointer-analysis.pl) |
10264
- | [Register allocation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/register-allocation.pl) | Liveness interference becomes a finite coloring problem. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/register-allocation.pl) |
10265
- | [Relational Cube Lookup](https://github.com/eyereasoner/eyeprolog/blob/main/examples/relational-cube-lookup.pl) | Performance example: repeated multi-key relational lookups. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/relational-cube-lookup.pl) |
10266
- | [Security incident correlation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/security-incident-correlation.pl) | Distributed observations combine into incident conclusions. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/security-incident-correlation.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/security-incident-correlation.pl) |
10267
- | [Truth-maintenance system](https://github.com/eyereasoner/eyeprolog/blob/main/examples/truth-maintenance-system.pl) | Justifications remain explicit when conclusions depend on defeasible information. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/truth-maintenance-system.pl) |
10268
- | [Type inference](https://github.com/eyereasoner/eyeprolog/blob/main/examples/type-inference.pl) | Structural unification solves type constraints for a tiny expression language. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/type-inference.pl) |
10269
- | [Vulnerability Impact](https://github.com/eyereasoner/eyeprolog/blob/main/examples/vulnerability-impact.pl) | Vulnerability impact analysis over a transitive dependency graph. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/vulnerability-impact.pl) |
10285
+ | [Abstract interpretation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/abstract-interpretation.pl) | A finite sign domain conservatively approximates many concrete executions. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/abstract-interpretation.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/abstract-interpretation.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/abstract-interpretation.pl) |
10286
+ | [Cache performance](https://github.com/eyereasoner/eyeprolog/blob/main/examples/cache-performance.pl) | Configuration and workload facts derive performance classifications and reasons. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/cache-performance.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/cache-performance.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/cache-performance.pl) |
10287
+ | [Canary release](https://github.com/eyereasoner/eyeprolog/blob/main/examples/canary-release.pl) | Observations and thresholds support a deployment decision with auditable evidence. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/canary-release.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/canary-release.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/canary-release.pl) |
10288
+ | [Network SLA](https://github.com/eyereasoner/eyeprolog/blob/main/examples/network-sla.pl) | Technology example: network path SLA check. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/network-sla.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/network-sla.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/network-sla.pl) |
10289
+ | [Observability log correlation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/observability-log-correlation.pl) | Structured log events join across identifiers and time-related facts. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/observability-log-correlation.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/observability-log-correlation.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/observability-log-correlation.pl) |
10290
+ | [Pointer analysis](https://github.com/eyereasoner/eyeprolog/blob/main/examples/pointer-analysis.pl) | Allocation and assignment constraints derive a points-to relation by closure. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/pointer-analysis.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/pointer-analysis.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/pointer-analysis.pl) |
10291
+ | [Register allocation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/register-allocation.pl) | Liveness interference becomes a finite coloring problem. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/register-allocation.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/register-allocation.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/register-allocation.pl) |
10292
+ | [Relational Cube Lookup](https://github.com/eyereasoner/eyeprolog/blob/main/examples/relational-cube-lookup.pl) | Performance example: repeated multi-key relational lookups. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/relational-cube-lookup.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/relational-cube-lookup.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/relational-cube-lookup.pl) |
10293
+ | [Security incident correlation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/security-incident-correlation.pl) | Distributed observations combine into incident conclusions. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/security-incident-correlation.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/security-incident-correlation.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/security-incident-correlation.pl) |
10294
+ | [Truth-maintenance system](https://github.com/eyereasoner/eyeprolog/blob/main/examples/truth-maintenance-system.pl) | Justifications remain explicit when conclusions depend on defeasible information. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/truth-maintenance-system.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/truth-maintenance-system.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/truth-maintenance-system.pl) |
10295
+ | [Type inference](https://github.com/eyereasoner/eyeprolog/blob/main/examples/type-inference.pl) | Structural unification solves type constraints for a tiny expression language. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/type-inference.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/type-inference.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/type-inference.pl) |
10296
+ | [Vulnerability Impact](https://github.com/eyereasoner/eyeprolog/blob/main/examples/vulnerability-impact.pl) | Vulnerability impact analysis over a transitive dependency graph. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/vulnerability-impact.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/vulnerability-impact.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/vulnerability-impact.pl) |
10297
+ | [Declarative fault localization](https://github.com/eyereasoner/eyeprolog/blob/main/examples/declarative-fault-localization.pl) | Narrowing a wrong answer to the clause responsible for it. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/declarative-fault-localization.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/declarative-fault-localization.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/declarative-fault-localization.pl) |
10298
+ | [Universal vs existential termination](https://github.com/eyereasoner/eyeprolog/blob/main/examples/universal-vs-existential-termination.pl) | The difference between a query that answers and one that finishes. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/universal-vs-existential-termination.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/universal-vs-existential-termination.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/universal-vs-existential-termination.pl) |
10270
10299
 
10271
10300
  Abstract interpretation deserves special care: an abstract warning is not the
10272
10301
  claim that every concrete execution fails. It says the abstraction cannot rule
@@ -10277,20 +10306,20 @@ the failure out. The direction of approximation is part of the theorem.
10277
10306
  These examples are best read in layers: source facts, normalized concepts,
10278
10307
  decisions, reasons, integrity conditions, and proof.
10279
10308
 
10280
- | Program | Decision domain | Checked companions |
10309
+ | Program | Decision domain | Answer · reason · check |
10281
10310
  | --- | --- | --- |
10282
- | [Access control policy](https://github.com/eyereasoner/eyeprolog/blob/main/examples/access-control-policy.pl) | Attribute and policy facts derive permit status and reasons. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/access-control-policy.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/access-control-policy.pl) |
10283
- | [Clinical-trial screening](https://github.com/eyereasoner/eyeprolog/blob/main/examples/clinical-trial-screening.pl) | Inclusion and exclusion criteria produce an evidence-backed eligibility result. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/clinical-trial-screening.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/clinical-trial-screening.pl) |
10284
- | [Data negotiation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/data-negotiation.pl) | Offered and required data conditions derive an agreement or mismatch. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/data-negotiation.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/data-negotiation.pl) |
10285
- | [Defeasible reasoning](https://github.com/eyereasoner/eyeprolog/blob/main/examples/defeasible-reasoning.pl) | A reimbursement policy overrides defaults by specificity, then compares three ways to handle one unresolved conflict between two independent defaults: an unstratified `\+/1` cycle, `tnot/1` with WFS's `undefined`, and this codebase's usual explicit conflict predicate. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/defeasible-reasoning.pl) |
10286
- | [Deontic Logic](https://github.com/eyereasoner/eyeprolog/blob/main/examples/deontic-logic.pl) | Deontic logic: obligations, prohibitions, compensations, and violations. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/deontic-logic.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/deontic-logic.pl) |
10287
- | [Evidence demand authority](https://github.com/eyereasoner/eyeprolog/blob/main/examples/evidence-demand-authority.pl) | A withdrawn demand for evidence: whether the missed deadline is a ground, and whether what was already handed over may be used. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/evidence-demand-authority.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/evidence-demand-authority.pl) |
10288
- | [GDPR compliance](https://github.com/eyereasoner/eyeprolog/blob/main/examples/gdpr-compliance.pl) | Purpose, basis, and processing facts support compliance conclusions. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/gdpr-compliance.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/gdpr-compliance.pl) |
10289
- | [Illegitimate Reasoning](https://github.com/eyereasoner/eyeprolog/blob/main/examples/illegitimate-reasoning.pl) | Illegitimate reasoning detector. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/illegitimate-reasoning.pl) |
10290
- | [Integrity check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/integrity-check.pl) | An explicit invalid-state relation reports contradictory input and a diagnostic status. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/integrity-check.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/integrity-check.pl) |
10291
- | [Nixon Diamond](https://github.com/eyereasoner/eyeprolog/blob/main/examples/nixon-diamond.pl) | Nixon diamond: two independent defaults support incompatible conclusions. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/nixon-diamond.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/nixon-diamond.pl) |
10292
- | [Trust-flow provenance threshold](https://github.com/eyereasoner/eyeprolog/blob/main/examples/trust-flow-provenance-threshold.pl) | Provenance and trust values remain premises of the derived threshold decision, including its arithmetic and comparison steps. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/trust-flow-provenance-threshold.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/trust-flow-provenance-threshold.pl) |
10293
- | [Workplace compliance](https://github.com/eyereasoner/eyeprolog/blob/main/examples/workplace-compliance.pl) | Training, role, and workplace conditions feed a compact compliance theory. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/workplace-compliance.pl) |
10311
+ | [Access control policy](https://github.com/eyereasoner/eyeprolog/blob/main/examples/access-control-policy.pl) | Attribute and policy facts derive permit status and reasons. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/access-control-policy.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/access-control-policy.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/access-control-policy.pl) |
10312
+ | [Clinical-trial screening](https://github.com/eyereasoner/eyeprolog/blob/main/examples/clinical-trial-screening.pl) | Inclusion and exclusion criteria produce an evidence-backed eligibility result. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/clinical-trial-screening.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/clinical-trial-screening.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/clinical-trial-screening.pl) |
10313
+ | [Data negotiation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/data-negotiation.pl) | Offered and required data conditions derive an agreement or mismatch. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/data-negotiation.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/data-negotiation.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/data-negotiation.pl) |
10314
+ | [Defeasible reasoning](https://github.com/eyereasoner/eyeprolog/blob/main/examples/defeasible-reasoning.pl) | A reimbursement policy overrides defaults by specificity, then compares three ways to handle one unresolved conflict between two independent defaults: an unstratified `\+/1` cycle, `tnot/1` with WFS's `undefined`, and this codebase's usual explicit conflict predicate. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/defeasible-reasoning.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/defeasible-reasoning.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/defeasible-reasoning.pl) |
10315
+ | [Deontic Logic](https://github.com/eyereasoner/eyeprolog/blob/main/examples/deontic-logic.pl) | Deontic logic: obligations, prohibitions, compensations, and violations. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/deontic-logic.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/deontic-logic.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/deontic-logic.pl) |
10316
+ | [Evidence demand authority](https://github.com/eyereasoner/eyeprolog/blob/main/examples/evidence-demand-authority.pl) | A withdrawn demand for evidence: whether the missed deadline is a ground, and whether what was already handed over may be used. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/evidence-demand-authority.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/evidence-demand-authority.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/evidence-demand-authority.pl) |
10317
+ | [GDPR compliance](https://github.com/eyereasoner/eyeprolog/blob/main/examples/gdpr-compliance.pl) | Purpose, basis, and processing facts support compliance conclusions. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/gdpr-compliance.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/gdpr-compliance.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/gdpr-compliance.pl) |
10318
+ | [Illegitimate Reasoning](https://github.com/eyereasoner/eyeprolog/blob/main/examples/illegitimate-reasoning.pl) | Illegitimate reasoning detector. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/illegitimate-reasoning.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/illegitimate-reasoning.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/illegitimate-reasoning.pl) |
10319
+ | [Integrity check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/integrity-check.pl) | An explicit invalid-state relation reports contradictory input and a diagnostic status. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/integrity-check.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/integrity-check.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/integrity-check.pl) |
10320
+ | [Nixon Diamond](https://github.com/eyereasoner/eyeprolog/blob/main/examples/nixon-diamond.pl) | Nixon diamond: two independent defaults support incompatible conclusions. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/nixon-diamond.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/nixon-diamond.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/nixon-diamond.pl) |
10321
+ | [Trust-flow provenance threshold](https://github.com/eyereasoner/eyeprolog/blob/main/examples/trust-flow-provenance-threshold.pl) | Provenance and trust values remain premises of the derived threshold decision, including its arithmetic and comparison steps. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/trust-flow-provenance-threshold.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/trust-flow-provenance-threshold.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/trust-flow-provenance-threshold.pl) |
10322
+ | [Workplace compliance](https://github.com/eyereasoner/eyeprolog/blob/main/examples/workplace-compliance.pl) | Training, role, and workplace conditions feed a compact compliance theory. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/workplace-compliance.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/workplace-compliance.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/workplace-compliance.pl) |
10294
10323
 
10295
10324
  When studying a policy proof, circle every premise imported from outside the
10296
10325
  theory. The derivation validates the transition from those premises to the
@@ -10306,64 +10335,67 @@ ground RDF-shaped results that can be serialized back to RDF.
10306
10335
 
10307
10336
  The [Symbiotic Knowledge Graphs](https://github.com/eyereasoner/eyeprolog/blob/main/examples/deck/symbiotic-knowledge-graphs.md) example extends the same boundary into a human/AI feedback loop. Named graphs preserve source and governance context, RDF 1.2 triple terms carry AI-proposed statements without asserting them, EyeProlog decides which claims become operational knowledge, and `result_rdf/4` materializes accepted knowledge and derived decisions for conversion back to RDF.
10308
10337
 
10309
- | Program | Roundtrip idea | Checked answer |
10338
+ | Program | Roundtrip idea | Answer · reason · check |
10310
10339
  | --- | --- | --- |
10311
- | [Cross-organization data sharing](https://github.com/eyereasoner/eyeprolog/blob/main/examples/cross-organization-data-sharing.pl) | Combine ODRL/DPV policy, recipient properties, safeguards, jurisdiction, and retention into permit, deny, or review decisions with obligations. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/cross-organization-data-sharing.pl) · [deck](https://github.com/eyereasoner/eyeprolog/blob/main/examples/deck/cross-organization-data-sharing.md) |
10312
- | [Explainable EV-depot configuration](https://github.com/eyereasoner/eyeprolog/blob/main/examples/explainable-ev-depot-configuration.pl) | Select a compatible charger while deriving blockers and reversible required changes from the same relational rules. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/explainable-ev-depot-configuration.pl) · [deck](https://github.com/eyereasoner/eyeprolog/blob/main/examples/deck/explainable-ev-depot-configuration.md) |
10313
- | [DPV–ODRL purpose mapping](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dpv-odrl-purpose-mapping.pl) | Verify six correspondences between a DPV process and an ODRL policy. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/dpv-odrl-purpose-mapping.pl) |
10314
- | [ODRL–DPV–FPV trust flow](https://github.com/eyereasoner/eyeprolog/blob/main/examples/odrl-dpv-fpv-trust-flow.pl) | Combine policy rules and trust scores into permit, review, and deny decisions. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/odrl-dpv-fpv-trust-flow.pl) |
10315
- | [ODRL–DPV healthcare risk ranking](https://github.com/eyereasoner/eyeprolog/blob/main/examples/odrl-dpv-healthcare-risk-ranked.pl) | Detect and rank healthcare-policy risks with clauses and mitigations. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/odrl-dpv-healthcare-risk-ranked.pl) |
10316
- | [ODRL–DPV consumer risk ranking](https://github.com/eyereasoner/eyeprolog/blob/main/examples/odrl-dpv-risk-ranked.pl) | Score consumer-policy conflicts and return a deterministic risk ranking. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/odrl-dpv-risk-ranked.pl) |
10317
- | [ODRL policy](https://github.com/eyereasoner/eyeprolog/blob/main/examples/odrl-policy.pl) | Read one purpose-constrained permission from an ODRL policy graph. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/odrl-policy.pl) |
10318
- | [Advanced ODRL policy](https://github.com/eyereasoner/eyeprolog/blob/main/examples/odrl-policy-advanced.pl) | Evaluate permission, duty, constraint failure, and prohibition outcomes. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/odrl-policy-advanced.pl) |
10319
- | [ODRL policy reasoning](https://github.com/eyereasoner/eyeprolog/blob/main/examples/odrl-policy-reasoning.pl) | Query action relationships, rule and enforcement outcomes, conflict strategies and kinds, action/rule/policy subsumption, and three-valued WFS defaults. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/odrl-policy-reasoning.pl) |
10320
- | [RDF 1.2 annotated claims](https://github.com/eyereasoner/eyeprolog/blob/main/examples/rdf12-annotated-claims.pl) | Rank conflicting annotated claims by confidence and source trust. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/rdf12-annotated-claims.pl) |
10321
- | [RDF 1.2 annotation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/rdf12-annotation.pl) | Recover an asserted triple together with its reifier and annotations. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/rdf12-annotation.pl) |
10322
- | [RDF 1.2 directional language](https://github.com/eyereasoner/eyeprolog/blob/main/examples/rdf12-directional-language.pl) | Preserve language and base-direction metadata in derived labels. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/rdf12-directional-language.pl) |
10323
- | [RDF 1.2 nested triple term](https://github.com/eyereasoner/eyeprolog/blob/main/examples/rdf12-nested-triple-term.pl) | Match nested triple terms and derive the innermost relationship. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/rdf12-nested-triple-term.pl) |
10324
- | [RDF 1.2 TriG graph join](https://github.com/eyereasoner/eyeprolog/blob/main/examples/rdf12-trig-graph-join.pl) | Join default-graph metadata with measurements from a named graph. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/rdf12-trig-graph-join.pl) |
10325
- | [RDF 1.2 TriG named graph](https://github.com/eyereasoner/eyeprolog/blob/main/examples/rdf12-trig-named-graph.pl) | Derive ancestor relationships inside the source named graph. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/rdf12-trig-named-graph.pl) |
10326
- | [RDF 1.2 TriG triple term](https://github.com/eyereasoner/eyeprolog/blob/main/examples/rdf12-trig-triple-term.pl) | Project a triple term while retaining its named-graph context. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/rdf12-trig-triple-term.pl) |
10327
- | [RDF 1.2 triple term](https://github.com/eyereasoner/eyeprolog/blob/main/examples/rdf12-triple-term.pl) | Project a triple term into an ordinary asserted relationship. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/rdf12-triple-term.pl) |
10328
- | [Operational incident response](https://github.com/eyereasoner/eyeprolog/blob/main/examples/operational-incident-response.pl) | Correlate symptoms and telemetry through a service dependency graph to derive root cause, transitive impact, evidence, and a guarded failover action. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/operational-incident-response.pl) · [deck](https://github.com/eyereasoner/eyeprolog/blob/main/examples/deck/operational-incident-response.md) |
10329
- | [SBOM vulnerability response](https://github.com/eyereasoner/eyeprolog/blob/main/examples/sbom-vulnerability-response.pl) | Traverse transitive dependencies, apply severity and waiver policy, expose the exact vulnerable path, and derive an upgrade action. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/sbom-vulnerability-response.pl) · [deck](https://github.com/eyereasoner/eyeprolog/blob/main/examples/deck/sbom-vulnerability-response.md) |
10330
- | [Scientific evidence graph](https://github.com/eyereasoner/eyeprolog/blob/main/examples/scientific-evidence-graph.pl) | Use RDF 1.2 triple terms plus study metadata to distinguish supported claims, lower-quality counterevidence, and genuinely contested conclusions. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/scientific-evidence-graph.pl) · [deck](https://github.com/eyereasoner/eyeprolog/blob/main/examples/deck/scientific-evidence-graph.md) |
10331
- | [Symbiotic Knowledge Graphs](https://github.com/eyereasoner/eyeprolog/blob/main/examples/symbiotic-knowledge-graph.pl) | Roundtrip a city heatwave KG through RDF 1.2 triple-term proposals, human review, explicit Prolog governance, and materialized decisions. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/symbiotic-knowledge-graph.pl) · [deck](https://github.com/eyereasoner/eyeprolog/blob/main/examples/deck/symbiotic-knowledge-graphs.md) |
10340
+ | [Cross-organization data sharing](https://github.com/eyereasoner/eyeprolog/blob/main/examples/cross-organization-data-sharing.pl) | Combine ODRL/DPV policy, recipient properties, safeguards, jurisdiction, and retention into permit, deny, or review decisions with obligations. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/cross-organization-data-sharing.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/cross-organization-data-sharing.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/cross-organization-data-sharing.pl) |
10341
+ | [Explainable EV-depot configuration](https://github.com/eyereasoner/eyeprolog/blob/main/examples/explainable-ev-depot-configuration.pl) | Select a compatible charger while deriving blockers and reversible required changes from the same relational rules. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/explainable-ev-depot-configuration.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/explainable-ev-depot-configuration.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/explainable-ev-depot-configuration.pl) |
10342
+ | [DPV–ODRL purpose mapping](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dpv-odrl-purpose-mapping.pl) | Verify six correspondences between a DPV process and an ODRL policy. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/dpv-odrl-purpose-mapping.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/dpv-odrl-purpose-mapping.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/dpv-odrl-purpose-mapping.pl) |
10343
+ | [ODRL–DPV–FPV trust flow](https://github.com/eyereasoner/eyeprolog/blob/main/examples/odrl-dpv-fpv-trust-flow.pl) | Combine policy rules and trust scores into permit, review, and deny decisions. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/odrl-dpv-fpv-trust-flow.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/odrl-dpv-fpv-trust-flow.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/odrl-dpv-fpv-trust-flow.pl) |
10344
+ | [ODRL–DPV healthcare risk ranking](https://github.com/eyereasoner/eyeprolog/blob/main/examples/odrl-dpv-healthcare-risk-ranked.pl) | Detect and rank healthcare-policy risks with clauses and mitigations. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/odrl-dpv-healthcare-risk-ranked.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/odrl-dpv-healthcare-risk-ranked.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/odrl-dpv-healthcare-risk-ranked.pl) |
10345
+ | [ODRL–DPV consumer risk ranking](https://github.com/eyereasoner/eyeprolog/blob/main/examples/odrl-dpv-risk-ranked.pl) | Score consumer-policy conflicts and return a deterministic risk ranking. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/odrl-dpv-risk-ranked.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/odrl-dpv-risk-ranked.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/odrl-dpv-risk-ranked.pl) |
10346
+ | [ODRL policy](https://github.com/eyereasoner/eyeprolog/blob/main/examples/odrl-policy.pl) | Read one purpose-constrained permission from an ODRL policy graph. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/odrl-policy.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/odrl-policy.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/odrl-policy.pl) |
10347
+ | [Advanced ODRL policy](https://github.com/eyereasoner/eyeprolog/blob/main/examples/odrl-policy-advanced.pl) | Evaluate permission, duty, constraint failure, and prohibition outcomes. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/odrl-policy-advanced.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/odrl-policy-advanced.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/odrl-policy-advanced.pl) |
10348
+ | [ODRL policy reasoning](https://github.com/eyereasoner/eyeprolog/blob/main/examples/odrl-policy-reasoning.pl) | Query action relationships, rule and enforcement outcomes, conflict strategies and kinds, action/rule/policy subsumption, and three-valued WFS defaults. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/odrl-policy-reasoning.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/odrl-policy-reasoning.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/odrl-policy-reasoning.pl) |
10349
+ | [RDF 1.2 annotated claims](https://github.com/eyereasoner/eyeprolog/blob/main/examples/rdf12-annotated-claims.pl) | Rank conflicting annotated claims by confidence and source trust. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/rdf12-annotated-claims.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/rdf12-annotated-claims.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/rdf12-annotated-claims.pl) |
10350
+ | [RDF 1.2 annotation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/rdf12-annotation.pl) | Recover an asserted triple together with its reifier and annotations. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/rdf12-annotation.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/rdf12-annotation.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/rdf12-annotation.pl) |
10351
+ | [RDF 1.2 directional language](https://github.com/eyereasoner/eyeprolog/blob/main/examples/rdf12-directional-language.pl) | Preserve language and base-direction metadata in derived labels. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/rdf12-directional-language.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/rdf12-directional-language.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/rdf12-directional-language.pl) |
10352
+ | [RDF 1.2 nested triple term](https://github.com/eyereasoner/eyeprolog/blob/main/examples/rdf12-nested-triple-term.pl) | Match nested triple terms and derive the innermost relationship. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/rdf12-nested-triple-term.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/rdf12-nested-triple-term.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/rdf12-nested-triple-term.pl) |
10353
+ | [RDF 1.2 TriG graph join](https://github.com/eyereasoner/eyeprolog/blob/main/examples/rdf12-trig-graph-join.pl) | Join default-graph metadata with measurements from a named graph. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/rdf12-trig-graph-join.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/rdf12-trig-graph-join.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/rdf12-trig-graph-join.pl) |
10354
+ | [RDF 1.2 TriG named graph](https://github.com/eyereasoner/eyeprolog/blob/main/examples/rdf12-trig-named-graph.pl) | Derive ancestor relationships inside the source named graph. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/rdf12-trig-named-graph.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/rdf12-trig-named-graph.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/rdf12-trig-named-graph.pl) |
10355
+ | [RDF 1.2 TriG triple term](https://github.com/eyereasoner/eyeprolog/blob/main/examples/rdf12-trig-triple-term.pl) | Project a triple term while retaining its named-graph context. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/rdf12-trig-triple-term.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/rdf12-trig-triple-term.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/rdf12-trig-triple-term.pl) |
10356
+ | [RDF 1.2 triple term](https://github.com/eyereasoner/eyeprolog/blob/main/examples/rdf12-triple-term.pl) | Project a triple term into an ordinary asserted relationship. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/rdf12-triple-term.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/rdf12-triple-term.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/rdf12-triple-term.pl) |
10357
+ | [Operational incident response](https://github.com/eyereasoner/eyeprolog/blob/main/examples/operational-incident-response.pl) | Correlate symptoms and telemetry through a service dependency graph to derive root cause, transitive impact, evidence, and a guarded failover action. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/operational-incident-response.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/operational-incident-response.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/operational-incident-response.pl) |
10358
+ | [SBOM vulnerability response](https://github.com/eyereasoner/eyeprolog/blob/main/examples/sbom-vulnerability-response.pl) | Traverse transitive dependencies, apply severity and waiver policy, expose the exact vulnerable path, and derive an upgrade action. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/sbom-vulnerability-response.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/sbom-vulnerability-response.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/sbom-vulnerability-response.pl) |
10359
+ | [Scientific evidence graph](https://github.com/eyereasoner/eyeprolog/blob/main/examples/scientific-evidence-graph.pl) | Use RDF 1.2 triple terms plus study metadata to distinguish supported claims, lower-quality counterevidence, and genuinely contested conclusions. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/scientific-evidence-graph.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/scientific-evidence-graph.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/scientific-evidence-graph.pl) |
10360
+ | [Symbiotic Knowledge Graphs](https://github.com/eyereasoner/eyeprolog/blob/main/examples/symbiotic-knowledge-graph.pl) | Roundtrip a city heatwave KG through RDF 1.2 triple-term proposals, human review, explicit Prolog governance, and materialized decisions. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/symbiotic-knowledge-graph.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/symbiotic-knowledge-graph.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/symbiotic-knowledge-graph.pl) |
10361
+ | [Alignment demo](https://github.com/eyereasoner/eyeprolog/blob/main/examples/alignment-demo.pl) | Aligning two vocabularies, adapted from Eyeling. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/alignment-demo.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/alignment-demo.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/alignment-demo.pl) |
10362
+ | [Context association](https://github.com/eyereasoner/eyeprolog/blob/main/examples/context-association.pl) | Associating statements with the context they hold in, adapted from Eyeling. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/context-association.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/context-association.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/context-association.pl) |
10363
+ | [Web names](https://github.com/eyereasoner/eyeprolog/blob/main/examples/web-names.pl) | Web names carried as ordinary EyeProlog atoms. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/web-names.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/web-names.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/web-names.pl) |
10332
10364
 
10333
10365
  #### Science, engineering, and numerical models
10334
10366
 
10335
10367
  These examples make mathematical assumptions operational. Their values are
10336
10368
  illustrative models, not professional engineering or medical advice.
10337
10369
 
10338
- | Program | Model | Checked companions |
10370
+ | Program | Model | Answer · reason · check |
10339
10371
  | --- | --- | --- |
10340
- | [Bayes Diagnosis](https://github.com/eyereasoner/eyeprolog/blob/main/examples/bayes-diagnosis.pl) | Bayesian diagnosis adapted from Eyeling bayes-diagnosis.n3. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/bayes-diagnosis.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/bayes-diagnosis.pl) |
10341
- | [Bayes Therapy](https://github.com/eyereasoner/eyeprolog/blob/main/examples/bayes-therapy.pl) | Memoize shared inference layers: the score vector, disease likelihood tails, and expected therapy success are reused by several report relations. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/bayes-therapy.pl) |
10342
- | [Beam deflection](https://github.com/eyereasoner/eyeprolog/blob/main/examples/beam-deflection.pl) | A mechanics equation combines load, geometry, and material parameters. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/beam-deflection.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/beam-deflection.pl) |
10343
- | [BMI](https://github.com/eyereasoner/eyeprolog/blob/main/examples/bmi.pl) | Metric and US-unit normalization, BMI classification, healthy-weight bands, and audit checks. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/bmi.pl) |
10344
- | [Braking Safety Worlds](https://github.com/eyereasoner/eyeprolog/blob/main/examples/braking-safety-worlds.pl) | EYE reasoning-inspired example: braking safety in alternative worlds. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/braking-safety-worlds.pl) |
10345
- | [Buck converter design](https://github.com/eyereasoner/eyeprolog/blob/main/examples/buck-converter-design.pl) | Electrical design candidates are checked against component and performance constraints. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/buck-converter-design.pl) |
10346
- | [Competitive enzyme kinetics](https://github.com/eyereasoner/eyeprolog/blob/main/examples/competitive-enzyme-kinetics.pl) | A biochemical rate law becomes a numeric relational model. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/competitive-enzyme-kinetics.pl) |
10347
- | [Control system](https://github.com/eyereasoner/eyeprolog/blob/main/examples/control-system.pl) | System parameters derive stability- and response-related quantities. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/control-system.pl) |
10348
- | [Dairy energy balance](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dairy-energy-balance.pl) | Intake and expenditure quantities are combined in an agricultural model. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/dairy-energy-balance.pl) |
10349
- | [Electrical RC filter](https://github.com/eyereasoner/eyeprolog/blob/main/examples/electrical-rc-filter.pl) | Component values derive circuit behavior under an explicit formula. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/electrical-rc-filter.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/electrical-rc-filter.pl) |
10350
- | [Epidemic policy](https://github.com/eyereasoner/eyeprolog/blob/main/examples/epidemic-policy.pl) | Observations and thresholds connect a simple epidemic model to policy conclusions. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/epidemic-policy.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/epidemic-policy.pl) |
10351
- | [EV Range Worlds](https://github.com/eyereasoner/eyeprolog/blob/main/examples/ev-range-worlds.pl) | EYE-inspired electric-vehicle range worlds. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/ev-range-worlds.pl) |
10352
- | [Exoplanet Validation Worlds](https://github.com/eyereasoner/eyeprolog/blob/main/examples/exoplanet-validation-worlds.pl) | EYE reasoning-inspired example: exoplanet candidate validation worlds. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/exoplanet-validation-worlds.pl) |
10353
- | [FFT-8 Numeric](https://github.com/eyereasoner/eyeprolog/blob/main/examples/fft8-numeric.pl) | An eight-point radix-2 FFT over explicit complex pairs, showing butterflies, twiddle factors, and selected bins. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/fft8-numeric.pl) |
10354
- | [Field nitrogen balance](https://github.com/eyereasoner/eyeprolog/blob/main/examples/field-nitrogen-balance.pl) | Inputs, removal, and losses form a conservation-style accounting relation. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/field-nitrogen-balance.pl) |
10355
- | [GD Step Certified](https://github.com/eyereasoner/eyeprolog/blob/main/examples/gd-step-certified.pl) | A proof-friendly certified gradient-descent step with memoized interval bounds and explicit acceptance evidence. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/gd-step-certified.pl) |
10356
- | [Hamming Code](https://github.com/eyereasoner/eyeprolog/blob/main/examples/hamming-code.pl) | Technology example: Hamming(7,4) single-bit error correction. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/hamming-code.pl) |
10357
- | [Heat Loss](https://github.com/eyereasoner/eyeprolog/blob/main/examples/heat-loss.pl) | Engineering example: one-dimensional conductive heat loss through a wall. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/heat-loss.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/heat-loss.pl) |
10358
- | [Ideal Gas Law](https://github.com/eyereasoner/eyeprolog/blob/main/examples/ideal-gas-law.pl) | Science example: ideal gas law. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/ideal-gas-law.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/ideal-gas-law.pl) |
10359
- | [Least-squares regression](https://github.com/eyereasoner/eyeprolog/blob/main/examples/least-squares-regression.pl) | Finite observations are summarized into a fitted linear model. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/least-squares-regression.pl) |
10360
- | [Orbital transfer design](https://github.com/eyereasoner/eyeprolog/blob/main/examples/orbital-transfer-design.pl) | Candidate orbital parameters are evaluated against transfer equations. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/orbital-transfer-design.pl) |
10361
- | [Pendulum Period](https://github.com/eyereasoner/eyeprolog/blob/main/examples/pendulum-period.pl) | Science example: simple pendulum period. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/pendulum-period.pl) |
10362
- | [Radioactive Decay](https://github.com/eyereasoner/eyeprolog/blob/main/examples/radioactive-decay.pl) | Science example: radioactive decay. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/radioactive-decay.pl) |
10363
- | [Spacecraft battery diagnosis](https://github.com/eyereasoner/eyeprolog/blob/main/examples/spacecraft-battery-diagnosis.pl) | Telemetry, `P = I²R`, limits, and redundant sensing support diagnosis and action. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/spacecraft-battery-diagnosis.pl) · [proof](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/spacecraft-battery-diagnosis.pl) |
10364
- | [Statistics summary](https://github.com/eyereasoner/eyeprolog/blob/main/examples/statistics-summary.pl) | Aggregates compute descriptive statistics over a finite list. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/statistics-summary.pl) |
10365
- | [Superdense Coding](https://github.com/eyereasoner/eyeprolog/blob/main/examples/superdense-coding.pl) | Superdense coding using discrete quantum computing, adapted from Eyelet's input/superdense-coding.pl. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/superdense-coding.pl) |
10366
- | [Vector Similarity](https://github.com/eyereasoner/eyeprolog/blob/main/examples/vector-similarity.pl) | Vector dot product, Euclidean norm, and cosine similarity. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/vector-similarity.pl) |
10372
+ | [Bayes Diagnosis](https://github.com/eyereasoner/eyeprolog/blob/main/examples/bayes-diagnosis.pl) | Bayesian diagnosis adapted from Eyeling bayes-diagnosis.n3. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/bayes-diagnosis.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/bayes-diagnosis.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/bayes-diagnosis.pl) |
10373
+ | [Bayes Therapy](https://github.com/eyereasoner/eyeprolog/blob/main/examples/bayes-therapy.pl) | Memoize shared inference layers: the score vector, disease likelihood tails, and expected therapy success are reused by several report relations. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/bayes-therapy.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/bayes-therapy.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/bayes-therapy.pl) |
10374
+ | [Beam deflection](https://github.com/eyereasoner/eyeprolog/blob/main/examples/beam-deflection.pl) | A mechanics equation combines load, geometry, and material parameters. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/beam-deflection.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/beam-deflection.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/beam-deflection.pl) |
10375
+ | [BMI](https://github.com/eyereasoner/eyeprolog/blob/main/examples/bmi.pl) | Metric and US-unit normalization, BMI classification, healthy-weight bands, and audit checks. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/bmi.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/bmi.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/bmi.pl) |
10376
+ | [Braking Safety Worlds](https://github.com/eyereasoner/eyeprolog/blob/main/examples/braking-safety-worlds.pl) | EYE reasoning-inspired example: braking safety in alternative worlds. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/braking-safety-worlds.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/braking-safety-worlds.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/braking-safety-worlds.pl) |
10377
+ | [Buck converter design](https://github.com/eyereasoner/eyeprolog/blob/main/examples/buck-converter-design.pl) | Electrical design candidates are checked against component and performance constraints. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/buck-converter-design.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/buck-converter-design.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/buck-converter-design.pl) |
10378
+ | [Competitive enzyme kinetics](https://github.com/eyereasoner/eyeprolog/blob/main/examples/competitive-enzyme-kinetics.pl) | A biochemical rate law becomes a numeric relational model. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/competitive-enzyme-kinetics.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/competitive-enzyme-kinetics.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/competitive-enzyme-kinetics.pl) |
10379
+ | [Control system](https://github.com/eyereasoner/eyeprolog/blob/main/examples/control-system.pl) | System parameters derive stability- and response-related quantities. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/control-system.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/control-system.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/control-system.pl) |
10380
+ | [Dairy energy balance](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dairy-energy-balance.pl) | Intake and expenditure quantities are combined in an agricultural model. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/dairy-energy-balance.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/dairy-energy-balance.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/dairy-energy-balance.pl) |
10381
+ | [Electrical RC filter](https://github.com/eyereasoner/eyeprolog/blob/main/examples/electrical-rc-filter.pl) | Component values derive circuit behavior under an explicit formula. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/electrical-rc-filter.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/electrical-rc-filter.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/electrical-rc-filter.pl) |
10382
+ | [Epidemic policy](https://github.com/eyereasoner/eyeprolog/blob/main/examples/epidemic-policy.pl) | Observations and thresholds connect a simple epidemic model to policy conclusions. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/epidemic-policy.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/epidemic-policy.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/epidemic-policy.pl) |
10383
+ | [EV Range Worlds](https://github.com/eyereasoner/eyeprolog/blob/main/examples/ev-range-worlds.pl) | EYE-inspired electric-vehicle range worlds. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/ev-range-worlds.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/ev-range-worlds.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/ev-range-worlds.pl) |
10384
+ | [Exoplanet Validation Worlds](https://github.com/eyereasoner/eyeprolog/blob/main/examples/exoplanet-validation-worlds.pl) | EYE reasoning-inspired example: exoplanet candidate validation worlds. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/exoplanet-validation-worlds.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/exoplanet-validation-worlds.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/exoplanet-validation-worlds.pl) |
10385
+ | [FFT-8 Numeric](https://github.com/eyereasoner/eyeprolog/blob/main/examples/fft8-numeric.pl) | An eight-point radix-2 FFT over explicit complex pairs, showing butterflies, twiddle factors, and selected bins. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/fft8-numeric.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/fft8-numeric.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/fft8-numeric.pl) |
10386
+ | [Field nitrogen balance](https://github.com/eyereasoner/eyeprolog/blob/main/examples/field-nitrogen-balance.pl) | Inputs, removal, and losses form a conservation-style accounting relation. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/field-nitrogen-balance.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/field-nitrogen-balance.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/field-nitrogen-balance.pl) |
10387
+ | [GD Step Certified](https://github.com/eyereasoner/eyeprolog/blob/main/examples/gd-step-certified.pl) | A proof-friendly certified gradient-descent step with memoized interval bounds and explicit acceptance evidence. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/gd-step-certified.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/gd-step-certified.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/gd-step-certified.pl) |
10388
+ | [Hamming Code](https://github.com/eyereasoner/eyeprolog/blob/main/examples/hamming-code.pl) | Technology example: Hamming(7,4) single-bit error correction. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/hamming-code.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/hamming-code.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/hamming-code.pl) |
10389
+ | [Heat Loss](https://github.com/eyereasoner/eyeprolog/blob/main/examples/heat-loss.pl) | Engineering example: one-dimensional conductive heat loss through a wall. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/heat-loss.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/heat-loss.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/heat-loss.pl) |
10390
+ | [Ideal Gas Law](https://github.com/eyereasoner/eyeprolog/blob/main/examples/ideal-gas-law.pl) | Science example: ideal gas law. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/ideal-gas-law.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/ideal-gas-law.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/ideal-gas-law.pl) |
10391
+ | [Least-squares regression](https://github.com/eyereasoner/eyeprolog/blob/main/examples/least-squares-regression.pl) | Finite observations are summarized into a fitted linear model. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/least-squares-regression.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/least-squares-regression.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/least-squares-regression.pl) |
10392
+ | [Orbital transfer design](https://github.com/eyereasoner/eyeprolog/blob/main/examples/orbital-transfer-design.pl) | Candidate orbital parameters are evaluated against transfer equations. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/orbital-transfer-design.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/orbital-transfer-design.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/orbital-transfer-design.pl) |
10393
+ | [Pendulum Period](https://github.com/eyereasoner/eyeprolog/blob/main/examples/pendulum-period.pl) | Science example: simple pendulum period. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/pendulum-period.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/pendulum-period.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/pendulum-period.pl) |
10394
+ | [Radioactive Decay](https://github.com/eyereasoner/eyeprolog/blob/main/examples/radioactive-decay.pl) | Science example: radioactive decay. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/radioactive-decay.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/radioactive-decay.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/radioactive-decay.pl) |
10395
+ | [Spacecraft battery diagnosis](https://github.com/eyereasoner/eyeprolog/blob/main/examples/spacecraft-battery-diagnosis.pl) | Telemetry, `P = I²R`, limits, and redundant sensing support diagnosis and action. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/spacecraft-battery-diagnosis.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/spacecraft-battery-diagnosis.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/spacecraft-battery-diagnosis.pl) |
10396
+ | [Statistics summary](https://github.com/eyereasoner/eyeprolog/blob/main/examples/statistics-summary.pl) | Aggregates compute descriptive statistics over a finite list. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/statistics-summary.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/statistics-summary.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/statistics-summary.pl) |
10397
+ | [Superdense Coding](https://github.com/eyereasoner/eyeprolog/blob/main/examples/superdense-coding.pl) | Superdense coding using discrete quantum computing, adapted from Eyelet's input/superdense-coding.pl. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/superdense-coding.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/superdense-coding.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/superdense-coding.pl) |
10398
+ | [Vector Similarity](https://github.com/eyereasoner/eyeprolog/blob/main/examples/vector-similarity.pl) | Vector dot product, Euclidean norm, and cosine similarity. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/vector-similarity.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/vector-similarity.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/vector-similarity.pl) |
10367
10399
 
10368
10400
  For each scientific example, write a five-column audit: quantity, unit, source,
10369
10401
  equation, and approximation. A machine-checked derivation is only as
@@ -10375,15 +10407,15 @@ interpretable as that modeling boundary.
10375
10407
  After the focused examples, these programs are useful for whole-program
10376
10408
  reading. Begin by drawing their predicate dependency layers.
10377
10409
 
10378
- | Program | Why it is a capstone | Checked answer |
10410
+ | Program | Why it is a capstone | Answer · reason · check |
10379
10411
  | --- | --- | --- |
10380
- | [AuroraCare](https://github.com/eyereasoner/eyeprolog/blob/main/examples/auroracare.pl) | A large healthcare-oriented knowledge theory combines many domain concepts and decisions. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/auroracare.pl) |
10381
- | [Basic monadic](https://github.com/eyereasoner/eyeprolog/blob/main/examples/basic-monadic.pl) | A large generated symbolic theory stresses parsing, terms, and relational execution. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/basic-monadic.pl) |
10382
- | [Delfour](https://github.com/eyereasoner/eyeprolog/blob/main/examples/delfour.pl) | Delfour insight-economy case adapted from Eyeling delfour.n3. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/delfour.pl) |
10383
- | [Flandor](https://github.com/eyereasoner/eyeprolog/blob/main/examples/flandor.pl) | A broad rule set provides practice navigating a less tutorial-shaped theory. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/flandor.pl) |
10384
- | [Knowledge-engineering alignment flow](https://github.com/eyereasoner/eyeprolog/blob/main/examples/knowledge-engineering-alignment-flow.pl) | Source concepts, mappings, validation, and derived alignment are kept in explicit layers. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/knowledge-engineering-alignment-flow.pl) |
10385
- | [LLDM](https://github.com/eyereasoner/eyeprolog/blob/main/examples/lldm.pl) | A larger logical model demonstrates layered derivation over substantial source data. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/lldm.pl) |
10386
- | [Manufacturing quality control](https://github.com/eyereasoner/eyeprolog/blob/main/examples/manufacturing-quality-control.pl) | Measurements, limits, classifications, and actions form an auditable industrial decision. | [answers](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/manufacturing-quality-control.pl) |
10412
+ | [AuroraCare](https://github.com/eyereasoner/eyeprolog/blob/main/examples/auroracare.pl) | A large healthcare-oriented knowledge theory combines many domain concepts and decisions. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/auroracare.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/auroracare.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/auroracare.pl) |
10413
+ | [Basic monadic](https://github.com/eyereasoner/eyeprolog/blob/main/examples/basic-monadic.pl) | A large generated symbolic theory stresses parsing, terms, and relational execution. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/basic-monadic.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/basic-monadic.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/basic-monadic.pl) |
10414
+ | [Delfour](https://github.com/eyereasoner/eyeprolog/blob/main/examples/delfour.pl) | Delfour insight-economy case adapted from Eyeling delfour.n3. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/delfour.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/delfour.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/delfour.pl) |
10415
+ | [Flandor](https://github.com/eyereasoner/eyeprolog/blob/main/examples/flandor.pl) | A broad rule set provides practice navigating a less tutorial-shaped theory. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/flandor.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/flandor.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/flandor.pl) |
10416
+ | [Knowledge-engineering alignment flow](https://github.com/eyereasoner/eyeprolog/blob/main/examples/knowledge-engineering-alignment-flow.pl) | Source concepts, mappings, validation, and derived alignment are kept in explicit layers. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/knowledge-engineering-alignment-flow.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/knowledge-engineering-alignment-flow.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/knowledge-engineering-alignment-flow.pl) |
10417
+ | [LLDM](https://github.com/eyereasoner/eyeprolog/blob/main/examples/lldm.pl) | A larger logical model demonstrates layered derivation over substantial source data. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/lldm.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/lldm.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/lldm.pl) |
10418
+ | [Manufacturing quality control](https://github.com/eyereasoner/eyeprolog/blob/main/examples/manufacturing-quality-control.pl) | Measurements, limits, classifications, and actions form an auditable industrial decision. | [answer](https://github.com/eyereasoner/eyeprolog/blob/main/examples/output/manufacturing-quality-control.pl) · [reason](https://github.com/eyereasoner/eyeprolog/blob/main/examples/proof/manufacturing-quality-control.pl) · [check](https://github.com/eyereasoner/eyeprolog/blob/main/examples/check/manufacturing-quality-control.pl) |
10387
10419
 
10388
10420
  Do not read a capstone from the first line to the last as if it were prose.
10389
10421
  Start at the supplied goal, find its predicate heads, follow their dependencies