eyeling 1.24.0 → 1.24.1
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 +4 -4
- package/package.json +1 -1
- package/see/README.md +10 -11
- package/see/examples/age.js +10 -10
- package/see/examples/annotation.js +10 -10
- package/see/examples/backward.js +10 -10
- package/see/examples/backward_recursion.js +10 -10
- package/see/examples/bayes_diagnosis.js +10 -10
- package/see/examples/bayes_therapy.js +10 -10
- package/see/examples/bmi.js +10 -10
- package/see/examples/builtin_coverage.js +10 -10
- package/see/examples/collection.js +10 -10
- package/see/examples/complex.js +10 -10
- package/see/examples/complex_matrix_stability.js +10 -10
- package/see/examples/composition_of_injective_functions_is_injective.js +10 -10
- package/see/examples/control_system.js +10 -10
- package/see/examples/crypto_builtins_tests.js +10 -10
- package/see/examples/delfour.js +10 -10
- package/see/examples/digital_product_passport.js +10 -10
- package/see/examples/dijkstra.js +10 -10
- package/see/examples/dijkstra_risk_path.js +10 -10
- package/see/examples/doc/age.md +1 -1
- package/see/examples/doc/annotation.md +1 -1
- package/see/examples/doc/backward.md +1 -1
- package/see/examples/doc/backward_recursion.md +1 -1
- package/see/examples/doc/bayes_diagnosis.md +1 -1
- package/see/examples/doc/bayes_therapy.md +1 -1
- package/see/examples/doc/bmi.md +1 -1
- package/see/examples/doc/builtin_coverage.md +1 -1
- package/see/examples/doc/collection.md +1 -1
- package/see/examples/doc/complex.md +1 -1
- package/see/examples/doc/complex_matrix_stability.md +1 -1
- package/see/examples/doc/composition_of_injective_functions_is_injective.md +1 -1
- package/see/examples/doc/control_system.md +1 -1
- package/see/examples/doc/crypto_builtins_tests.md +1 -1
- package/see/examples/doc/delfour.md +1 -1
- package/see/examples/doc/digital_product_passport.md +1 -1
- package/see/examples/doc/dijkstra.md +1 -1
- package/see/examples/doc/dijkstra_risk_path.md +1 -1
- package/see/examples/doc/dog.md +1 -1
- package/see/examples/doc/eco_route_insight.md +1 -1
- package/see/examples/doc/equals.md +1 -1
- package/see/examples/doc/equivalence_classes_overlap_implies_same_class.md +1 -1
- package/see/examples/doc/euler_identity.md +1 -1
- package/see/examples/doc/ev_roundtrip_planner.md +1 -1
- package/see/examples/doc/existential_rule.md +1 -1
- package/see/examples/doc/expression_eval.md +1 -1
- package/see/examples/doc/family_cousins.md +1 -1
- package/see/examples/doc/fastpow.md +1 -1
- package/see/examples/doc/fibonacci.md +1 -1
- package/see/examples/doc/french_cities.md +1 -1
- package/see/examples/doc/fundamental_theorem_arithmetic.md +1 -1
- package/see/examples/doc/genetic_knapsack_selection.md +1 -1
- package/see/examples/doc/goldbach_1000.md +1 -1
- package/see/examples/doc/good_cobbler.md +1 -1
- package/see/examples/doc/gps.md +1 -1
- package/see/examples/doc/gray_code_counter.md +1 -1
- package/see/examples/doc/greatest_lower_bound_uniqueness.md +1 -1
- package/see/examples/doc/group_inverse_uniqueness.md +1 -1
- package/see/examples/doc/hadamard_approx.md +1 -1
- package/see/examples/doc/hanoi.md +1 -1
- package/see/examples/doc/odrl_dpv_risk_ranked.md +1 -1
- package/see/examples/doc/path_discovery.md +1 -1
- package/see/examples/doc/rc_discharge_envelope.md +1 -1
- package/see/examples/doc/rdf_message_flow.md +1 -1
- package/see/examples/doc/rdf_messages.md +1 -1
- package/see/examples/doc/school_placement_audit.md +1 -1
- package/see/examples/doc/smoke_arithmetic.md +1 -1
- package/see/examples/doc/socrates.md +1 -1
- package/see/examples/doc/wind_turbine.md +1 -1
- package/see/examples/doc/witch.md +1 -1
- package/see/examples/dog.js +10 -10
- package/see/examples/eco_route_insight.js +10 -10
- package/see/examples/equals.js +10 -10
- package/see/examples/equivalence_classes_overlap_implies_same_class.js +10 -10
- package/see/examples/euler_identity.js +10 -10
- package/see/examples/ev_roundtrip_planner.js +10 -10
- package/see/examples/existential_rule.js +10 -10
- package/see/examples/expression_eval.js +10 -10
- package/see/examples/family_cousins.js +10 -10
- package/see/examples/fastpow.js +10 -10
- package/see/examples/fibonacci.js +10 -10
- package/see/examples/french_cities.js +10 -10
- package/see/examples/fundamental_theorem_arithmetic.js +10 -10
- package/see/examples/genetic_knapsack_selection.js +10 -10
- package/see/examples/goldbach_1000.js +10 -10
- package/see/examples/good_cobbler.js +10 -10
- package/see/examples/gps.js +10 -10
- package/see/examples/gray_code_counter.js +10 -10
- package/see/examples/greatest_lower_bound_uniqueness.js +10 -10
- package/see/examples/group_inverse_uniqueness.js +10 -10
- package/see/examples/hadamard_approx.js +10 -10
- package/see/examples/hanoi.js +10 -10
- package/see/examples/odrl_dpv_risk_ranked.js +10 -10
- package/see/examples/output/age.md +3 -3
- package/see/examples/output/annotation.md +4 -4
- package/see/examples/output/backward.md +3 -3
- package/see/examples/output/backward_recursion.md +3 -3
- package/see/examples/output/bayes_diagnosis.md +1 -1
- package/see/examples/output/bayes_therapy.md +1 -1
- package/see/examples/output/bmi.md +1 -1
- package/see/examples/output/builtin_coverage.md +3 -3
- package/see/examples/output/collection.md +3 -3
- package/see/examples/output/complex.md +4 -4
- package/see/examples/output/complex_matrix_stability.md +1 -1
- package/see/examples/output/composition_of_injective_functions_is_injective.md +3 -3
- package/see/examples/output/control_system.md +3 -3
- package/see/examples/output/crypto_builtins_tests.md +3 -3
- package/see/examples/output/delfour.md +1 -1
- package/see/examples/output/digital_product_passport.md +1 -1
- package/see/examples/output/dijkstra.md +3 -3
- package/see/examples/output/dijkstra_risk_path.md +1 -1
- package/see/examples/output/dog.md +3 -3
- package/see/examples/output/eco_route_insight.md +1 -1
- package/see/examples/output/equals.md +3 -3
- package/see/examples/output/equivalence_classes_overlap_implies_same_class.md +3 -3
- package/see/examples/output/euler_identity.md +3 -3
- package/see/examples/output/ev_roundtrip_planner.md +1 -1
- package/see/examples/output/existential_rule.md +3 -3
- package/see/examples/output/expression_eval.md +3 -3
- package/see/examples/output/family_cousins.md +3 -3
- package/see/examples/output/fastpow.md +1 -1
- package/see/examples/output/fibonacci.md +1 -1
- package/see/examples/output/french_cities.md +3 -3
- package/see/examples/output/fundamental_theorem_arithmetic.md +1 -1
- package/see/examples/output/genetic_knapsack_selection.md +1 -1
- package/see/examples/output/goldbach_1000.md +1 -1
- package/see/examples/output/good_cobbler.md +4 -4
- package/see/examples/output/gps.md +1 -1
- package/see/examples/output/gray_code_counter.md +1 -1
- package/see/examples/output/greatest_lower_bound_uniqueness.md +3 -3
- package/see/examples/output/group_inverse_uniqueness.md +3 -3
- package/see/examples/output/hadamard_approx.md +3 -3
- package/see/examples/output/hanoi.md +3 -3
- package/see/examples/output/odrl_dpv_risk_ranked.md +3 -3
- package/see/examples/output/path_discovery.md +3 -3
- package/see/examples/output/rc_discharge_envelope.md +1 -1
- package/see/examples/output/rdf_message_flow.md +1 -1
- package/see/examples/output/rdf_messages.md +1 -1
- package/see/examples/output/school_placement_audit.md +1 -1
- package/see/examples/output/smoke_arithmetic.md +1 -1
- package/see/examples/output/socrates.md +3 -3
- package/see/examples/output/wind_turbine.md +1 -1
- package/see/examples/output/witch.md +3 -3
- package/see/examples/path_discovery.js +10 -10
- package/see/examples/rc_discharge_envelope.js +10 -10
- package/see/examples/rdf_message_flow.js +10 -10
- package/see/examples/rdf_messages.js +10 -10
- package/see/examples/school_placement_audit.js +10 -10
- package/see/examples/smoke_arithmetic.js +10 -10
- package/see/examples/socrates.js +10 -10
- package/see/examples/wind_turbine.js +10 -10
- package/see/examples/witch.js +10 -10
- package/see/see.js +381 -93
package/see/examples/delfour.js
CHANGED
|
@@ -1040,19 +1040,19 @@ function renderStructuredOutput({ title, graph, queries = [], rules = [], initia
|
|
|
1040
1040
|
const lines = [];
|
|
1041
1041
|
lines.push('# ' + title);
|
|
1042
1042
|
lines.push('');
|
|
1043
|
-
lines.push('##
|
|
1043
|
+
lines.push('## Entailment');
|
|
1044
1044
|
if (mode === 'query') {
|
|
1045
1045
|
lines.push('The compiled query selected ' + selected.length + ' fact(s) after the rule closure was computed.');
|
|
1046
1046
|
} else if (mode === 'formula') {
|
|
1047
|
-
lines.push('The derivation produced ' + selected.length + ' formula-valued
|
|
1047
|
+
lines.push('The derivation produced ' + selected.length + ' formula-valued entailment(s).');
|
|
1048
1048
|
} else {
|
|
1049
1049
|
lines.push('The derivation produced ' + derived.length + ' new fact(s) from ' + initialFacts.length + ' stated fact(s).');
|
|
1050
1050
|
}
|
|
1051
|
-
if (keyFact) lines.push('Main
|
|
1051
|
+
if (keyFact) lines.push('Main entailment: **' + factSentence(keyFact) + '**');
|
|
1052
1052
|
const bullets = selected.slice(-6).reverse();
|
|
1053
1053
|
if (bullets.length) {
|
|
1054
1054
|
lines.push('');
|
|
1055
|
-
lines.push('Selected
|
|
1055
|
+
lines.push('Selected entailments:');
|
|
1056
1056
|
for (const fact of bullets) lines.push('- ' + codeFact(fact));
|
|
1057
1057
|
}
|
|
1058
1058
|
lines.push('');
|
|
@@ -1114,15 +1114,15 @@ function dedupeExplanationHeadings(text) {
|
|
|
1114
1114
|
function normalizePublicReport(markdown, title) {
|
|
1115
1115
|
let text = String(markdown || '').trimEnd();
|
|
1116
1116
|
if (!/^\s*#\s+/m.test(text)) text = '# ' + title + '\n\n' + text;
|
|
1117
|
-
if (!/^##\s+
|
|
1118
|
-
text = text.replace(/^(#\s+[^\n]+\n*)/, '$1\n##
|
|
1117
|
+
if (!/^##\s+Entailment\s*$/mi.test(text)) {
|
|
1118
|
+
text = text.replace(/^(#\s+[^\n]+\n*)/, '$1\n## Entailment\n');
|
|
1119
1119
|
}
|
|
1120
1120
|
if (!/^##\s+Explanation\s*$/mi.test(text)) {
|
|
1121
1121
|
text += '\n\n## Explanation\nNo additional explanation was provided by the generated output.';
|
|
1122
1122
|
}
|
|
1123
1123
|
text = text.replace(/^##\s+([^\n]+?)\s*$/gm, (line, heading) => {
|
|
1124
1124
|
const normalized = heading.trim().toLowerCase();
|
|
1125
|
-
if (normalized === 'insight' || normalized === 'explanation') return '## ' + (normalized === '
|
|
1125
|
+
if (normalized === 'insight' || normalized === 'conclusion' || normalized === 'entailment' || normalized === 'explanation') return '## ' + (normalized === 'explanation' ? 'Explanation' : 'Entailment');
|
|
1126
1126
|
return '**' + heading.trim() + '**';
|
|
1127
1127
|
});
|
|
1128
1128
|
text = dedupeExplanationHeadings(text);
|
|
@@ -1131,13 +1131,13 @@ function normalizePublicReport(markdown, title) {
|
|
|
1131
1131
|
function markdownize(raw, title) {
|
|
1132
1132
|
let text = String(raw || '');
|
|
1133
1133
|
text = text
|
|
1134
|
-
.replace(/===\s*Answer\s*===/g, '##
|
|
1134
|
+
.replace(/===\s*Answer\s*===/g, '## Entailment')
|
|
1135
1135
|
.replace(/===\s*Reason\s+Why\s*===/gi, '## Explanation')
|
|
1136
1136
|
.replace(/===\s*Explanation\s*===/gi, '## Explanation')
|
|
1137
1137
|
.replace(/===\s*([^=]+?)\s*===/g, (_, h) => '**' + h.trim() + '**');
|
|
1138
1138
|
text = text.replace(/^C(\d+)\s+OK\s*-\s*/gm, 'C$1: ');
|
|
1139
1139
|
text = dedupeExplanationHeadings(text);
|
|
1140
|
-
if (!text.trim()) text = '##
|
|
1140
|
+
if (!text.trim()) text = '## Entailment\nNo log:outputString facts were derived.\n\n## Explanation\nThe compiled derivation did not produce authored report text.';
|
|
1141
1141
|
return normalizePublicReport(text, title);
|
|
1142
1142
|
}
|
|
1143
1143
|
function authoredSupportAppendix(graph, queries, rules, initialFacts, trace) {
|
|
@@ -3049,7 +3049,7 @@ const QUERIES = [
|
|
|
3049
3049
|
]
|
|
3050
3050
|
}
|
|
3051
3051
|
];
|
|
3052
|
-
const DOC_MARKDOWN = "# Delfour\n\nGenerated by `see.js` from a Notation3 source file.\n\nN3-compiled version of the Delfour insight-economy example. A private phone\ncondition is desensitized into a scoped low-sugar insight; the scanner may use\nit for shopping assistance, but not for marketing.\n\n## Compilation summary\n\n- Example name: `delfour`\n- Input facts emitted: 61\n- Forward rules compiled: 16\n- Backward predicate rules compiled: 0\n- Fuses compiled: 3\n- Predicate count: 62\n\n## Built-ins used\n\n- `crypto:sha256`\n- `log:notEqualTo`\n- `log:notIncludes`\n- `log:outputString`\n- `math:greaterThan`\n- `math:notEqualTo`\n- `math:notGreaterThan`\n- `math:notLessThan`\n- `string:format`\n- `string:notMatches`\n\n## Runtime model\n\nThe generated `examples/delfour.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/delfour.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/delfour.trig` or `examples/input/delfour.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.\n\n## Output model\n\nRunning `node examples/delfour.js` produces a SEE-style Markdown report with an **
|
|
3052
|
+
const DOC_MARKDOWN = "# Delfour\n\nGenerated by `see.js` from a Notation3 source file.\n\nN3-compiled version of the Delfour insight-economy example. A private phone\ncondition is desensitized into a scoped low-sugar insight; the scanner may use\nit for shopping assistance, but not for marketing.\n\n## Compilation summary\n\n- Example name: `delfour`\n- Input facts emitted: 61\n- Forward rules compiled: 16\n- Backward predicate rules compiled: 0\n- Fuses compiled: 3\n- Predicate count: 62\n\n## Built-ins used\n\n- `crypto:sha256`\n- `log:notEqualTo`\n- `log:notIncludes`\n- `log:outputString`\n- `math:greaterThan`\n- `math:notEqualTo`\n- `math:notGreaterThan`\n- `math:notLessThan`\n- `string:format`\n- `string:notMatches`\n\n## Runtime model\n\nThe generated `examples/delfour.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/delfour.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/delfour.trig` or `examples/input/delfour.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.\n\n## Output model\n\nRunning `node examples/delfour.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.\n";
|
|
3053
3053
|
function seeMetadata(data) { return (data && data.__see) || {}; }
|
|
3054
3054
|
function trustedDerivation(data) { const meta = seeMetadata(data); const facts = data && Array.isArray(data.facts) ? data.facts : []; const expectedFacts = EXPECTED_INPUT_FACTS || Number(meta.InputFacts || 0); if (meta.SourceSHA256 && meta.SourceSHA256 !== "250631cb3de8addff7037b54789b63b2ea034eb6b579c61a9feca542efd584c1") throw new Error('input evidence does not match the N3 source compiled into this example'); const result = saturate(facts, RULES); const rawOutput = renderRawOutput(result.graph, QUERIES, RULES, facts); fail('Compiled N3 derivation failed', { 'input evidence metadata is present and matches compiled source': meta.SourceSHA256 === "250631cb3de8addff7037b54789b63b2ea034eb6b579c61a9feca542efd584c1", 'input evidence facts were loaded': expectedFacts > 0 ? facts.length === expectedFacts : facts.length >= 0, 'compiled rules were loaded': RULES.length === 19, 'compiled query directives were loaded': QUERIES.length === 1, 'a derivation fixpoint was reached': result.graph.facts.length >= facts.length, 'query or output facts were produced': rawOutput.length > 0 }); return { ...result, rawOutput, inputFacts: facts }; }
|
|
3055
3055
|
function snapshotMarkdown(markdown) { return markdown.split(/\n/).map((line) => line ? line + ' \n' : '\n').join(''); }
|
|
@@ -1040,19 +1040,19 @@ function renderStructuredOutput({ title, graph, queries = [], rules = [], initia
|
|
|
1040
1040
|
const lines = [];
|
|
1041
1041
|
lines.push('# ' + title);
|
|
1042
1042
|
lines.push('');
|
|
1043
|
-
lines.push('##
|
|
1043
|
+
lines.push('## Entailment');
|
|
1044
1044
|
if (mode === 'query') {
|
|
1045
1045
|
lines.push('The compiled query selected ' + selected.length + ' fact(s) after the rule closure was computed.');
|
|
1046
1046
|
} else if (mode === 'formula') {
|
|
1047
|
-
lines.push('The derivation produced ' + selected.length + ' formula-valued
|
|
1047
|
+
lines.push('The derivation produced ' + selected.length + ' formula-valued entailment(s).');
|
|
1048
1048
|
} else {
|
|
1049
1049
|
lines.push('The derivation produced ' + derived.length + ' new fact(s) from ' + initialFacts.length + ' stated fact(s).');
|
|
1050
1050
|
}
|
|
1051
|
-
if (keyFact) lines.push('Main
|
|
1051
|
+
if (keyFact) lines.push('Main entailment: **' + factSentence(keyFact) + '**');
|
|
1052
1052
|
const bullets = selected.slice(-6).reverse();
|
|
1053
1053
|
if (bullets.length) {
|
|
1054
1054
|
lines.push('');
|
|
1055
|
-
lines.push('Selected
|
|
1055
|
+
lines.push('Selected entailments:');
|
|
1056
1056
|
for (const fact of bullets) lines.push('- ' + codeFact(fact));
|
|
1057
1057
|
}
|
|
1058
1058
|
lines.push('');
|
|
@@ -1114,15 +1114,15 @@ function dedupeExplanationHeadings(text) {
|
|
|
1114
1114
|
function normalizePublicReport(markdown, title) {
|
|
1115
1115
|
let text = String(markdown || '').trimEnd();
|
|
1116
1116
|
if (!/^\s*#\s+/m.test(text)) text = '# ' + title + '\n\n' + text;
|
|
1117
|
-
if (!/^##\s+
|
|
1118
|
-
text = text.replace(/^(#\s+[^\n]+\n*)/, '$1\n##
|
|
1117
|
+
if (!/^##\s+Entailment\s*$/mi.test(text)) {
|
|
1118
|
+
text = text.replace(/^(#\s+[^\n]+\n*)/, '$1\n## Entailment\n');
|
|
1119
1119
|
}
|
|
1120
1120
|
if (!/^##\s+Explanation\s*$/mi.test(text)) {
|
|
1121
1121
|
text += '\n\n## Explanation\nNo additional explanation was provided by the generated output.';
|
|
1122
1122
|
}
|
|
1123
1123
|
text = text.replace(/^##\s+([^\n]+?)\s*$/gm, (line, heading) => {
|
|
1124
1124
|
const normalized = heading.trim().toLowerCase();
|
|
1125
|
-
if (normalized === 'insight' || normalized === 'explanation') return '## ' + (normalized === '
|
|
1125
|
+
if (normalized === 'insight' || normalized === 'conclusion' || normalized === 'entailment' || normalized === 'explanation') return '## ' + (normalized === 'explanation' ? 'Explanation' : 'Entailment');
|
|
1126
1126
|
return '**' + heading.trim() + '**';
|
|
1127
1127
|
});
|
|
1128
1128
|
text = dedupeExplanationHeadings(text);
|
|
@@ -1131,13 +1131,13 @@ function normalizePublicReport(markdown, title) {
|
|
|
1131
1131
|
function markdownize(raw, title) {
|
|
1132
1132
|
let text = String(raw || '');
|
|
1133
1133
|
text = text
|
|
1134
|
-
.replace(/===\s*Answer\s*===/g, '##
|
|
1134
|
+
.replace(/===\s*Answer\s*===/g, '## Entailment')
|
|
1135
1135
|
.replace(/===\s*Reason\s+Why\s*===/gi, '## Explanation')
|
|
1136
1136
|
.replace(/===\s*Explanation\s*===/gi, '## Explanation')
|
|
1137
1137
|
.replace(/===\s*([^=]+?)\s*===/g, (_, h) => '**' + h.trim() + '**');
|
|
1138
1138
|
text = text.replace(/^C(\d+)\s+OK\s*-\s*/gm, 'C$1: ');
|
|
1139
1139
|
text = dedupeExplanationHeadings(text);
|
|
1140
|
-
if (!text.trim()) text = '##
|
|
1140
|
+
if (!text.trim()) text = '## Entailment\nNo log:outputString facts were derived.\n\n## Explanation\nThe compiled derivation did not produce authored report text.';
|
|
1141
1141
|
return normalizePublicReport(text, title);
|
|
1142
1142
|
}
|
|
1143
1143
|
function authoredSupportAppendix(graph, queries, rules, initialFacts, trace) {
|
|
@@ -2731,7 +2731,7 @@ const QUERIES = [
|
|
|
2731
2731
|
]
|
|
2732
2732
|
}
|
|
2733
2733
|
];
|
|
2734
|
-
const DOC_MARKDOWN = "# Digital Product Passport\n\nGenerated by `see.js` from a Notation3 source file.\n\nN3-compiled version of the smartphone Digital Product Passport example. The\nrules fold component mass, recycled content, critical raw materials, public\ndocuments, lifecycle footprint, and access-policy validations into a public PASS.\n\n## Compilation summary\n\n- Example name: `digital_product_passport`\n- Input facts emitted: 90\n- Forward rules compiled: 12\n- Backward predicate rules compiled: 0\n- Fuses compiled: 2\n- Predicate count: 53\n\n## Built-ins used\n\n- `log:notEqualTo`\n- `log:outputString`\n- `math:greaterThan`\n- `math:integerQuotient`\n- `math:notGreaterThan`\n- `math:product`\n- `math:sum`\n- `string:format`\n- `string:notGreaterThan`\n\n## Runtime model\n\nThe generated `examples/digital_product_passport.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/digital_product_passport.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/digital-product-passport.trig` or `examples/input/digital_product_passport.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.\n\n## Output model\n\nRunning `node examples/digital_product_passport.js` produces a SEE-style Markdown report with an **
|
|
2734
|
+
const DOC_MARKDOWN = "# Digital Product Passport\n\nGenerated by `see.js` from a Notation3 source file.\n\nN3-compiled version of the smartphone Digital Product Passport example. The\nrules fold component mass, recycled content, critical raw materials, public\ndocuments, lifecycle footprint, and access-policy validations into a public PASS.\n\n## Compilation summary\n\n- Example name: `digital_product_passport`\n- Input facts emitted: 90\n- Forward rules compiled: 12\n- Backward predicate rules compiled: 0\n- Fuses compiled: 2\n- Predicate count: 53\n\n## Built-ins used\n\n- `log:notEqualTo`\n- `log:outputString`\n- `math:greaterThan`\n- `math:integerQuotient`\n- `math:notGreaterThan`\n- `math:product`\n- `math:sum`\n- `string:format`\n- `string:notGreaterThan`\n\n## Runtime model\n\nThe generated `examples/digital_product_passport.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/digital_product_passport.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/digital-product-passport.trig` or `examples/input/digital_product_passport.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.\n\n## Output model\n\nRunning `node examples/digital_product_passport.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.\n";
|
|
2735
2735
|
function seeMetadata(data) { return (data && data.__see) || {}; }
|
|
2736
2736
|
function trustedDerivation(data) { const meta = seeMetadata(data); const facts = data && Array.isArray(data.facts) ? data.facts : []; const expectedFacts = EXPECTED_INPUT_FACTS || Number(meta.InputFacts || 0); if (meta.SourceSHA256 && meta.SourceSHA256 !== "502e99d8e51a930eba50cb2411263cb6db5d98d63fe3dd48254612d993a9ab95") throw new Error('input evidence does not match the N3 source compiled into this example'); const result = saturate(facts, RULES); const rawOutput = renderRawOutput(result.graph, QUERIES, RULES, facts); fail('Compiled N3 derivation failed', { 'input evidence metadata is present and matches compiled source': meta.SourceSHA256 === "502e99d8e51a930eba50cb2411263cb6db5d98d63fe3dd48254612d993a9ab95", 'input evidence facts were loaded': expectedFacts > 0 ? facts.length === expectedFacts : facts.length >= 0, 'compiled rules were loaded': RULES.length === 14, 'compiled query directives were loaded': QUERIES.length === 1, 'a derivation fixpoint was reached': result.graph.facts.length >= facts.length, 'query or output facts were produced': rawOutput.length > 0 }); return { ...result, rawOutput, inputFacts: facts }; }
|
|
2737
2737
|
function snapshotMarkdown(markdown) { return markdown.split(/\n/).map((line) => line ? line + ' \n' : '\n').join(''); }
|
package/see/examples/dijkstra.js
CHANGED
|
@@ -1040,19 +1040,19 @@ function renderStructuredOutput({ title, graph, queries = [], rules = [], initia
|
|
|
1040
1040
|
const lines = [];
|
|
1041
1041
|
lines.push('# ' + title);
|
|
1042
1042
|
lines.push('');
|
|
1043
|
-
lines.push('##
|
|
1043
|
+
lines.push('## Entailment');
|
|
1044
1044
|
if (mode === 'query') {
|
|
1045
1045
|
lines.push('The compiled query selected ' + selected.length + ' fact(s) after the rule closure was computed.');
|
|
1046
1046
|
} else if (mode === 'formula') {
|
|
1047
|
-
lines.push('The derivation produced ' + selected.length + ' formula-valued
|
|
1047
|
+
lines.push('The derivation produced ' + selected.length + ' formula-valued entailment(s).');
|
|
1048
1048
|
} else {
|
|
1049
1049
|
lines.push('The derivation produced ' + derived.length + ' new fact(s) from ' + initialFacts.length + ' stated fact(s).');
|
|
1050
1050
|
}
|
|
1051
|
-
if (keyFact) lines.push('Main
|
|
1051
|
+
if (keyFact) lines.push('Main entailment: **' + factSentence(keyFact) + '**');
|
|
1052
1052
|
const bullets = selected.slice(-6).reverse();
|
|
1053
1053
|
if (bullets.length) {
|
|
1054
1054
|
lines.push('');
|
|
1055
|
-
lines.push('Selected
|
|
1055
|
+
lines.push('Selected entailments:');
|
|
1056
1056
|
for (const fact of bullets) lines.push('- ' + codeFact(fact));
|
|
1057
1057
|
}
|
|
1058
1058
|
lines.push('');
|
|
@@ -1114,15 +1114,15 @@ function dedupeExplanationHeadings(text) {
|
|
|
1114
1114
|
function normalizePublicReport(markdown, title) {
|
|
1115
1115
|
let text = String(markdown || '').trimEnd();
|
|
1116
1116
|
if (!/^\s*#\s+/m.test(text)) text = '# ' + title + '\n\n' + text;
|
|
1117
|
-
if (!/^##\s+
|
|
1118
|
-
text = text.replace(/^(#\s+[^\n]+\n*)/, '$1\n##
|
|
1117
|
+
if (!/^##\s+Entailment\s*$/mi.test(text)) {
|
|
1118
|
+
text = text.replace(/^(#\s+[^\n]+\n*)/, '$1\n## Entailment\n');
|
|
1119
1119
|
}
|
|
1120
1120
|
if (!/^##\s+Explanation\s*$/mi.test(text)) {
|
|
1121
1121
|
text += '\n\n## Explanation\nNo additional explanation was provided by the generated output.';
|
|
1122
1122
|
}
|
|
1123
1123
|
text = text.replace(/^##\s+([^\n]+?)\s*$/gm, (line, heading) => {
|
|
1124
1124
|
const normalized = heading.trim().toLowerCase();
|
|
1125
|
-
if (normalized === 'insight' || normalized === 'explanation') return '## ' + (normalized === '
|
|
1125
|
+
if (normalized === 'insight' || normalized === 'conclusion' || normalized === 'entailment' || normalized === 'explanation') return '## ' + (normalized === 'explanation' ? 'Explanation' : 'Entailment');
|
|
1126
1126
|
return '**' + heading.trim() + '**';
|
|
1127
1127
|
});
|
|
1128
1128
|
text = dedupeExplanationHeadings(text);
|
|
@@ -1131,13 +1131,13 @@ function normalizePublicReport(markdown, title) {
|
|
|
1131
1131
|
function markdownize(raw, title) {
|
|
1132
1132
|
let text = String(raw || '');
|
|
1133
1133
|
text = text
|
|
1134
|
-
.replace(/===\s*Answer\s*===/g, '##
|
|
1134
|
+
.replace(/===\s*Answer\s*===/g, '## Entailment')
|
|
1135
1135
|
.replace(/===\s*Reason\s+Why\s*===/gi, '## Explanation')
|
|
1136
1136
|
.replace(/===\s*Explanation\s*===/gi, '## Explanation')
|
|
1137
1137
|
.replace(/===\s*([^=]+?)\s*===/g, (_, h) => '**' + h.trim() + '**');
|
|
1138
1138
|
text = text.replace(/^C(\d+)\s+OK\s*-\s*/gm, 'C$1: ');
|
|
1139
1139
|
text = dedupeExplanationHeadings(text);
|
|
1140
|
-
if (!text.trim()) text = '##
|
|
1140
|
+
if (!text.trim()) text = '## Entailment\nNo log:outputString facts were derived.\n\n## Explanation\nThe compiled derivation did not produce authored report text.';
|
|
1141
1141
|
return normalizePublicReport(text, title);
|
|
1142
1142
|
}
|
|
1143
1143
|
function authoredSupportAppendix(graph, queries, rules, initialFacts, trace) {
|
|
@@ -1945,7 +1945,7 @@ const RULES = [
|
|
|
1945
1945
|
}
|
|
1946
1946
|
];
|
|
1947
1947
|
const QUERIES = [];
|
|
1948
|
-
const DOC_MARKDOWN = "# Dijkstra's algorithm to find the shortest path\n\nGenerated by `see.js` from a Notation3 source file.\n\n## Compilation summary\n\n- Example name: `dijkstra`\n- Input facts emitted: 9\n- Forward rules compiled: 2\n- Backward predicate rules compiled: 3\n- Fuses compiled: 0\n- Predicate count: 9\n\n## Built-ins used\n\n- `list:append`\n- `list:firstRest`\n- `list:reverse`\n- `list:sort`\n- `log:collectAllIn`\n\n## Runtime model\n\nThe generated `examples/dijkstra.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/dijkstra.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/dijkstra.trig` or `examples/input/dijkstra.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.\n\n## Output model\n\nRunning `node examples/dijkstra.js` produces a SEE-style Markdown report with an **
|
|
1948
|
+
const DOC_MARKDOWN = "# Dijkstra's algorithm to find the shortest path\n\nGenerated by `see.js` from a Notation3 source file.\n\n## Compilation summary\n\n- Example name: `dijkstra`\n- Input facts emitted: 9\n- Forward rules compiled: 2\n- Backward predicate rules compiled: 3\n- Fuses compiled: 0\n- Predicate count: 9\n\n## Built-ins used\n\n- `list:append`\n- `list:firstRest`\n- `list:reverse`\n- `list:sort`\n- `log:collectAllIn`\n\n## Runtime model\n\nThe generated `examples/dijkstra.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/dijkstra.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/dijkstra.trig` or `examples/input/dijkstra.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.\n\n## Output model\n\nRunning `node examples/dijkstra.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.\n";
|
|
1949
1949
|
function seeMetadata(data) { return (data && data.__see) || {}; }
|
|
1950
1950
|
function trustedDerivation(data) { const meta = seeMetadata(data); const facts = data && Array.isArray(data.facts) ? data.facts : []; const expectedFacts = EXPECTED_INPUT_FACTS || Number(meta.InputFacts || 0); if (meta.SourceSHA256 && meta.SourceSHA256 !== "e877c1cfea99078228bd424f6e55761e56cc54bc1e64b21540231620cc3620ab") throw new Error('input evidence does not match the N3 source compiled into this example'); const result = saturate(facts, RULES); const rawOutput = renderRawOutput(result.graph, QUERIES, RULES, facts); fail('Compiled N3 derivation failed', { 'input evidence metadata is present and matches compiled source': meta.SourceSHA256 === "e877c1cfea99078228bd424f6e55761e56cc54bc1e64b21540231620cc3620ab", 'input evidence facts were loaded': expectedFacts > 0 ? facts.length === expectedFacts : facts.length >= 0, 'compiled rules were loaded': RULES.length === 5, 'compiled query directives were loaded': QUERIES.length === 0, 'a derivation fixpoint was reached': result.graph.facts.length >= facts.length, 'query or output facts were produced': rawOutput.length > 0 }); return { ...result, rawOutput, inputFacts: facts }; }
|
|
1951
1951
|
function snapshotMarkdown(markdown) { return markdown.split(/\n/).map((line) => line ? line + ' \n' : '\n').join(''); }
|
|
@@ -1040,19 +1040,19 @@ function renderStructuredOutput({ title, graph, queries = [], rules = [], initia
|
|
|
1040
1040
|
const lines = [];
|
|
1041
1041
|
lines.push('# ' + title);
|
|
1042
1042
|
lines.push('');
|
|
1043
|
-
lines.push('##
|
|
1043
|
+
lines.push('## Entailment');
|
|
1044
1044
|
if (mode === 'query') {
|
|
1045
1045
|
lines.push('The compiled query selected ' + selected.length + ' fact(s) after the rule closure was computed.');
|
|
1046
1046
|
} else if (mode === 'formula') {
|
|
1047
|
-
lines.push('The derivation produced ' + selected.length + ' formula-valued
|
|
1047
|
+
lines.push('The derivation produced ' + selected.length + ' formula-valued entailment(s).');
|
|
1048
1048
|
} else {
|
|
1049
1049
|
lines.push('The derivation produced ' + derived.length + ' new fact(s) from ' + initialFacts.length + ' stated fact(s).');
|
|
1050
1050
|
}
|
|
1051
|
-
if (keyFact) lines.push('Main
|
|
1051
|
+
if (keyFact) lines.push('Main entailment: **' + factSentence(keyFact) + '**');
|
|
1052
1052
|
const bullets = selected.slice(-6).reverse();
|
|
1053
1053
|
if (bullets.length) {
|
|
1054
1054
|
lines.push('');
|
|
1055
|
-
lines.push('Selected
|
|
1055
|
+
lines.push('Selected entailments:');
|
|
1056
1056
|
for (const fact of bullets) lines.push('- ' + codeFact(fact));
|
|
1057
1057
|
}
|
|
1058
1058
|
lines.push('');
|
|
@@ -1114,15 +1114,15 @@ function dedupeExplanationHeadings(text) {
|
|
|
1114
1114
|
function normalizePublicReport(markdown, title) {
|
|
1115
1115
|
let text = String(markdown || '').trimEnd();
|
|
1116
1116
|
if (!/^\s*#\s+/m.test(text)) text = '# ' + title + '\n\n' + text;
|
|
1117
|
-
if (!/^##\s+
|
|
1118
|
-
text = text.replace(/^(#\s+[^\n]+\n*)/, '$1\n##
|
|
1117
|
+
if (!/^##\s+Entailment\s*$/mi.test(text)) {
|
|
1118
|
+
text = text.replace(/^(#\s+[^\n]+\n*)/, '$1\n## Entailment\n');
|
|
1119
1119
|
}
|
|
1120
1120
|
if (!/^##\s+Explanation\s*$/mi.test(text)) {
|
|
1121
1121
|
text += '\n\n## Explanation\nNo additional explanation was provided by the generated output.';
|
|
1122
1122
|
}
|
|
1123
1123
|
text = text.replace(/^##\s+([^\n]+?)\s*$/gm, (line, heading) => {
|
|
1124
1124
|
const normalized = heading.trim().toLowerCase();
|
|
1125
|
-
if (normalized === 'insight' || normalized === 'explanation') return '## ' + (normalized === '
|
|
1125
|
+
if (normalized === 'insight' || normalized === 'conclusion' || normalized === 'entailment' || normalized === 'explanation') return '## ' + (normalized === 'explanation' ? 'Explanation' : 'Entailment');
|
|
1126
1126
|
return '**' + heading.trim() + '**';
|
|
1127
1127
|
});
|
|
1128
1128
|
text = dedupeExplanationHeadings(text);
|
|
@@ -1131,13 +1131,13 @@ function normalizePublicReport(markdown, title) {
|
|
|
1131
1131
|
function markdownize(raw, title) {
|
|
1132
1132
|
let text = String(raw || '');
|
|
1133
1133
|
text = text
|
|
1134
|
-
.replace(/===\s*Answer\s*===/g, '##
|
|
1134
|
+
.replace(/===\s*Answer\s*===/g, '## Entailment')
|
|
1135
1135
|
.replace(/===\s*Reason\s+Why\s*===/gi, '## Explanation')
|
|
1136
1136
|
.replace(/===\s*Explanation\s*===/gi, '## Explanation')
|
|
1137
1137
|
.replace(/===\s*([^=]+?)\s*===/g, (_, h) => '**' + h.trim() + '**');
|
|
1138
1138
|
text = text.replace(/^C(\d+)\s+OK\s*-\s*/gm, 'C$1: ');
|
|
1139
1139
|
text = dedupeExplanationHeadings(text);
|
|
1140
|
-
if (!text.trim()) text = '##
|
|
1140
|
+
if (!text.trim()) text = '## Entailment\nNo log:outputString facts were derived.\n\n## Explanation\nThe compiled derivation did not produce authored report text.';
|
|
1141
1141
|
return normalizePublicReport(text, title);
|
|
1142
1142
|
}
|
|
1143
1143
|
function authoredSupportAppendix(graph, queries, rules, initialFacts, trace) {
|
|
@@ -1749,7 +1749,7 @@ const QUERIES = [
|
|
|
1749
1749
|
]
|
|
1750
1750
|
}
|
|
1751
1751
|
];
|
|
1752
|
-
const DOC_MARKDOWN = "# Dijkstra Risk Path\n\nGenerated by `see.js` from a Notation3 source file.\n\nN3-compiled version of the risk-adjusted route example. The original JSON\ninput is preserved as the data-input sidecar; this source compiles the\nexecutable derivation and report.\n\n## Compilation summary\n\n- Example name: `dijkstra_risk_path`\n- Input facts emitted: 21\n- Forward rules compiled: 3\n- Backward predicate rules compiled: 0\n- Fuses compiled: 0\n- Predicate count: 17\n\n## Built-ins used\n\n- `log:outputString`\n- `math:lessThan`\n- `string:format`\n\n## Runtime model\n\nThe generated `examples/dijkstra_risk_path.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/dijkstra_risk_path.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/dijkstra-risk-path.trig` or `examples/input/dijkstra_risk_path.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.\n\n## Output model\n\nRunning `node examples/dijkstra_risk_path.js` produces a SEE-style Markdown report with an **
|
|
1752
|
+
const DOC_MARKDOWN = "# Dijkstra Risk Path\n\nGenerated by `see.js` from a Notation3 source file.\n\nN3-compiled version of the risk-adjusted route example. The original JSON\ninput is preserved as the data-input sidecar; this source compiles the\nexecutable derivation and report.\n\n## Compilation summary\n\n- Example name: `dijkstra_risk_path`\n- Input facts emitted: 21\n- Forward rules compiled: 3\n- Backward predicate rules compiled: 0\n- Fuses compiled: 0\n- Predicate count: 17\n\n## Built-ins used\n\n- `log:outputString`\n- `math:lessThan`\n- `string:format`\n\n## Runtime model\n\nThe generated `examples/dijkstra_risk_path.js` is a specialized JavaScript derivation program. For ordinary sources, `see.js` emits the source facts as `examples/input/dijkstra_risk_path.trig`. For rules-only sources, generation can reuse an existing external evidence file such as `examples/input/dijkstra-risk-path.trig` or `examples/input/dijkstra_risk_path.trig`. The runner reads that TriG evidence directly and performs a local fixpoint derivation; it does not parse the program source or call an external reasoner.\n\n## Output model\n\nRunning `node examples/dijkstra_risk_path.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.\n";
|
|
1753
1753
|
function seeMetadata(data) { return (data && data.__see) || {}; }
|
|
1754
1754
|
function trustedDerivation(data) { const meta = seeMetadata(data); const facts = data && Array.isArray(data.facts) ? data.facts : []; const expectedFacts = EXPECTED_INPUT_FACTS || Number(meta.InputFacts || 0); if (meta.SourceSHA256 && meta.SourceSHA256 !== "a11f23a58252e557817c5d26cabdfee5ce8c5c08a40a54ab680eaa8960c88937") throw new Error('input evidence does not match the N3 source compiled into this example'); const result = saturate(facts, RULES); const rawOutput = renderRawOutput(result.graph, QUERIES, RULES, facts); fail('Compiled N3 derivation failed', { 'input evidence metadata is present and matches compiled source': meta.SourceSHA256 === "a11f23a58252e557817c5d26cabdfee5ce8c5c08a40a54ab680eaa8960c88937", 'input evidence facts were loaded': expectedFacts > 0 ? facts.length === expectedFacts : facts.length >= 0, 'compiled rules were loaded': RULES.length === 3, 'compiled query directives were loaded': QUERIES.length === 1, 'a derivation fixpoint was reached': result.graph.facts.length >= facts.length, 'query or output facts were produced': rawOutput.length > 0 }); return { ...result, rawOutput, inputFacts: facts }; }
|
|
1755
1755
|
function snapshotMarkdown(markdown) { return markdown.split(/\n/).map((line) => line ? line + ' \n' : '\n').join(''); }
|
package/see/examples/doc/age.md
CHANGED
|
@@ -24,4 +24,4 @@ The generated `examples/age.js` is a specialized JavaScript derivation program.
|
|
|
24
24
|
|
|
25
25
|
## Output model
|
|
26
26
|
|
|
27
|
-
Running `node examples/age.js` produces a SEE-style Markdown report with an **
|
|
27
|
+
Running `node examples/age.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -21,4 +21,4 @@ The generated `examples/annotation.js` is a specialized JavaScript derivation pr
|
|
|
21
21
|
|
|
22
22
|
## Output model
|
|
23
23
|
|
|
24
|
-
Running `node examples/annotation.js` produces a SEE-style Markdown report with an **
|
|
24
|
+
Running `node examples/annotation.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -23,4 +23,4 @@ The generated `examples/backward.js` is a specialized JavaScript derivation prog
|
|
|
23
23
|
|
|
24
24
|
## Output model
|
|
25
25
|
|
|
26
|
-
Running `node examples/backward.js` produces a SEE-style Markdown report with an **
|
|
26
|
+
Running `node examples/backward.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -23,4 +23,4 @@ The generated `examples/backward_recursion.js` is a specialized JavaScript deriv
|
|
|
23
23
|
|
|
24
24
|
## Output model
|
|
25
25
|
|
|
26
|
-
Running `node examples/backward_recursion.js` produces a SEE-style Markdown report with an **
|
|
26
|
+
Running `node examples/backward_recursion.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -38,4 +38,4 @@ The generated `examples/bayes_diagnosis.js` is a specialized JavaScript derivati
|
|
|
38
38
|
|
|
39
39
|
## Output model
|
|
40
40
|
|
|
41
|
-
Running `node examples/bayes_diagnosis.js` produces a SEE-style Markdown report with an **
|
|
41
|
+
Running `node examples/bayes_diagnosis.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -37,4 +37,4 @@ The generated `examples/bayes_therapy.js` is a specialized JavaScript derivation
|
|
|
37
37
|
|
|
38
38
|
## Output model
|
|
39
39
|
|
|
40
|
-
Running `node examples/bayes_therapy.js` produces a SEE-style Markdown report with an **
|
|
40
|
+
Running `node examples/bayes_therapy.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
package/see/examples/doc/bmi.md
CHANGED
|
@@ -35,4 +35,4 @@ The generated `examples/bmi.js` is a specialized JavaScript derivation program.
|
|
|
35
35
|
|
|
36
36
|
## Output model
|
|
37
37
|
|
|
38
|
-
Running `node examples/bmi.js` produces a SEE-style Markdown report with an **
|
|
38
|
+
Running `node examples/bmi.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -50,4 +50,4 @@ The generated `examples/builtin_coverage.js` is a specialized JavaScript derivat
|
|
|
50
50
|
|
|
51
51
|
## Output model
|
|
52
52
|
|
|
53
|
-
Running `node examples/builtin_coverage.js` produces a SEE-style Markdown report with an **
|
|
53
|
+
Running `node examples/builtin_coverage.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -21,4 +21,4 @@ The generated `examples/collection.js` is a specialized JavaScript derivation pr
|
|
|
21
21
|
|
|
22
22
|
## Output model
|
|
23
23
|
|
|
24
|
-
Running `node examples/collection.js` produces a SEE-style Markdown report with an **
|
|
24
|
+
Running `node examples/collection.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -35,4 +35,4 @@ The generated `examples/complex.js` is a specialized JavaScript derivation progr
|
|
|
35
35
|
|
|
36
36
|
## Output model
|
|
37
37
|
|
|
38
|
-
Running `node examples/complex.js` produces a SEE-style Markdown report with an **
|
|
38
|
+
Running `node examples/complex.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -32,4 +32,4 @@ The generated `examples/complex_matrix_stability.js` is a specialized JavaScript
|
|
|
32
32
|
|
|
33
33
|
## Output model
|
|
34
34
|
|
|
35
|
-
Running `node examples/complex_matrix_stability.js` produces a SEE-style Markdown report with an **
|
|
35
|
+
Running `node examples/complex_matrix_stability.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -21,4 +21,4 @@ The generated `examples/composition_of_injective_functions_is_injective.js` is a
|
|
|
21
21
|
|
|
22
22
|
## Output model
|
|
23
23
|
|
|
24
|
-
Running `node examples/composition_of_injective_functions_is_injective.js` produces a SEE-style Markdown report with an **
|
|
24
|
+
Running `node examples/composition_of_injective_functions_is_injective.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -29,4 +29,4 @@ The generated `examples/control_system.js` is a specialized JavaScript derivatio
|
|
|
29
29
|
|
|
30
30
|
## Output model
|
|
31
31
|
|
|
32
|
-
Running `node examples/control_system.js` produces a SEE-style Markdown report with an **
|
|
32
|
+
Running `node examples/control_system.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -24,4 +24,4 @@ The generated `examples/crypto_builtins_tests.js` is a specialized JavaScript de
|
|
|
24
24
|
|
|
25
25
|
## Output model
|
|
26
26
|
|
|
27
|
-
Running `node examples/crypto_builtins_tests.js` produces a SEE-style Markdown report with an **
|
|
27
|
+
Running `node examples/crypto_builtins_tests.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -34,4 +34,4 @@ The generated `examples/delfour.js` is a specialized JavaScript derivation progr
|
|
|
34
34
|
|
|
35
35
|
## Output model
|
|
36
36
|
|
|
37
|
-
Running `node examples/delfour.js` produces a SEE-style Markdown report with an **
|
|
37
|
+
Running `node examples/delfour.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -33,4 +33,4 @@ The generated `examples/digital_product_passport.js` is a specialized JavaScript
|
|
|
33
33
|
|
|
34
34
|
## Output model
|
|
35
35
|
|
|
36
|
-
Running `node examples/digital_product_passport.js` produces a SEE-style Markdown report with an **
|
|
36
|
+
Running `node examples/digital_product_passport.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -25,4 +25,4 @@ The generated `examples/dijkstra.js` is a specialized JavaScript derivation prog
|
|
|
25
25
|
|
|
26
26
|
## Output model
|
|
27
27
|
|
|
28
|
-
Running `node examples/dijkstra.js` produces a SEE-style Markdown report with an **
|
|
28
|
+
Running `node examples/dijkstra.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -27,4 +27,4 @@ The generated `examples/dijkstra_risk_path.js` is a specialized JavaScript deriv
|
|
|
27
27
|
|
|
28
28
|
## Output model
|
|
29
29
|
|
|
30
|
-
Running `node examples/dijkstra_risk_path.js` produces a SEE-style Markdown report with an **
|
|
30
|
+
Running `node examples/dijkstra_risk_path.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
package/see/examples/doc/dog.md
CHANGED
|
@@ -25,4 +25,4 @@ The generated `examples/dog.js` is a specialized JavaScript derivation program.
|
|
|
25
25
|
|
|
26
26
|
## Output model
|
|
27
27
|
|
|
28
|
-
Running `node examples/dog.js` produces a SEE-style Markdown report with an **
|
|
28
|
+
Running `node examples/dog.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -30,4 +30,4 @@ The generated `examples/eco_route_insight.js` is a specialized JavaScript deriva
|
|
|
30
30
|
|
|
31
31
|
## Output model
|
|
32
32
|
|
|
33
|
-
Running `node examples/eco_route_insight.js` produces a SEE-style Markdown report with an **
|
|
33
|
+
Running `node examples/eco_route_insight.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -23,4 +23,4 @@ The generated `examples/equals.js` is a specialized JavaScript derivation progra
|
|
|
23
23
|
|
|
24
24
|
## Output model
|
|
25
25
|
|
|
26
|
-
Running `node examples/equals.js` produces a SEE-style Markdown report with an **
|
|
26
|
+
Running `node examples/equals.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -21,4 +21,4 @@ The generated `examples/equivalence_classes_overlap_implies_same_class.js` is a
|
|
|
21
21
|
|
|
22
22
|
## Output model
|
|
23
23
|
|
|
24
|
-
Running `node examples/equivalence_classes_overlap_implies_same_class.js` produces a SEE-style Markdown report with an **
|
|
24
|
+
Running `node examples/equivalence_classes_overlap_implies_same_class.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -36,4 +36,4 @@ The generated `examples/euler_identity.js` is a specialized JavaScript derivatio
|
|
|
36
36
|
|
|
37
37
|
## Output model
|
|
38
38
|
|
|
39
|
-
Running `node examples/euler_identity.js` produces a SEE-style Markdown report with an **
|
|
39
|
+
Running `node examples/euler_identity.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -29,4 +29,4 @@ The generated `examples/ev_roundtrip_planner.js` is a specialized JavaScript der
|
|
|
29
29
|
|
|
30
30
|
## Output model
|
|
31
31
|
|
|
32
|
-
Running `node examples/ev_roundtrip_planner.js` produces a SEE-style Markdown report with an **
|
|
32
|
+
Running `node examples/ev_roundtrip_planner.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -21,4 +21,4 @@ The generated `examples/existential_rule.js` is a specialized JavaScript derivat
|
|
|
21
21
|
|
|
22
22
|
## Output model
|
|
23
23
|
|
|
24
|
-
Running `node examples/existential_rule.js` produces a SEE-style Markdown report with an **
|
|
24
|
+
Running `node examples/existential_rule.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -23,4 +23,4 @@ The generated `examples/expression_eval.js` is a specialized JavaScript derivati
|
|
|
23
23
|
|
|
24
24
|
## Output model
|
|
25
25
|
|
|
26
|
-
Running `node examples/expression_eval.js` produces a SEE-style Markdown report with an **
|
|
26
|
+
Running `node examples/expression_eval.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -21,4 +21,4 @@ The generated `examples/family_cousins.js` is a specialized JavaScript derivatio
|
|
|
21
21
|
|
|
22
22
|
## Output model
|
|
23
23
|
|
|
24
|
-
Running `node examples/family_cousins.js` produces a SEE-style Markdown report with an **
|
|
24
|
+
Running `node examples/family_cousins.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -26,4 +26,4 @@ The generated `examples/fastpow.js` is a specialized JavaScript derivation progr
|
|
|
26
26
|
|
|
27
27
|
## Output model
|
|
28
28
|
|
|
29
|
-
Running `node examples/fastpow.js` produces a SEE-style Markdown report with an **
|
|
29
|
+
Running `node examples/fastpow.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -25,4 +25,4 @@ The generated `examples/fibonacci.js` is a specialized JavaScript derivation pro
|
|
|
25
25
|
|
|
26
26
|
## Output model
|
|
27
27
|
|
|
28
|
-
Running `node examples/fibonacci.js` produces a SEE-style Markdown report with an **
|
|
28
|
+
Running `node examples/fibonacci.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -25,4 +25,4 @@ The generated `examples/french_cities.js` is a specialized JavaScript derivation
|
|
|
25
25
|
|
|
26
26
|
## Output model
|
|
27
27
|
|
|
28
|
-
Running `node examples/french_cities.js` produces a SEE-style Markdown report with an **
|
|
28
|
+
Running `node examples/french_cities.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -33,4 +33,4 @@ The generated `examples/fundamental_theorem_arithmetic.js` is a specialized Java
|
|
|
33
33
|
|
|
34
34
|
## Output model
|
|
35
35
|
|
|
36
|
-
Running `node examples/fundamental_theorem_arithmetic.js` produces a SEE-style Markdown report with an **
|
|
36
|
+
Running `node examples/fundamental_theorem_arithmetic.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -26,4 +26,4 @@ The generated `examples/genetic_knapsack_selection.js` is a specialized JavaScri
|
|
|
26
26
|
|
|
27
27
|
## Output model
|
|
28
28
|
|
|
29
|
-
Running `node examples/genetic_knapsack_selection.js` produces a SEE-style Markdown report with an **
|
|
29
|
+
Running `node examples/genetic_knapsack_selection.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -28,4 +28,4 @@ The generated `examples/goldbach_1000.js` is a specialized JavaScript derivation
|
|
|
28
28
|
|
|
29
29
|
## Output model
|
|
30
30
|
|
|
31
|
-
Running `node examples/goldbach_1000.js` produces a SEE-style Markdown report with an **
|
|
31
|
+
Running `node examples/goldbach_1000.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -24,4 +24,4 @@ The generated `examples/good_cobbler.js` is a specialized JavaScript derivation
|
|
|
24
24
|
|
|
25
25
|
## Output model
|
|
26
26
|
|
|
27
|
-
Running `node examples/good_cobbler.js` produces a SEE-style Markdown report with an **
|
|
27
|
+
Running `node examples/good_cobbler.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
package/see/examples/doc/gps.md
CHANGED
|
@@ -32,4 +32,4 @@ The generated `examples/gps.js` is a specialized JavaScript derivation program.
|
|
|
32
32
|
|
|
33
33
|
## Output model
|
|
34
34
|
|
|
35
|
-
Running `node examples/gps.js` produces a SEE-style Markdown report with an **
|
|
35
|
+
Running `node examples/gps.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -28,4 +28,4 @@ The generated `examples/gray_code_counter.js` is a specialized JavaScript deriva
|
|
|
28
28
|
|
|
29
29
|
## Output model
|
|
30
30
|
|
|
31
|
-
Running `node examples/gray_code_counter.js` produces a SEE-style Markdown report with an **
|
|
31
|
+
Running `node examples/gray_code_counter.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -21,4 +21,4 @@ The generated `examples/greatest_lower_bound_uniqueness.js` is a specialized Jav
|
|
|
21
21
|
|
|
22
22
|
## Output model
|
|
23
23
|
|
|
24
|
-
Running `node examples/greatest_lower_bound_uniqueness.js` produces a SEE-style Markdown report with an **
|
|
24
|
+
Running `node examples/greatest_lower_bound_uniqueness.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|
|
@@ -21,4 +21,4 @@ The generated `examples/group_inverse_uniqueness.js` is a specialized JavaScript
|
|
|
21
21
|
|
|
22
22
|
## Output model
|
|
23
23
|
|
|
24
|
-
Running `node examples/group_inverse_uniqueness.js` produces a SEE-style Markdown report with an **
|
|
24
|
+
Running `node examples/group_inverse_uniqueness.js` produces a SEE-style Markdown report with an **Entailment** section, an **Explanation** section, and a **Formal TriG Output** section containing the selected derived/query facts.
|