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 +1 -1
- package/the-art-of-eyeprolog.md +271 -239
package/package.json
CHANGED
package/the-art-of-eyeprolog.md
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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
|
-
- **
|
|
9995
|
-
|
|
9996
|
-
|
|
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 |
|
|
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. | [
|
|
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. | [
|
|
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`. | [
|
|
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. | [
|
|
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`. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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`. | [
|
|
10034
|
-
| [Floating Point](https://github.com/eyereasoner/eyeprolog/blob/main/examples/floating-point.pl) | Floating-point arithmetic and comparisons. | [
|
|
10035
|
-
| [Atomic conversion](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-atomic-conversion.pl) | Atom splitting, character atoms, Unicode codes, and numeric parsing. | [
|
|
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`. | [
|
|
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. | [
|
|
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. | [
|
|
10039
|
-
| [Dynamic database](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-dynamic-database.pl) | Initialization and ordered updates to a declared dynamic procedure. | [
|
|
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`. | [
|
|
10041
|
-
| [Integer arithmetic](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-integer-arithmetic.pl) | Integer quotient/remainder choices plus bit operations. | [
|
|
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. | [
|
|
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)`. | [
|
|
10044
|
-
| [Operators](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-operators.pl) | Custom syntax, standard term order, and operator-table inspection. | [
|
|
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. | [
|
|
10046
|
-
| [Reflective terms](https://github.com/eyereasoner/eyeprolog/blob/main/examples/iso-reflective-terms.pl) | Term shape, construction, copying, variables, identity, and standard order. | [
|
|
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. | [
|
|
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. | [
|
|
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 |
|
|
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. | [
|
|
10061
|
-
| [Ancestor](https://github.com/eyereasoner/eyeprolog/blob/main/examples/ancestor.pl) | The canonical base-plus-recursive definition computes a transitive family relation. | [
|
|
10062
|
-
| [Animal](https://github.com/eyereasoner/eyeprolog/blob/main/examples/animal.pl) | Several clauses form a small classification theory with inspectable reasons. | [
|
|
10063
|
-
| [Annotation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/annotation.pl) | Terms attach descriptive data while the logical relation remains ordinary. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
10067
|
-
| [Dog](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dog.pl) | A compact inheritance chain shows how intermediate concepts appear in a proof. | [
|
|
10068
|
-
| [Existential rule](https://github.com/eyereasoner/eyeprolog/blob/main/examples/existential-rule.pl) | Structured Herbrand terms carry explicit generated witnesses. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
10073
|
-
| [Skolem Functions](https://github.com/eyereasoner/eyeprolog/blob/main/examples/skolem-functions.pl) | Skolem functional terms in rule heads. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
10077
|
-
| [Witch](https://github.com/eyereasoner/eyeprolog/blob/main/examples/witch.pl) | Burn the witch, adapted from Eyeling's examples/witch.n3. | [
|
|
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 |
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
10097
|
-
| [Family cousins](https://github.com/eyereasoner/eyeprolog/blob/main/examples/family-cousins.pl) | Several relational joins derive kinship beyond a simple transitive closure. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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 |
|
|
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`. | [
|
|
10116
|
-
| [Dijkstra](https://github.com/eyereasoner/eyeprolog/blob/main/examples/dijkstra.pl) | Weighted path enumeration adapted from Eyeling dijkstra.n3. | [
|
|
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. | [
|
|
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`. | [
|
|
10119
|
-
| [Eulerian path](https://github.com/eyereasoner/eyeprolog/blob/main/examples/eulerian-path.pl) | The state tracks remaining edges rather than merely visited vertices. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
10127
|
-
| [Register allocation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/register-allocation.pl) | Interference constraints turn compiler allocation into graph coloring. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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 |
|
|
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. | [
|
|
10147
|
-
| [Blocks world](https://github.com/eyereasoner/eyeprolog/blob/main/examples/blocks-world-planning.pl) | Symbolic actions transform a compact arrangement of blocks. | [
|
|
10148
|
-
| [Critical-path schedule](https://github.com/eyereasoner/eyeprolog/blob/main/examples/critical-path-schedule.pl) | Dependency closure and duration arithmetic derive project timing. | [
|
|
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. | [
|
|
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. | [
|
|
10151
|
-
| [Drone corridor planner](https://github.com/eyereasoner/eyeprolog/blob/main/examples/drone-corridor-planner.pl) | Route feasibility combines graph structure with domain restrictions. | [
|
|
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. | [
|
|
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. | [
|
|
10154
|
-
| [Hanoi](https://github.com/eyereasoner/eyeprolog/blob/main/examples/hanoi.pl) | A recursive plan mirrors the inductive structure of moving a tower. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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 |
|
|
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`. | [
|
|
10178
|
-
| [Binomial Vandermonde](https://github.com/eyereasoner/eyeprolog/blob/main/examples/binomial-vandermonde.pl) | Two finite sums compute the sides of Vandermonde's identity. | [
|
|
10179
|
-
| [Catalan convolution](https://github.com/eyereasoner/eyeprolog/blob/main/examples/catalan-convolution.pl) | A classic convolution identity is evaluated over a bounded range. | [
|
|
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. | [
|
|
10181
|
-
| [Complex](https://github.com/eyereasoner/eyeprolog/blob/main/examples/complex.pl) | Complex numbers, adapted from Eyeling complex.n3. | [
|
|
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. | [
|
|
10183
|
-
| [Continued Fraction Sqrt2](https://github.com/eyereasoner/eyeprolog/blob/main/examples/continued-fraction-sqrt2.pl) | Convergents of sqrt(2) by explicitly tabled recurrence. | [
|
|
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. | [
|
|
10185
|
-
| [Diamond Property](https://github.com/eyereasoner/eyeprolog/blob/main/examples/diamond-property.pl) | Diamond property, adapted from Eyelet's input/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. | [
|
|
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. | [
|
|
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. | [
|
|
10189
|
-
| [Fibonacci](https://github.com/eyereasoner/eyeprolog/blob/main/examples/fibonacci.pl) | A recurrence becomes an executable relation with a visibly decreasing argument. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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)). | [
|
|
10195
|
-
| [Integer partitions](https://github.com/eyereasoner/eyeprolog/blob/main/examples/integer-partitions.pl) | Recursive generation constructs unordered additive decompositions without permutation duplicates. | [
|
|
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). | [
|
|
10197
|
-
| [Matrix noncommutativity](https://github.com/eyereasoner/eyeprolog/blob/main/examples/matrix-noncommutativity.pl) | Two concrete products provide a counterexample to universal commutativity. | [
|
|
10198
|
-
| [Modular exponentiation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/modular-exponentiation.pl) | Intermediate reduction preserves the residue while controlling numeric growth. | [
|
|
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. | [
|
|
10200
|
-
| [Peano arithmetic](https://github.com/eyereasoner/eyeprolog/blob/main/examples/peano-arithmetic.pl) | Explicit natural-number terms support arithmetic relations and structural recursion. | [
|
|
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`. | [
|
|
10202
|
-
| [Peasant](https://github.com/eyereasoner/eyeprolog/blob/main/examples/peasant.pl) | Peasant multiplication and exponentiation cases, adapted from Eyelet. | [
|
|
10203
|
-
| [Pell equation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/pell-equation.pl) | Bounded generation searches for integer witnesses to a Diophantine equation. | [
|
|
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. | [
|
|
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. | [
|
|
10206
|
-
| [Quadratic Formula](https://github.com/eyereasoner/eyeprolog/blob/main/examples/quadratic-formula.pl) | Quadratic formula over sample equations. | [
|
|
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. | [
|
|
10208
|
-
| [Shoelace Polygon Area](https://github.com/eyereasoner/eyeprolog/blob/main/examples/shoelace-polygon-area.pl) | Polygon area by the shoelace formula. | [
|
|
10209
|
-
| [Sieve](https://github.com/eyereasoner/eyeprolog/blob/main/examples/sieve.pl) | List filtering presents a different operational route to finite prime generation. | [
|
|
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. | [
|
|
10211
|
-
| [Takeuchi](https://github.com/eyereasoner/eyeprolog/blob/main/examples/takeuchi.pl) | The Takeuchi function as a demanding nested-recursion benchmark. | [
|
|
10212
|
-
| [Totient summatory function](https://github.com/eyereasoner/eyeprolog/blob/main/examples/totient-summatory.pl) | Divisibility, coprimality, counting, and summation compose over finite domains. | [
|
|
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 |
|
|
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. | [
|
|
10227
|
-
| [Chart parser](https://github.com/eyereasoner/eyeprolog/blob/main/examples/chart-parser.pl) | Shared chart items prevent grammatical subproblems from being rediscovered independently. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
10231
|
-
| [Expression evaluator](https://github.com/eyereasoner/eyeprolog/blob/main/examples/expression-eval.pl) | Arithmetic expression trees are interpreted under an explicit environment. | [
|
|
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. | [
|
|
10233
|
-
| [Intuitionistic Logic Kripke](https://github.com/eyereasoner/eyeprolog/blob/main/examples/intuitionistic-logic-kripke.pl) | Intuitionistic logic emulation with a finite Kripke model. | [
|
|
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. | [
|
|
10235
|
-
| [Language](https://github.com/eyereasoner/eyeprolog/blob/main/examples/language.pl) | A small grammar recognizes a finite relational language. | [
|
|
10236
|
-
| [Linear Logic Resources](https://github.com/eyereasoner/eyeprolog/blob/main/examples/linear-logic-resources.pl) | Linear logic emulation with explicit consumable resources. | [
|
|
10237
|
-
| [Modal Logic Kripke](https://github.com/eyereasoner/eyeprolog/blob/main/examples/modal-logic-kripke.pl) | Modal logic emulation with a finite Kripke frame. | [
|
|
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. | [
|
|
10239
|
-
| [Polynomial](https://github.com/eyereasoner/eyeprolog/blob/main/examples/polynomial.pl) | Structured coefficients and powers support symbolic polynomial operations. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
10244
|
-
| [Turing machine](https://github.com/eyereasoner/eyeprolog/blob/main/examples/turing.pl) | Machine configuration terms and transition rules expose a classical computation model. | [
|
|
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 |
|
|
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. | [
|
|
10259
|
-
| [Cache performance](https://github.com/eyereasoner/eyeprolog/blob/main/examples/cache-performance.pl) | Configuration and workload facts derive performance classifications and reasons. | [
|
|
10260
|
-
| [Canary release](https://github.com/eyereasoner/eyeprolog/blob/main/examples/canary-release.pl) | Observations and thresholds support a deployment decision with auditable evidence. | [
|
|
10261
|
-
| [Network SLA](https://github.com/eyereasoner/eyeprolog/blob/main/examples/network-sla.pl) | Technology example: network path SLA check. | [
|
|
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. | [
|
|
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. | [
|
|
10264
|
-
| [Register allocation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/register-allocation.pl) | Liveness interference becomes a finite coloring problem. | [
|
|
10265
|
-
| [Relational Cube Lookup](https://github.com/eyereasoner/eyeprolog/blob/main/examples/relational-cube-lookup.pl) | Performance example: repeated multi-key relational lookups. | [
|
|
10266
|
-
| [Security incident correlation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/security-incident-correlation.pl) | Distributed observations combine into incident conclusions. | [
|
|
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. | [
|
|
10268
|
-
| [Type inference](https://github.com/eyereasoner/eyeprolog/blob/main/examples/type-inference.pl) | Structural unification solves type constraints for a tiny expression language. | [
|
|
10269
|
-
| [Vulnerability Impact](https://github.com/eyereasoner/eyeprolog/blob/main/examples/vulnerability-impact.pl) | Vulnerability impact analysis over a transitive dependency graph. | [
|
|
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 |
|
|
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. | [
|
|
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. | [
|
|
10284
|
-
| [Data negotiation](https://github.com/eyereasoner/eyeprolog/blob/main/examples/data-negotiation.pl) | Offered and required data conditions derive an agreement or mismatch. | [
|
|
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. | [
|
|
10286
|
-
| [Deontic Logic](https://github.com/eyereasoner/eyeprolog/blob/main/examples/deontic-logic.pl) | Deontic logic: obligations, prohibitions, compensations, and violations. | [
|
|
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. | [
|
|
10288
|
-
| [GDPR compliance](https://github.com/eyereasoner/eyeprolog/blob/main/examples/gdpr-compliance.pl) | Purpose, basis, and processing facts support compliance conclusions. | [
|
|
10289
|
-
| [Illegitimate Reasoning](https://github.com/eyereasoner/eyeprolog/blob/main/examples/illegitimate-reasoning.pl) | Illegitimate reasoning detector. | [
|
|
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. | [
|
|
10291
|
-
| [Nixon Diamond](https://github.com/eyereasoner/eyeprolog/blob/main/examples/nixon-diamond.pl) | Nixon diamond: two independent defaults support incompatible conclusions. | [
|
|
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. | [
|
|
10293
|
-
| [Workplace compliance](https://github.com/eyereasoner/eyeprolog/blob/main/examples/workplace-compliance.pl) | Training, role, and workplace conditions feed a compact compliance theory. | [
|
|
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 |
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
10317
|
-
| [ODRL policy](https://github.com/eyereasoner/eyeprolog/blob/main/examples/odrl-policy.pl) | Read one purpose-constrained permission from an ODRL policy graph. | [
|
|
10318
|
-
| [Advanced ODRL policy](https://github.com/eyereasoner/eyeprolog/blob/main/examples/odrl-policy-advanced.pl) | Evaluate permission, duty, constraint failure, and prohibition outcomes. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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 |
|
|
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. | [
|
|
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. | [
|
|
10342
|
-
| [Beam deflection](https://github.com/eyereasoner/eyeprolog/blob/main/examples/beam-deflection.pl) | A mechanics equation combines load, geometry, and material parameters. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
10347
|
-
| [Control system](https://github.com/eyereasoner/eyeprolog/blob/main/examples/control-system.pl) | System parameters derive stability- and response-related quantities. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
10351
|
-
| [EV Range Worlds](https://github.com/eyereasoner/eyeprolog/blob/main/examples/ev-range-worlds.pl) | EYE-inspired electric-vehicle range worlds. | [
|
|
10352
|
-
| [Exoplanet Validation Worlds](https://github.com/eyereasoner/eyeprolog/blob/main/examples/exoplanet-validation-worlds.pl) | EYE reasoning-inspired example: exoplanet candidate validation worlds. | [
|
|
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. | [
|
|
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. | [
|
|
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. | [
|
|
10356
|
-
| [Hamming Code](https://github.com/eyereasoner/eyeprolog/blob/main/examples/hamming-code.pl) | Technology example: Hamming(7,4) single-bit error correction. | [
|
|
10357
|
-
| [Heat Loss](https://github.com/eyereasoner/eyeprolog/blob/main/examples/heat-loss.pl) | Engineering example: one-dimensional conductive heat loss through a wall. | [
|
|
10358
|
-
| [Ideal Gas Law](https://github.com/eyereasoner/eyeprolog/blob/main/examples/ideal-gas-law.pl) | Science example: ideal gas law. | [
|
|
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. | [
|
|
10360
|
-
| [Orbital transfer design](https://github.com/eyereasoner/eyeprolog/blob/main/examples/orbital-transfer-design.pl) | Candidate orbital parameters are evaluated against transfer equations. | [
|
|
10361
|
-
| [Pendulum Period](https://github.com/eyereasoner/eyeprolog/blob/main/examples/pendulum-period.pl) | Science example: simple pendulum period. | [
|
|
10362
|
-
| [Radioactive Decay](https://github.com/eyereasoner/eyeprolog/blob/main/examples/radioactive-decay.pl) | Science example: radioactive decay. | [
|
|
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. | [
|
|
10364
|
-
| [Statistics summary](https://github.com/eyereasoner/eyeprolog/blob/main/examples/statistics-summary.pl) | Aggregates compute descriptive statistics over a finite list. | [
|
|
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. | [
|
|
10366
|
-
| [Vector Similarity](https://github.com/eyereasoner/eyeprolog/blob/main/examples/vector-similarity.pl) | Vector dot product, Euclidean norm, and cosine similarity. | [
|
|
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 |
|
|
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. | [
|
|
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. | [
|
|
10382
|
-
| [Delfour](https://github.com/eyereasoner/eyeprolog/blob/main/examples/delfour.pl) | Delfour insight-economy case adapted from Eyeling delfour.n3. | [
|
|
10383
|
-
| [Flandor](https://github.com/eyereasoner/eyeprolog/blob/main/examples/flandor.pl) | A broad rule set provides practice navigating a less tutorial-shaped theory. | [
|
|
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. | [
|
|
10385
|
-
| [LLDM](https://github.com/eyereasoner/eyeprolog/blob/main/examples/lldm.pl) | A larger logical model demonstrates layered derivation over substantial source data. | [
|
|
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. | [
|
|
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
|