eyeprolog 1.4.3 → 1.4.5

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/README.md CHANGED
@@ -65,7 +65,8 @@ printf 'human(socrates).\nmortal(X) :- human(X).\n' |
65
65
  - [Playground](https://eyereasoner.github.io/eyeprolog/playground) — run EyeProlog in a browser
66
66
  - [Examples](examples) — runnable programs and checked output
67
67
  - [Example decks](examples/deck/README.md) — explainable RDF/Prolog scenarios with reproducible roundtrips
68
- - [Symbiotic Knowledge Graphs](examples/deck/symbiotic-knowledge-graphs.md) — RDF ↔ Prolog heatwave-response demo for human/AI/KG co-evolution
68
+ - [Introduction to EyeProlog](https://eyereasoner.github.io/eyeprolog/examples/deck/introduction-to-eyeprolog) — short presentation deck for first-time audiences
69
+ - [Symbiotic Knowledge Graphs](https://eyereasoner.github.io/eyeprolog/examples/deck/symbiotic-knowledge-graphs) — RDF ↔ Prolog heatwave-response demo for human/AI/KG co-evolution
69
70
  - [rdf-prolog-roundtrip](https://github.com/eyereasoner/rdf-prolog-roundtrip) — standalone RDF 1.2 ↔ ISO Prolog bridge used by the RDF examples
70
71
  - [ISO conformance audit](test/conformance/ISO-COMPLIANCE.md) — supported Part 1 profile
71
72
  - [Conformance report](conformance-report.md) — generated executable conformance status and corpus summary
@@ -75,9 +76,9 @@ printf 'human(socrates).\nmortal(X) :- human(X).\n' |
75
76
 
76
77
  EyeProlog can sit behind an RDF knowledge graph without inventing a private graph representation. [`rdf-prolog-roundtrip`](https://github.com/eyereasoner/rdf-prolog-roundtrip) converts RDF 1.2 datasets to ordinary `rdf(Subject, Predicate, Object, Graph)` facts, EyeProlog applies portable rules, and ground `rdf/4` results can be converted back to RDF.
77
78
 
78
- The checked [Symbiotic Knowledge Graphs example](examples/symbiotic-knowledge-graph.pl) uses named graphs and RDF 1.2 triple terms to distinguish trusted knowledge, AI-proposed statements, and human review. Its [wide-audience companion](examples/deck/symbiotic-knowledge-graphs.md) explains why this is a useful present-day software model for human/AI/KG co-evolution: RDF supplies shared semantic memory, Prolog supplies explicit deliberation, AI supplies new hypotheses, and people remain participants in meaning and judgment.
79
+ The checked [Symbiotic Knowledge Graphs example](examples/symbiotic-knowledge-graph.pl) uses named graphs and RDF 1.2 triple terms to distinguish trusted knowledge, AI-proposed statements, and human review. Its [wide-audience companion](https://eyereasoner.github.io/eyeprolog/examples/deck/symbiotic-knowledge-graphs) explains why this is a useful present-day software model for human/AI/KG co-evolution: RDF supplies shared semantic memory, Prolog supplies explicit deliberation, AI supplies new hypotheses, and people remain participants in meaning and judgment.
79
80
 
80
- The same RDF → Prolog → RDF boundary is exercised by five additional checked scenarios: [cross-organization data sharing](examples/deck/cross-organization-data-sharing.md), [explainable EV-depot configuration](examples/deck/explainable-ev-depot-configuration.md), [operational incident response](examples/deck/operational-incident-response.md), [software supply-chain vulnerability response](examples/deck/sbom-vulnerability-response.md), and a [scientific evidence graph](examples/deck/scientific-evidence-graph.md). Together they cover policy decisions, reversible configuration reasoning, dependency-graph diagnosis, transitive SBOM exposure, and evidence aggregation with explicit disagreement.
81
+ The same RDF → Prolog → RDF boundary is exercised by five additional checked scenarios: [cross-organization data sharing](https://eyereasoner.github.io/eyeprolog/examples/deck/cross-organization-data-sharing), [explainable EV-depot configuration](https://eyereasoner.github.io/eyeprolog/examples/deck/explainable-ev-depot-configuration), [operational incident response](https://eyereasoner.github.io/eyeprolog/examples/deck/operational-incident-response), [software supply-chain vulnerability response](https://eyereasoner.github.io/eyeprolog/examples/deck/sbom-vulnerability-response), and a [scientific evidence graph](https://eyereasoner.github.io/eyeprolog/examples/deck/scientific-evidence-graph). Together they cover policy decisions, reversible configuration reasoning, dependency-graph diagnosis, transitive SBOM exposure, and evidence aggregation with explicit disagreement.
81
82
 
82
83
  ## Development
83
84
 
@@ -2,10 +2,11 @@
2
2
 
3
3
  Wide-audience companion explanations for selected runnable examples.
4
4
 
5
- - [Cross-organization data sharing](cross-organization-data-sharing.md) — ODRL/DPV sharing decisions with permit, deny, review, safeguards, and obligations.
6
- - [Explainable EV-depot configuration](explainable-ev-depot-configuration.md) — reversible configuration rules that select a charger, explain blockers, and derive required changes.
7
- - [ODRL policy reasoning](odrl-policy-reasoning.md) — permissions, prohibitions, duties, conflicts, and defaults.
8
- - [Operational incident response](operational-incident-response.md) — topology-aware root-cause, impact, evidence-chain, and safe-mitigation reasoning.
9
- - [SBOM vulnerability response](sbom-vulnerability-response.md) — transitive exposure paths, severity policy, waivers, deployment decisions, and upgrade actions.
10
- - [Scientific evidence graph](scientific-evidence-graph.md) — RDF 1.2 claims, provenance, evidence quality, corroboration, and explicit disagreement.
11
- - [Symbiotic Knowledge Graphs](symbiotic-knowledge-graphs.md) — a real-world RDF → Prolog → RDF heatwave-response loop in which AI proposes, explicit rules govern, people review, and accepted knowledge improves later decisions.
5
+ - [Introduction to EyeProlog](https://eyereasoner.github.io/eyeprolog/examples/deck/introduction-to-eyeprolog) — a short slide deck introducing facts, rules, answers, proofs, ISO conformance, JavaScript embedding, and RDF roundtrips.
6
+ - [Cross-organization data sharing](https://eyereasoner.github.io/eyeprolog/examples/deck/cross-organization-data-sharing) — ODRL/DPV sharing decisions with permit, deny, review, safeguards, and obligations.
7
+ - [Explainable EV-depot configuration](https://eyereasoner.github.io/eyeprolog/examples/deck/explainable-ev-depot-configuration) — reversible configuration rules that select a charger, explain blockers, and derive required changes.
8
+ - [ODRL policy reasoning](https://eyereasoner.github.io/eyeprolog/examples/deck/odrl-policy-reasoning) — permissions, prohibitions, duties, conflicts, and defaults.
9
+ - [Operational incident response](https://eyereasoner.github.io/eyeprolog/examples/deck/operational-incident-response) — topology-aware root-cause, impact, evidence-chain, and safe-mitigation reasoning.
10
+ - [SBOM vulnerability response](https://eyereasoner.github.io/eyeprolog/examples/deck/sbom-vulnerability-response) — transitive exposure paths, severity policy, waivers, deployment decisions, and upgrade actions.
11
+ - [Scientific evidence graph](https://eyereasoner.github.io/eyeprolog/examples/deck/scientific-evidence-graph) — RDF 1.2 claims, provenance, evidence quality, corroboration, and explicit disagreement.
12
+ - [Symbiotic Knowledge Graphs](https://eyereasoner.github.io/eyeprolog/examples/deck/symbiotic-knowledge-graphs) — a real-world RDF → Prolog → RDF heatwave-response loop in which AI proposes, explicit rules govern, people review, and accepted knowledge improves later decisions.
@@ -0,0 +1,209 @@
1
+ ---
2
+ marp: true
3
+ title: Introduction to EyeProlog
4
+ description: A short presentation introducing EyeProlog as a portable, inspectable ISO Prolog engine for answers, proofs, and RDF-backed reasoning.
5
+ ---
6
+
7
+ # Introduction to EyeProlog
8
+
9
+ Portable Prolog reasoning for answers, proofs, and knowledge graphs
10
+
11
+ ---
12
+
13
+ ## What is EyeProlog?
14
+
15
+ EyeProlog is a small ISO Prolog implementation for JavaScript.
16
+
17
+ It turns explicit facts and rules into:
18
+
19
+ - answers;
20
+ - variable bindings;
21
+ - checked example output;
22
+ - optional proof traces;
23
+ - embeddable reasoning in Node.js and browsers.
24
+
25
+ ---
26
+
27
+ ## Why Prolog?
28
+
29
+ Prolog is a language for relations.
30
+
31
+ Instead of spelling out every control step, you describe what must hold:
32
+
33
+ ```prolog
34
+ human(socrates).
35
+ mortal(X) :- human(X).
36
+ ```
37
+
38
+ Then you ask questions:
39
+
40
+ ```prolog
41
+ ?- mortal(socrates).
42
+ true.
43
+ ```
44
+
45
+ ---
46
+
47
+ ## The core idea
48
+
49
+ ```text
50
+ facts + rules + query
51
+ |
52
+ v
53
+ search by unification
54
+ |
55
+ v
56
+ answers with reasons
57
+ ```
58
+
59
+ The same rule can answer a yes/no question, enumerate solutions, or participate in a larger proof.
60
+
61
+ ---
62
+
63
+ ## Quick start
64
+
65
+ Run EyeProlog without a global install:
66
+
67
+ ```sh
68
+ npx --yes eyeprolog
69
+ ```
70
+
71
+ Try a list query:
72
+
73
+ ```prolog
74
+ ?- use_module(library(lists)).
75
+ true.
76
+ ?- member(X, [prolog, logic]).
77
+ X = prolog
78
+ ; X = logic.
79
+ ```
80
+
81
+ ---
82
+
83
+ ## Programs are ordinary text
84
+
85
+ A file can contain facts, rules, and goals:
86
+
87
+ ```prolog
88
+ human(socrates).
89
+ mortal(X) :- human(X).
90
+
91
+ ?- mortal(X).
92
+ ```
93
+
94
+ Run it:
95
+
96
+ ```sh
97
+ eyeprolog examples/socrates.pl
98
+ ```
99
+
100
+ ---
101
+
102
+ ## Proofs are first-class
103
+
104
+ EyeProlog can show not only *what* was concluded, but *why*.
105
+
106
+ ```sh
107
+ eyeprolog --proof examples/socrates.pl
108
+ ```
109
+
110
+ Proof output is useful for:
111
+
112
+ - debugging rules;
113
+ - explaining decisions;
114
+ - regression tests;
115
+ - audit trails.
116
+
117
+ ---
118
+
119
+ ## ISO first, extensions visible
120
+
121
+ EyeProlog starts from ISO/IEC 13211-1 Prolog.
122
+
123
+ That matters because facts, rules, terms, control, errors, streams, arithmetic, and meta-calls have an external reference point.
124
+
125
+ Normal mode adds practical libraries and embedding features. Strict ISO mode keeps the standardized core separate and testable.
126
+
127
+ ---
128
+
129
+ ## Why JavaScript?
130
+
131
+ EyeProlog runs where modern applications already run:
132
+
133
+ - command-line tools;
134
+ - npm packages;
135
+ - browser playgrounds;
136
+ - web workers;
137
+ - JavaScript APIs.
138
+
139
+ The aim is not to replace every Prolog system. It is to make portable Prolog reasoning easy to embed and inspect.
140
+
141
+ ---
142
+
143
+ ## RDF and knowledge graphs
144
+
145
+ EyeProlog pairs naturally with RDF through `rdf-prolog-roundtrip`:
146
+
147
+ ```text
148
+ RDF dataset
149
+ -> rdf(S, P, O, Graph) facts
150
+ -> EyeProlog rules
151
+ -> result_rdf/4 facts
152
+ -> RDF dataset
153
+ ```
154
+
155
+ RDF remains the interchange layer. Prolog remains the transparent reasoning layer.
156
+
157
+ ---
158
+
159
+ ## What this enables
160
+
161
+ The example suite uses the same pattern for:
162
+
163
+ - policy decisions;
164
+ - incident response;
165
+ - software supply-chain risk;
166
+ - scientific evidence assessment;
167
+ - EV-depot configuration;
168
+ - symbiotic human/AI/knowledge-graph workflows.
169
+
170
+ Each scenario keeps data, rules, answers, and materialized results as separate inspectable artifacts.
171
+
172
+ ---
173
+
174
+ ## Testing and conformance
175
+
176
+ EyeProlog’s release gate includes:
177
+
178
+ - file-based conformance cases;
179
+ - strict ISO tests;
180
+ - WG17 syntax cases;
181
+ - regression tests;
182
+ - runnable examples;
183
+ - proof examples;
184
+ - documentation synchronization checks.
185
+
186
+ The point is simple: behavior should be reproducible, not anecdotal.
187
+
188
+ ---
189
+
190
+ ## When EyeProlog fits
191
+
192
+ EyeProlog is a good fit when a project needs:
193
+
194
+ - explicit rules;
195
+ - inspectable conclusions;
196
+ - portable Prolog syntax;
197
+ - embeddable JavaScript runtime;
198
+ - checked examples and proofs;
199
+ - a clean boundary between data, rules, and results.
200
+
201
+ ---
202
+
203
+ ## Where to go next
204
+
205
+ - Read [project README](https://github.com/eyereasoner/eyeprolog#readme) for setup and links.
206
+ - Read [Why EyeProlog?](https://eyereasoner.github.io/eyeprolog/why-eyeprolog) for the design motivation.
207
+ - Open [EyeProlog playground](https://eyereasoner.github.io/eyeprolog/playground) to run examples in a browser.
208
+ - Explore [runnable examples](https://github.com/eyereasoner/eyeprolog/tree/main/examples) for runnable programs.
209
+ - Read [The Art of EyeProlog](https://eyereasoner.github.io/eyeprolog/the-art-of-eyeprolog) for the full reference.
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.4.3",
6
+ "version": "1.4.5",
7
7
  "description": "EyeProlog turns facts and rules into answers and proofs.",
8
8
  "type": "module",
9
9
  "main": "./index.js",