eyeling 1.24.7 → 1.24.8
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/HANDBOOK.md +35 -35
- package/dist/browser/eyeling.browser.js +14 -1
- package/examples/act-alarm-bit-interoperability.n3 +2 -0
- package/examples/act-barley-seed-lineage.n3 +2 -0
- package/examples/act-docking-abort.n3 +2 -0
- package/examples/act-gravity-mediator-witness.n3 +2 -0
- package/examples/act-isolation-breach.n3 +2 -0
- package/examples/act-photosynthetic-exciton-transfer.n3 +2 -0
- package/examples/act-sensor-memory-reset.n3 +2 -0
- package/examples/act-tunnel-junction-wake-switch.n3 +2 -0
- package/examples/act-yeast-self-reproduction.n3 +2 -0
- package/examples/annotation.n3 +5 -0
- package/examples/auroracare.n3 +8 -8
- package/examples/backward-recursion.n3 +5 -0
- package/examples/barley-seed-becoming.n3 +2 -0
- package/examples/bmi.n3 +2 -0
- package/examples/builtin-coverage.n3 +5 -0
- package/examples/calidor.n3 +3 -3
- package/examples/collection.n3 +5 -0
- package/examples/complex-matrix-stability.n3 +2 -0
- package/examples/context-association.n3 +0 -8
- package/examples/control-system.n3 +2 -0
- package/examples/deep-taxonomy-10.n3 +2 -0
- package/examples/deep-taxonomy-100.n3 +2 -0
- package/examples/deep-taxonomy-1000.n3 +2 -0
- package/examples/deep-taxonomy-10000.n3 +2 -0
- package/examples/deep-taxonomy-100000.n3 +2 -0
- package/examples/delfour.n3 +3 -3
- package/examples/digital-product-passport.n3 +2 -0
- package/examples/dijkstra-risk-path.n3 +1 -2
- package/examples/easter.n3 +3 -1
- package/examples/eco-route-insight.n3 +1 -2
- package/examples/flandor.n3 +3 -3
- package/examples/french-cities.n3 +2 -0
- package/examples/fundamental-theorem-arithmetic.n3 +2 -0
- package/examples/genetic-algorithm-knapsack.n3 +1 -1
- package/examples/genetic-algorithm.n3 +1 -1
- package/examples/genetic-knapsack-selection.n3 +1 -2
- package/examples/gps.n3 +2 -0
- package/examples/harborsmr.n3 +2 -0
- package/examples/input/rdf-message-flow.trig +10 -10
- package/examples/input/rdf-messages.trig +6 -6
- package/examples/interop-demo.n3 +3 -1
- package/examples/matrix-mechanics.n3 +3 -3
- package/examples/medior.n3 +3 -3
- package/examples/n3-speaks-for-itself.n3 +5 -0
- package/examples/odrl-dpv-ehds-risk-ranked.n3 +1 -1
- package/examples/odrl-dpv-healthcare-risk-ranked.n3 +1 -1
- package/examples/odrl-dpv-risk-ranked.n3 +1 -1
- package/examples/odrl-risk-mitigation.n3 +1 -1
- package/examples/odrl-risk.n3 +1 -1
- package/examples/output/{act-alarm-bit-interoperability.txt → act-alarm-bit-interoperability.md} +19 -17
- package/examples/output/act-barley-seed-lineage.md +27 -0
- package/examples/output/{act-docking-abort.txt → act-docking-abort.md} +21 -19
- package/examples/output/{act-gravity-mediator-witness.txt → act-gravity-mediator-witness.md} +23 -21
- package/examples/output/{act-isolation-breach.txt → act-isolation-breach.md} +26 -24
- package/examples/output/{act-photosynthetic-exciton-transfer.txt → act-photosynthetic-exciton-transfer.md} +19 -17
- package/examples/output/{act-sensor-memory-reset.txt → act-sensor-memory-reset.md} +19 -17
- package/examples/output/{act-tunnel-junction-wake-switch.txt → act-tunnel-junction-wake-switch.md} +20 -18
- package/examples/output/{act-yeast-self-reproduction.txt → act-yeast-self-reproduction.md} +22 -20
- package/examples/output/annotation.md +1 -0
- package/examples/output/auroracare.md +150 -0
- package/examples/output/backward-recursion.md +6 -0
- package/examples/output/barley-seed-becoming.md +27 -0
- package/examples/output/{bmi.txt → bmi.md} +19 -17
- package/examples/output/builtin-coverage.md +1 -0
- package/examples/output/calidor.md +31 -0
- package/examples/output/collection.md +1 -0
- package/examples/output/{complex-matrix-stability.txt → complex-matrix-stability.md} +13 -11
- package/examples/output/context-association.md +7 -0
- package/examples/output/{control-system.txt → control-system.md} +19 -17
- package/examples/output/{deep-taxonomy-10.txt → deep-taxonomy-10.md} +14 -12
- package/examples/output/{deep-taxonomy-100.txt → deep-taxonomy-100.md} +14 -12
- package/examples/output/{deep-taxonomy-1000.txt → deep-taxonomy-1000.md} +14 -12
- package/examples/output/{deep-taxonomy-10000.txt → deep-taxonomy-10000.md} +14 -12
- package/examples/output/{deep-taxonomy-100000.txt → deep-taxonomy-100000.md} +14 -12
- package/examples/output/delfour.md +32 -0
- package/examples/output/digital-product-passport.md +3 -0
- package/examples/output/dijkstra-risk-path.md +11 -0
- package/examples/output/{easter.txt → easter.md} +152 -150
- package/examples/output/eco-route-insight.md +20 -0
- package/examples/output/flandor.md +33 -0
- package/examples/output/{french-cities.txt → french-cities.md} +13 -11
- package/examples/output/{fundamental-theorem-arithmetic.txt → fundamental-theorem-arithmetic.md} +14 -12
- package/examples/output/genetic-algorithm-knapsack.md +3 -0
- package/examples/output/genetic-algorithm.md +3 -0
- package/examples/output/genetic-knapsack-selection.md +13 -0
- package/examples/output/{gps.txt → gps.md} +14 -12
- package/examples/output/harborsmr.md +22 -0
- package/examples/output/{interop-demo.txt → interop-demo.md} +3 -1
- package/examples/output/matrix-mechanics.md +16 -0
- package/examples/output/medior.md +34 -0
- package/examples/output/n3-speaks-for-itself.md +54 -0
- package/examples/output/{odrl-dpv-ehds-risk-ranked.txt → odrl-dpv-ehds-risk-ranked.md} +16 -15
- package/examples/output/{odrl-dpv-healthcare-risk-ranked.txt → odrl-dpv-healthcare-risk-ranked.md} +13 -12
- package/examples/output/{odrl-dpv-risk-ranked.txt → odrl-dpv-risk-ranked.md} +17 -16
- package/examples/output/{odrl-risk-mitigation.txt → odrl-risk-mitigation.md} +17 -16
- package/examples/output/{odrl-risk.txt → odrl-risk.md} +6 -5
- package/examples/output/parcellocker.md +22 -0
- package/examples/output/pn-junction-tunneling.md +25 -0
- package/examples/output/queens.md +23 -0
- package/examples/output/{rc-discharge-envelope.txt → rc-discharge-envelope.md} +10 -8
- package/examples/output/rdf-dataset.md +7 -0
- package/examples/output/rdf-message-flow.md +7 -0
- package/examples/output/rdf-messages.md +7 -0
- package/examples/output/{resto.txt → resto.md} +19 -17
- package/examples/output/school-placement-audit.md +11 -0
- package/examples/output/smoke-arithmetic.md +7 -0
- package/examples/output/sqrt2-cauchy.md +15 -0
- package/examples/output/sqrt2-dedekind.md +33 -0
- package/examples/output/{sudoku.txt → sudoku.md} +45 -43
- package/examples/output/transcendental-numbers-stretched.md +262 -0
- package/examples/output/transistor-switch.md +26 -0
- package/examples/output/triple-terms.md +7 -0
- package/examples/output/{tunnel-junction-wake-switch-becoming.txt → tunnel-junction-wake-switch-becoming.md} +20 -18
- package/examples/output/{wind-turbine.txt → wind-turbine.md} +17 -15
- package/examples/parcellocker.n3 +2 -0
- package/examples/pn-junction-tunneling.n3 +3 -3
- package/examples/queens.n3 +1 -0
- package/examples/rc-discharge-envelope.n3 +1 -1
- package/examples/rdf-dataset.n3 +5 -0
- package/examples/rdf-message-flow.n3 +1 -2
- package/examples/rdf-messages.n3 +1 -2
- package/examples/resto.n3 +2 -0
- package/examples/school-placement-audit.n3 +1 -2
- package/examples/smoke-arithmetic.n3 +1 -1
- package/examples/sqrt2-cauchy.n3 +2 -0
- package/examples/sqrt2-dedekind.n3 +2 -0
- package/examples/sudoku.n3 +14 -14
- package/examples/transcendental-numbers-stretched.n3 +5 -0
- package/examples/transistor-switch.n3 +3 -3
- package/examples/triple-terms.n3 +5 -0
- package/examples/tunnel-junction-wake-switch-becoming.n3 +2 -0
- package/examples/wind-turbine.n3 +2 -0
- package/eyeling.js +14 -1
- package/lib/explain.js +14 -1
- package/package.json +1 -1
- package/test/examples.test.js +44 -13
- package/test/package.test.js +43 -7
- package/examples/output/act-barley-seed-lineage.txt +0 -25
- package/examples/output/annotation.n3 +0 -0
- package/examples/output/auroracare.txt +0 -149
- package/examples/output/backward-recursion.n3 +0 -4
- package/examples/output/barley-seed-becoming.txt +0 -25
- package/examples/output/builtin-coverage.n3 +0 -0
- package/examples/output/calidor.txt +0 -29
- package/examples/output/collection.n3 +0 -0
- package/examples/output/context-association.n3 +0 -9
- package/examples/output/delfour.txt +0 -30
- package/examples/output/digital-product-passport.txt +0 -1
- package/examples/output/dijkstra-risk-path.n3 +0 -3
- package/examples/output/eco-route-insight.n3 +0 -3
- package/examples/output/flandor.txt +0 -31
- package/examples/output/genetic-algorithm-knapsack.txt +0 -1
- package/examples/output/genetic-algorithm.txt +0 -1
- package/examples/output/genetic-knapsack-selection.n3 +0 -3
- package/examples/output/harborsmr.txt +0 -20
- package/examples/output/matrix-mechanics.txt +0 -14
- package/examples/output/medior.txt +0 -32
- package/examples/output/n3-speaks-for-itself.txt +0 -52
- package/examples/output/parcellocker.txt +0 -20
- package/examples/output/pn-junction-tunneling.txt +0 -23
- package/examples/output/queens.txt +0 -21
- package/examples/output/rc-discharge-envelope.n3 +0 -9
- package/examples/output/rdf-dataset.n3 +0 -5
- package/examples/output/rdf-message-flow.n3 +0 -7
- package/examples/output/rdf-messages.n3 +0 -7
- package/examples/output/school-placement-audit.n3 +0 -3
- package/examples/output/smoke-arithmetic.n3 +0 -5
- package/examples/output/smoke-arithmetic.txt +0 -5
- package/examples/output/sqrt2-cauchy.txt +0 -13
- package/examples/output/sqrt2-dedekind.txt +0 -31
- package/examples/output/transcendental-numbers-stretched.txt +0 -260
- package/examples/output/transistor-switch.txt +0 -24
- package/examples/output/triple-terms.n3 +0 -5
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
# transcendental-numbers-stretched
|
|
2
|
+
|
|
3
|
+
@prefix : <https://example.org/transcendental#> .
|
|
4
|
+
|
|
5
|
+
:report :concerns :prod_e_pi .
|
|
6
|
+
:report :concerns :sum_e_pi .
|
|
7
|
+
:report :headline :quadraticTrick .
|
|
8
|
+
:report :irrational :e .
|
|
9
|
+
:report :irrational :e_div_2 .
|
|
10
|
+
:report :irrational :e_plus_1 .
|
|
11
|
+
:report :irrational :e_plus_2 .
|
|
12
|
+
:report :irrational :exp_minus_pi_over_2 .
|
|
13
|
+
:report :irrational :exp_sqrt2 .
|
|
14
|
+
:report :irrational :half_times_e .
|
|
15
|
+
:report :irrational :half_times_pi .
|
|
16
|
+
:report :irrational :pi .
|
|
17
|
+
:report :irrational :pi_div_2 .
|
|
18
|
+
:report :irrational :pi_plus_1 .
|
|
19
|
+
:report :irrational :pi_plus_sqrt2 .
|
|
20
|
+
:report :irrational :pow_2_sqrt2 .
|
|
21
|
+
:report :irrational :pow_e_pi .
|
|
22
|
+
:report :irrational :pow_i_i .
|
|
23
|
+
:report :irrational :pow_minus1_minusI .
|
|
24
|
+
:report :irrational :pow2sqrt2_div_2 .
|
|
25
|
+
:report :irrational :pow2sqrt2_plus_1 .
|
|
26
|
+
:report :irrational :two_times_e .
|
|
27
|
+
:report :irrational :two_times_pi .
|
|
28
|
+
:report :irrational :two_times_pow2sqrt2 .
|
|
29
|
+
:report :notConstructible :e .
|
|
30
|
+
:report :notConstructible :e_div_2 .
|
|
31
|
+
:report :notConstructible :e_plus_1 .
|
|
32
|
+
:report :notConstructible :e_plus_2 .
|
|
33
|
+
:report :notConstructible :exp_minus_pi_over_2 .
|
|
34
|
+
:report :notConstructible :exp_sqrt2 .
|
|
35
|
+
:report :notConstructible :half_times_e .
|
|
36
|
+
:report :notConstructible :half_times_pi .
|
|
37
|
+
:report :notConstructible :pi .
|
|
38
|
+
:report :notConstructible :pi_div_2 .
|
|
39
|
+
:report :notConstructible :pi_plus_1 .
|
|
40
|
+
:report :notConstructible :pi_plus_sqrt2 .
|
|
41
|
+
:report :notConstructible :pow_2_sqrt2 .
|
|
42
|
+
:report :notConstructible :pow_e_pi .
|
|
43
|
+
:report :notConstructible :pow_i_i .
|
|
44
|
+
:report :notConstructible :pow_minus1_minusI .
|
|
45
|
+
:report :notConstructible :pow2sqrt2_div_2 .
|
|
46
|
+
:report :notConstructible :pow2sqrt2_plus_1 .
|
|
47
|
+
:report :notConstructible :two_times_e .
|
|
48
|
+
:report :notConstructible :two_times_pi .
|
|
49
|
+
:report :notConstructible :two_times_pow2sqrt2 .
|
|
50
|
+
:report :proof {
|
|
51
|
+
:e :provedBy :Hermite1873 .
|
|
52
|
+
} .
|
|
53
|
+
:report :proof {
|
|
54
|
+
:e :provedBy :TransImpliesIrrational .
|
|
55
|
+
} .
|
|
56
|
+
:report :proof {
|
|
57
|
+
:e :provedBy :TransImpliesNotConstructible .
|
|
58
|
+
} .
|
|
59
|
+
:report :proof {
|
|
60
|
+
:e_div_2 :provedBy :TransDivAlg .
|
|
61
|
+
} .
|
|
62
|
+
:report :proof {
|
|
63
|
+
:e_div_2 :provedBy :TransImpliesIrrational .
|
|
64
|
+
} .
|
|
65
|
+
:report :proof {
|
|
66
|
+
:e_div_2 :provedBy :TransImpliesNotConstructible .
|
|
67
|
+
} .
|
|
68
|
+
:report :proof {
|
|
69
|
+
:e_plus_1 :provedBy :TransImpliesIrrational .
|
|
70
|
+
} .
|
|
71
|
+
:report :proof {
|
|
72
|
+
:e_plus_1 :provedBy :TransImpliesNotConstructible .
|
|
73
|
+
} .
|
|
74
|
+
:report :proof {
|
|
75
|
+
:e_plus_1 :provedBy :TransPlusAlg .
|
|
76
|
+
} .
|
|
77
|
+
:report :proof {
|
|
78
|
+
:e_plus_2 :provedBy :TransImpliesIrrational .
|
|
79
|
+
} .
|
|
80
|
+
:report :proof {
|
|
81
|
+
:e_plus_2 :provedBy :TransImpliesNotConstructible .
|
|
82
|
+
} .
|
|
83
|
+
:report :proof {
|
|
84
|
+
:e_plus_2 :provedBy :TransPlusAlg .
|
|
85
|
+
} .
|
|
86
|
+
:report :proof {
|
|
87
|
+
:exp_minus_pi_over_2 :provedBy :GelfondSchneider .
|
|
88
|
+
} .
|
|
89
|
+
:report :proof {
|
|
90
|
+
:exp_minus_pi_over_2 :provedBy :TransImpliesIrrational .
|
|
91
|
+
} .
|
|
92
|
+
:report :proof {
|
|
93
|
+
:exp_minus_pi_over_2 :provedBy :TransImpliesNotConstructible .
|
|
94
|
+
} .
|
|
95
|
+
:report :proof {
|
|
96
|
+
:exp_sqrt2 :provedBy :LindemannWeierstrass .
|
|
97
|
+
} .
|
|
98
|
+
:report :proof {
|
|
99
|
+
:exp_sqrt2 :provedBy :TransImpliesIrrational .
|
|
100
|
+
} .
|
|
101
|
+
:report :proof {
|
|
102
|
+
:exp_sqrt2 :provedBy :TransImpliesNotConstructible .
|
|
103
|
+
} .
|
|
104
|
+
:report :proof {
|
|
105
|
+
:half_times_e :provedBy :TransImpliesIrrational .
|
|
106
|
+
} .
|
|
107
|
+
:report :proof {
|
|
108
|
+
:half_times_e :provedBy :TransImpliesNotConstructible .
|
|
109
|
+
} .
|
|
110
|
+
:report :proof {
|
|
111
|
+
:half_times_e :provedBy :TransTimesAlg .
|
|
112
|
+
} .
|
|
113
|
+
:report :proof {
|
|
114
|
+
:half_times_pi :provedBy :TransImpliesIrrational .
|
|
115
|
+
} .
|
|
116
|
+
:report :proof {
|
|
117
|
+
:half_times_pi :provedBy :TransImpliesNotConstructible .
|
|
118
|
+
} .
|
|
119
|
+
:report :proof {
|
|
120
|
+
:half_times_pi :provedBy :TransTimesAlg .
|
|
121
|
+
} .
|
|
122
|
+
:report :proof {
|
|
123
|
+
:pi :provedBy :Lindemann1882 .
|
|
124
|
+
} .
|
|
125
|
+
:report :proof {
|
|
126
|
+
:pi :provedBy :TransImpliesIrrational .
|
|
127
|
+
} .
|
|
128
|
+
:report :proof {
|
|
129
|
+
:pi :provedBy :TransImpliesNotConstructible .
|
|
130
|
+
} .
|
|
131
|
+
:report :proof {
|
|
132
|
+
:pi_div_2 :provedBy :TransDivAlg .
|
|
133
|
+
} .
|
|
134
|
+
:report :proof {
|
|
135
|
+
:pi_div_2 :provedBy :TransImpliesIrrational .
|
|
136
|
+
} .
|
|
137
|
+
:report :proof {
|
|
138
|
+
:pi_div_2 :provedBy :TransImpliesNotConstructible .
|
|
139
|
+
} .
|
|
140
|
+
:report :proof {
|
|
141
|
+
:pi_plus_1 :provedBy :TransImpliesIrrational .
|
|
142
|
+
} .
|
|
143
|
+
:report :proof {
|
|
144
|
+
:pi_plus_1 :provedBy :TransImpliesNotConstructible .
|
|
145
|
+
} .
|
|
146
|
+
:report :proof {
|
|
147
|
+
:pi_plus_1 :provedBy :TransPlusAlg .
|
|
148
|
+
} .
|
|
149
|
+
:report :proof {
|
|
150
|
+
:pi_plus_sqrt2 :provedBy :TransImpliesIrrational .
|
|
151
|
+
} .
|
|
152
|
+
:report :proof {
|
|
153
|
+
:pi_plus_sqrt2 :provedBy :TransImpliesNotConstructible .
|
|
154
|
+
} .
|
|
155
|
+
:report :proof {
|
|
156
|
+
:pi_plus_sqrt2 :provedBy :TransPlusAlg .
|
|
157
|
+
} .
|
|
158
|
+
:report :proof {
|
|
159
|
+
:pow_2_sqrt2 :provedBy :GelfondSchneider .
|
|
160
|
+
} .
|
|
161
|
+
:report :proof {
|
|
162
|
+
:pow_2_sqrt2 :provedBy :TransImpliesIrrational .
|
|
163
|
+
} .
|
|
164
|
+
:report :proof {
|
|
165
|
+
:pow_2_sqrt2 :provedBy :TransImpliesNotConstructible .
|
|
166
|
+
} .
|
|
167
|
+
:report :proof {
|
|
168
|
+
:pow_e_pi :provedBy :GelfondSchneider .
|
|
169
|
+
} .
|
|
170
|
+
:report :proof {
|
|
171
|
+
:pow_e_pi :provedBy :TransImpliesIrrational .
|
|
172
|
+
} .
|
|
173
|
+
:report :proof {
|
|
174
|
+
:pow_e_pi :provedBy :TransImpliesNotConstructible .
|
|
175
|
+
} .
|
|
176
|
+
:report :proof {
|
|
177
|
+
:pow_i_i :provedBy :GelfondSchneider .
|
|
178
|
+
} .
|
|
179
|
+
:report :proof {
|
|
180
|
+
:pow_i_i :provedBy :TransImpliesIrrational .
|
|
181
|
+
} .
|
|
182
|
+
:report :proof {
|
|
183
|
+
:pow_i_i :provedBy :TransImpliesNotConstructible .
|
|
184
|
+
} .
|
|
185
|
+
:report :proof {
|
|
186
|
+
:pow_minus1_minusI :provedBy :GelfondSchneider .
|
|
187
|
+
} .
|
|
188
|
+
:report :proof {
|
|
189
|
+
:pow_minus1_minusI :provedBy :TransImpliesIrrational .
|
|
190
|
+
} .
|
|
191
|
+
:report :proof {
|
|
192
|
+
:pow_minus1_minusI :provedBy :TransImpliesNotConstructible .
|
|
193
|
+
} .
|
|
194
|
+
:report :proof {
|
|
195
|
+
:pow2sqrt2_div_2 :provedBy :TransDivAlg .
|
|
196
|
+
} .
|
|
197
|
+
:report :proof {
|
|
198
|
+
:pow2sqrt2_div_2 :provedBy :TransImpliesIrrational .
|
|
199
|
+
} .
|
|
200
|
+
:report :proof {
|
|
201
|
+
:pow2sqrt2_div_2 :provedBy :TransImpliesNotConstructible .
|
|
202
|
+
} .
|
|
203
|
+
:report :proof {
|
|
204
|
+
:pow2sqrt2_plus_1 :provedBy :TransImpliesIrrational .
|
|
205
|
+
} .
|
|
206
|
+
:report :proof {
|
|
207
|
+
:pow2sqrt2_plus_1 :provedBy :TransImpliesNotConstructible .
|
|
208
|
+
} .
|
|
209
|
+
:report :proof {
|
|
210
|
+
:pow2sqrt2_plus_1 :provedBy :TransPlusAlg .
|
|
211
|
+
} .
|
|
212
|
+
:report :proof {
|
|
213
|
+
:two_times_e :provedBy :TransImpliesIrrational .
|
|
214
|
+
} .
|
|
215
|
+
:report :proof {
|
|
216
|
+
:two_times_e :provedBy :TransImpliesNotConstructible .
|
|
217
|
+
} .
|
|
218
|
+
:report :proof {
|
|
219
|
+
:two_times_e :provedBy :TransTimesAlg .
|
|
220
|
+
} .
|
|
221
|
+
:report :proof {
|
|
222
|
+
:two_times_pi :provedBy :TransImpliesIrrational .
|
|
223
|
+
} .
|
|
224
|
+
:report :proof {
|
|
225
|
+
:two_times_pi :provedBy :TransImpliesNotConstructible .
|
|
226
|
+
} .
|
|
227
|
+
:report :proof {
|
|
228
|
+
:two_times_pi :provedBy :TransTimesAlg .
|
|
229
|
+
} .
|
|
230
|
+
:report :proof {
|
|
231
|
+
:two_times_pow2sqrt2 :provedBy :TransImpliesIrrational .
|
|
232
|
+
} .
|
|
233
|
+
:report :proof {
|
|
234
|
+
:two_times_pow2sqrt2 :provedBy :TransImpliesNotConstructible .
|
|
235
|
+
} .
|
|
236
|
+
:report :proof {
|
|
237
|
+
:two_times_pow2sqrt2 :provedBy :TransTimesAlg .
|
|
238
|
+
} .
|
|
239
|
+
:report :transcendental :e .
|
|
240
|
+
:report :transcendental :e_div_2 .
|
|
241
|
+
:report :transcendental :e_plus_1 .
|
|
242
|
+
:report :transcendental :e_plus_2 .
|
|
243
|
+
:report :transcendental :exp_minus_pi_over_2 .
|
|
244
|
+
:report :transcendental :exp_sqrt2 .
|
|
245
|
+
:report :transcendental :half_times_e .
|
|
246
|
+
:report :transcendental :half_times_pi .
|
|
247
|
+
:report :transcendental :pi .
|
|
248
|
+
:report :transcendental :pi_div_2 .
|
|
249
|
+
:report :transcendental :pi_plus_1 .
|
|
250
|
+
:report :transcendental :pi_plus_sqrt2 .
|
|
251
|
+
:report :transcendental :pow_2_sqrt2 .
|
|
252
|
+
:report :transcendental :pow_e_pi .
|
|
253
|
+
:report :transcendental :pow_i_i .
|
|
254
|
+
:report :transcendental :pow_minus1_minusI .
|
|
255
|
+
:report :transcendental :pow2sqrt2_div_2 .
|
|
256
|
+
:report :transcendental :pow2sqrt2_plus_1 .
|
|
257
|
+
:report :transcendental :two_times_e .
|
|
258
|
+
:report :transcendental :two_times_pi .
|
|
259
|
+
:report :transcendental :two_times_pow2sqrt2 .
|
|
260
|
+
:report :unknown :pow_pi_e .
|
|
261
|
+
:report :unknown :prod_e_pi .
|
|
262
|
+
:report :unknown :sum_e_pi .
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# transistor-switch
|
|
2
|
+
|
|
3
|
+
## Answer
|
|
4
|
+
In this toy transistor-switch model, a low input leaves the transistor in cutoff (OFF) and a high input drives it into saturation (ON), so the load behaves like an on/off branch rather than a linear amplifier.
|
|
5
|
+
case : transistor-switch
|
|
6
|
+
low input state : cutoff / OFF
|
|
7
|
+
high input state : saturation / ON
|
|
8
|
+
on-state load current : 4.80 mA
|
|
9
|
+
|
|
10
|
+
## Reason Why
|
|
11
|
+
We model an NPN low-side switch with exact millivolt and microamp arithmetic. The base current comes from (Vin - Vbe,on)/Rb when the base-emitter junction is forward biased, and the collector current is the smaller of beta * Ib and the load-limited current (Vcc - Vce,sat)/Rl.
|
|
12
|
+
supply voltage : 5.00 V
|
|
13
|
+
base resistor : 10000 ohms
|
|
14
|
+
load resistor : 1000 ohms
|
|
15
|
+
transistor beta proxy : 100
|
|
16
|
+
low input : Vin=0.00 V -> Ib=0.00 mA, Ic=0.00 mA, Vce=5.00 V, state=cutoff / OFF
|
|
17
|
+
high input : Vin=5.00 V -> Ib=0.43 mA, Ic=4.80 mA, Vce=0.20 V, state=saturation / ON
|
|
18
|
+
high-input gain limit : 43.00 mA
|
|
19
|
+
high-input load limit : 4.80 mA
|
|
20
|
+
|
|
21
|
+
## Check
|
|
22
|
+
low input stays in cutoff : yes
|
|
23
|
+
high input reaches saturation : yes
|
|
24
|
+
switching states differ : yes
|
|
25
|
+
on-state current is load-limited : yes
|
|
26
|
+
load voltage matches resistor drop : yes
|
|
@@ -1,21 +1,23 @@
|
|
|
1
|
-
tunnel-junction
|
|
1
|
+
# tunnel-junction-wake-switch-becoming
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
YES for the tunnel junction.
|
|
5
|
-
NO for the conventional low-bias PN junction in the same wake-switch regime.
|
|
3
|
+
tunnel-junction wake switch — becoming
|
|
6
4
|
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
Answer
|
|
6
|
+
YES for the tunnel junction.
|
|
7
|
+
NO for the conventional low-bias PN junction in the same wake-switch regime.
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
9
|
+
Reason Why
|
|
10
|
+
The tunnel junction can be read as a becoming under low forward bias. Because it is modeled as a heavily doped narrow PN junction with overlapping states, it can become a quantum-transfer state. In that regime it can become a sub-threshold current state, and under peak-to-valley scanning it can also become a negative differential response state. As a wake-switch device, that lets it become an ultra-low-bias switching state and finally a leak-alarm wake-serving state. By contrast, the conventional junction lacks the structural conditions needed for the same transition into quantum transfer, so the later wake-serving becoming is blocked as well.
|
|
11
|
+
|
|
12
|
+
Check
|
|
13
|
+
B1 OK - the tunnel junction can become a quantum-transfer state
|
|
14
|
+
B2 OK - the tunnel junction is classified as tunneling-dominant
|
|
15
|
+
B3 OK - the tunnel junction can become a sub-threshold current state
|
|
16
|
+
B4 OK - the tunnel junction can become a negative differential response state
|
|
17
|
+
B5 OK - the tunnel junction can become an ultra-low-bias switching state
|
|
18
|
+
B6 OK - the tunnel junction can become a leak-alarm wake-serving state
|
|
19
|
+
B7 OK - the conventional junction cannot become a quantum-transfer state
|
|
20
|
+
B8 OK - the conventional junction cannot become a sub-threshold current state
|
|
21
|
+
B9 OK - the conventional junction cannot become the tunnel-style negative differential state
|
|
22
|
+
B10 OK - the conventional junction cannot become an ultra-low-bias switching state here
|
|
23
|
+
B11 OK - the conventional junction cannot become a leak-alarm wake-serving state in this case
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
# wind-turbine
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
Act now: schedule an urgent inspection and gearbox maintenance.
|
|
3
|
+
Wind turbine — Predictive maintenance
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
Answer
|
|
6
|
+
Act now: schedule an urgent inspection and gearbox maintenance.
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
8
|
+
Reason Why
|
|
9
|
+
North field turbine reports vibration 0.42 against a threshold of 0.35, temperature 78 against a threshold of 75, and rotor speed 1650 against a critical limit of 1800. Both vibration and temperature are above their safety thresholds, so the turbine shows a combined warning pattern. The gearbox is also degraded, so maintenance is needed even though the rotor speed is still below the critical RPM limit.
|
|
10
|
+
|
|
11
|
+
Check
|
|
12
|
+
C1 OK - measured vibration is above the vibration threshold.
|
|
13
|
+
C2 OK - measured temperature is above the temperature threshold.
|
|
14
|
+
C3 OK - a high-vibration anomaly was inferred from the readings.
|
|
15
|
+
C4 OK - a high-temperature anomaly was inferred from the readings.
|
|
16
|
+
C5 OK - urgent inspection follows from the combination of both anomalies.
|
|
17
|
+
C6 OK - the gearbox is marked as degraded.
|
|
18
|
+
C7 OK - degraded gearbox status triggered gearbox maintenance.
|
|
19
|
+
C8 OK - rotor speed is below the critical RPM threshold, so the urgent action is not based on overspeed.
|
|
20
|
+
C9 OK - two separate actions were derived: inspection and maintenance.
|
package/examples/parcellocker.n3
CHANGED
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
( "peak current proxy : %s\n" ?peakCurrent ) string:format ?peakCurrentLine .
|
|
137
137
|
}
|
|
138
138
|
=> {
|
|
139
|
-
:01-answer-1 log:outputString "
|
|
139
|
+
:01-answer-1 log:outputString "# pn-junction-tunneling\n\n## Answer\n" .
|
|
140
140
|
:01-answer-2 log:outputString "In this toy PN-junction tunneling model, heavy doping narrows the depletion region enough for a tunneling window that rises to a peak and then falls, producing a negative-differential region.\n" .
|
|
141
141
|
:01-answer-3 log:outputString "case : pn-junction-tunneling\n" .
|
|
142
142
|
:01-answer-4 log:outputString ?peakBiasLine .
|
|
@@ -167,7 +167,7 @@
|
|
|
167
167
|
( "high-bias point : %s -> %s\n" ?valleyBias ?valleyCurrent ) string:format ?valleyLine .
|
|
168
168
|
}
|
|
169
169
|
=> {
|
|
170
|
-
:02-why-1 log:outputString "
|
|
170
|
+
:02-why-1 log:outputString "## Reason Why\n" .
|
|
171
171
|
:02-why-2 log:outputString "We model tunneling current as an exact overlap count between filled N-side states and empty P-side states while forward bias shifts the bands. Heavy doping is represented by a much narrower depletion region.\n" .
|
|
172
172
|
:02-why-3 log:outputString ?ordinaryLine .
|
|
173
173
|
:02-why-4 log:outputString ?tunnelLine .
|
|
@@ -187,7 +187,7 @@
|
|
|
187
187
|
:case :peakMatchesFullOverlap true .
|
|
188
188
|
}
|
|
189
189
|
=> {
|
|
190
|
-
:03-check-1 log:outputString "
|
|
190
|
+
:03-check-1 log:outputString "## Check\n" .
|
|
191
191
|
:03-check-2 log:outputString "heavily doped barrier is narrower : yes\n" .
|
|
192
192
|
:03-check-3 log:outputString "peak occurs before overlap closes : yes\n" .
|
|
193
193
|
:03-check-4 log:outputString "negative differential region present : yes\n" .
|
package/examples/queens.n3
CHANGED
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
{
|
|
45
45
|
:case :exactDecaySymbol ?Symbol; :decayLower ?Lower; :decayUpper ?Upper; :firstBelowToleranceStep ?Step.
|
|
46
46
|
?Step :index ?Index; :timeSeconds ?Time; :upperVoltage ?Voltage.
|
|
47
|
-
("
|
|
47
|
+
("# rc-discharge-envelope\n\n## Answer\nexact decay symbol : %s\ncertified decay interval : [%.10f, %.10f]\nfirst below tolerance step : %d\nfirst below tolerance time : %.3f s\nupper voltage at step %d : %.6f V\n\n## Explanation\nThe physical decay factor is exp(-1/4), but the example uses a finite double interval as the certificate. Because the interval lies strictly between 0 and 1, the capacitor voltage envelope contracts each sample. The upper envelope is the safety-relevant bound: once it falls below 1.0 V, every compatible exact trajectory is below tolerance." ?Symbol ?Lower ?Upper ?Index ?Time ?Index ?Voltage) string:format ?Block.
|
|
48
48
|
} => { :report log:outputString ?Block. }.
|
package/examples/rdf-dataset.n3
CHANGED
|
@@ -23,3 +23,8 @@ VERSION "1.2"
|
|
|
23
23
|
} log:query {
|
|
24
24
|
:workOrder :entails <<( ?device :needs ?action )>> .
|
|
25
25
|
} .
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
# Markdown rendering via log:outputString.
|
|
29
|
+
:__md_output :text "# rdf-dataset\n\nVERSION \"1.2\"\n\n@prefix : <https://eyereasoner.github.io/eyeling/examples/rdf-dataset#> .\n\n:workOrder :entails <<( :sensor :needs :inspection )>> .\n" .
|
|
30
|
+
{ :__md_output :text ?text } log:query { :__md_output log:outputString ?text } .
|
|
@@ -134,10 +134,9 @@
|
|
|
134
134
|
:m005 :atStage :sink;
|
|
135
135
|
msg:payloadResult ?FifthResult;
|
|
136
136
|
:route :alertSink.
|
|
137
|
-
("
|
|
137
|
+
("# rdf-message-flow\n\n## Answer\nContinuous RDF Message flow accepted: %d ordered messages moved through the ingest → validate → interpret → route → sink pipeline. The threshold was %d, so results %s and %s were archived, the heartbeat kept the stream alive, and results %s and %s were emitted as alerts.\n\n## Explanation\nThe N3 source starts only :m001 at ingress. Each message must reach :sink before the continuous-flow rule releases its msg:nextMessage. Observation payloads are inspected with log:includes inside each message formula, while the empty heartbeat uses the same envelope and routing stages without a payload. This models messages flowing through a live stream while preserving message boundaries." ?Count ?Threshold ?FirstResult ?SecondResult ?FourthResult ?FifthResult) string:format ?Block.
|
|
138
138
|
} => {
|
|
139
139
|
:rdfMessageFlowExample log:outputString ?Block.
|
|
140
140
|
:rdfMessageFlowExample :demonstrates :ContinuousFlow, :BackPressureRelease, :AtomicMessageContext, :HeartbeatInFlow, :ThresholdRouting.
|
|
141
141
|
}.
|
|
142
142
|
|
|
143
|
-
{ :rdfMessageFlowExample :demonstrates ?Feature } log:query { :rdfMessageFlowExample :demonstrates ?Feature }.
|
package/examples/rdf-messages.n3
CHANGED
|
@@ -97,10 +97,9 @@
|
|
|
97
97
|
:BlankNodeScope :reusedLabel ?Label;
|
|
98
98
|
:isPerMessage true.
|
|
99
99
|
:MessageContext :differentObservationsStayContextual true.
|
|
100
|
-
("
|
|
100
|
+
("# rdf-messages\n\n## Answer\nRDF Message log accepted: %d explicit message boundaries are preserved. Message :m002 is an empty heartbeat, and the local blank-node label %s is safely reused in separate messages.\n\n## Explanation\nThe N3 source models an RDF Message Log as an ordered sequence of RDF Messages. Each non-empty message has a formula-valued payload that is inspected with log:includes, so the observation data stays inside the message boundary instead of being treated as one global graph. The two temperature results, %s and %s, are different observations from the same stream but are contextualized by their message boundaries." ?Count ?Label ?FirstResult ?SecondResult) string:format ?Block.
|
|
101
101
|
} => {
|
|
102
102
|
:rdfMessagesExample log:outputString ?Block.
|
|
103
103
|
:rdfMessagesExample :demonstrates :ExplicitBoundaries, :AtomicMessageContext, :EmptyHeartbeat, :MessageScopedBlankNodes, :ReplayableMessageLog.
|
|
104
104
|
}.
|
|
105
105
|
|
|
106
|
-
{ :rdfMessagesExample :demonstrates ?Feature } log:query { :rdfMessagesExample :demonstrates ?Feature }.
|
package/examples/resto.n3
CHANGED
|
@@ -42,10 +42,9 @@
|
|
|
42
42
|
|
|
43
43
|
{
|
|
44
44
|
:Audit :result ?Result; :affectedChildren ?Affected; :largestHiddenDetour ?Detour; :recommendedAssignments ?Assignments.
|
|
45
|
-
("
|
|
45
|
+
("# school-placement-audit\n\n## Answer\naudit result : %s\nchildren affected by straight-line rule : %s\nlargest hidden detour : %s\nrecommended assignments : %s\nexplanation requested : yes\n\n## Explanation\nThe support-tool rule chooses the school with the smallest straight-line distance, using preference rank only as a tie-breaker. The independent audit recomputes each candidate with walking-route distance plus 600 m per preference step. Any provisional assignment that is not the audited best, or that requires more than 2500 m of walking, is flagged. Ada and Björn look close to Centrum on a map, but their walking routes cross barriers and exceed the walking limit; Davi is also better served by the first-preference Haga route. This illustrates why a decision-support label is not enough: route geometry, preferences, and audit records must be inspectable." ?Result ?Affected ?Detour ?Assignments) string:format ?Block.
|
|
46
46
|
} => {
|
|
47
47
|
:schoolPlacementAudit log:outputString ?Block.
|
|
48
48
|
:schoolPlacementAudit :reports :Audit.
|
|
49
49
|
}.
|
|
50
50
|
|
|
51
|
-
{ :schoolPlacementAudit :reports ?Audit } log:query { :schoolPlacementAudit :reports ?Audit }.
|
|
@@ -16,5 +16,5 @@
|
|
|
16
16
|
} .
|
|
17
17
|
|
|
18
18
|
{ :Case :product ?Product.
|
|
19
|
-
("
|
|
19
|
+
("# smoke-arithmetic\n\n## Answer\nproduct = %s\n\n## Explanation\nThe compiled rule multiplies :x and :y using math:product." ?Product) string:format ?Block.
|
|
20
20
|
} => { :out01 log:outputString ?Block. } .
|
package/examples/sqrt2-cauchy.n3
CHANGED
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
@prefix log: <http://www.w3.org/2000/10/swap/log#>.
|
|
10
10
|
@prefix string: <http://www.w3.org/2000/10/swap/string#>.
|
|
11
11
|
|
|
12
|
+
:000_md_title log:outputString "# sqrt2-dedekind\n\n" .
|
|
13
|
+
|
|
12
14
|
# -----------------------------------------------------------------
|
|
13
15
|
# Data: a finite sample of rationals (decimal tokens are rationals)
|
|
14
16
|
# -----------------------------------------------------------------
|
package/examples/sudoku.n3
CHANGED
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
?givens ?blanks ?forced ?guessed ?nodes ?backtracks ?moveSummary ) string:format ?reasonText .
|
|
113
113
|
}
|
|
114
114
|
=> {
|
|
115
|
-
:01-answer log:outputString "
|
|
115
|
+
:01-answer log:outputString "# sudoku\n\n## Answer\n" ;
|
|
116
116
|
log:outputString ?answerText .
|
|
117
117
|
:01a-answer log:outputString "case : sudoku\n" ;
|
|
118
118
|
log:outputString "default puzzle : classic\n\n" ;
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
log:outputString "Completed grid\n" ;
|
|
123
123
|
log:outputString ?solutionText .
|
|
124
124
|
:01b-answer log:outputString "\n" .
|
|
125
|
-
:02-reason log:outputString "
|
|
125
|
+
:02-reason log:outputString "## Reason Why\n" ;
|
|
126
126
|
log:outputString ?reasonText ;
|
|
127
127
|
log:outputString "\n\n" .
|
|
128
128
|
} .
|
|
@@ -144,7 +144,7 @@
|
|
|
144
144
|
?givens ?blanks ?forced ?guessed ?nodes ?backtracks ?moveSummary ) string:format ?reasonText .
|
|
145
145
|
}
|
|
146
146
|
=> {
|
|
147
|
-
:01-answer log:outputString "
|
|
147
|
+
:01-answer log:outputString "# sudoku\n\n## Answer\n" ;
|
|
148
148
|
log:outputString ?answerText .
|
|
149
149
|
:01a-answer log:outputString "case : sudoku\n" ;
|
|
150
150
|
log:outputString "default puzzle : classic\n\n" ;
|
|
@@ -154,7 +154,7 @@
|
|
|
154
154
|
log:outputString "Completed grid\n" ;
|
|
155
155
|
log:outputString ?solutionText ;
|
|
156
156
|
log:outputString "\n" .
|
|
157
|
-
:02-reason log:outputString "
|
|
157
|
+
:02-reason log:outputString "## Reason Why\n" ;
|
|
158
158
|
log:outputString ?reasonText ;
|
|
159
159
|
log:outputString "\n\n" .
|
|
160
160
|
} .
|
|
@@ -164,10 +164,10 @@
|
|
|
164
164
|
:case :error ?error .
|
|
165
165
|
}
|
|
166
166
|
=> {
|
|
167
|
-
:01-answer log:outputString "
|
|
167
|
+
:01-answer log:outputString "# sudoku\n\n## Answer\n" ;
|
|
168
168
|
log:outputString "The supplied puzzle is not well formed and cannot be parsed as a 9×9 Sudoku.\n" ;
|
|
169
169
|
log:outputString "case : sudoku\n\n" .
|
|
170
|
-
:02-reason log:outputString "
|
|
170
|
+
:02-reason log:outputString "## Reason Why\n" ;
|
|
171
171
|
log:outputString ?error ;
|
|
172
172
|
log:outputString "\n\n" .
|
|
173
173
|
} .
|
|
@@ -178,13 +178,13 @@
|
|
|
178
178
|
:error ?error .
|
|
179
179
|
}
|
|
180
180
|
=> {
|
|
181
|
-
:01-answer log:outputString "
|
|
181
|
+
:01-answer log:outputString "# sudoku\n\n## Answer\n" ;
|
|
182
182
|
log:outputString "The puzzle is invalid and cannot be solved as a standard Sudoku.\n" ;
|
|
183
183
|
log:outputString "case : sudoku\n\n" ;
|
|
184
184
|
log:outputString "Puzzle\n" ;
|
|
185
185
|
log:outputString ?puzzleText ;
|
|
186
186
|
log:outputString "\n" .
|
|
187
|
-
:02-reason log:outputString "
|
|
187
|
+
:02-reason log:outputString "## Reason Why\n" ;
|
|
188
188
|
log:outputString ?error ;
|
|
189
189
|
log:outputString "\n\n" .
|
|
190
190
|
} .
|
|
@@ -200,14 +200,14 @@
|
|
|
200
200
|
?nodes ?backtracks ) string:format ?reasonText .
|
|
201
201
|
}
|
|
202
202
|
=> {
|
|
203
|
-
:01-answer log:outputString "
|
|
203
|
+
:01-answer log:outputString "# sudoku\n\n## Answer\n" ;
|
|
204
204
|
log:outputString "No valid Sudoku solution exists for the supplied puzzle.\n" ;
|
|
205
205
|
log:outputString "case : sudoku\n" ;
|
|
206
206
|
log:outputString "default puzzle : classic\n" ;
|
|
207
207
|
log:outputString "\nPuzzle\n" ;
|
|
208
208
|
log:outputString ?puzzleText ;
|
|
209
209
|
log:outputString "\n" .
|
|
210
|
-
:02-reason log:outputString "
|
|
210
|
+
:02-reason log:outputString "## Reason Why\n" ;
|
|
211
211
|
log:outputString ?reasonText ;
|
|
212
212
|
log:outputString "\n\n" .
|
|
213
213
|
} .
|
|
@@ -233,7 +233,7 @@
|
|
|
233
233
|
( "C7 %s - the search statistics and the successful proof path are internally consistent.\n" ?c7 ) string:format ?l7 .
|
|
234
234
|
}
|
|
235
235
|
=> {
|
|
236
|
-
:03-check log:outputString "
|
|
236
|
+
:03-check log:outputString "## Check\n" ;
|
|
237
237
|
log:outputString ?l1 ;
|
|
238
238
|
log:outputString ?l2 ;
|
|
239
239
|
log:outputString ?l3 ;
|
|
@@ -254,10 +254,10 @@
|
|
|
254
254
|
=> { :03a-check log:outputString "C8 INFO - a second search found another solution, so the puzzle is not unique.\n" . } .
|
|
255
255
|
|
|
256
256
|
{ :case :status "illegal-clues" . }
|
|
257
|
-
=> { :03-check log:outputString "
|
|
257
|
+
=> { :03-check log:outputString "## Check\nC1 failed - the given clues already violate Sudoku rules.\n" . } .
|
|
258
258
|
|
|
259
259
|
{ :case :status "invalid-input" . }
|
|
260
|
-
=> { :03-check log:outputString "
|
|
260
|
+
=> { :03-check log:outputString "## Check\nC1 failed - the supplied text does not normalize to exactly 81 legal Sudoku cells.\n" . } .
|
|
261
261
|
|
|
262
262
|
{ :case :status "unsatisfiable" . }
|
|
263
|
-
=> { :03-check log:outputString "
|
|
263
|
+
=> { :03-check log:outputString "## Check\nC1 OK - the given clues are internally consistent.\nC2 OK - every explored assignment respected row, column, and box legality.\nC3 failed - exhaustive search found no complete legal grid.\n" . } .
|