eyeling 1.24.7 → 1.24.9

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.
Files changed (184) hide show
  1. package/HANDBOOK.md +35 -35
  2. package/dist/browser/eyeling.browser.js +14 -1
  3. package/examples/act-alarm-bit-interoperability.n3 +5 -3
  4. package/examples/act-barley-seed-lineage.n3 +5 -3
  5. package/examples/act-docking-abort.n3 +5 -3
  6. package/examples/act-gravity-mediator-witness.n3 +5 -3
  7. package/examples/act-isolation-breach.n3 +5 -3
  8. package/examples/act-photosynthetic-exciton-transfer.n3 +5 -3
  9. package/examples/act-sensor-memory-reset.n3 +5 -3
  10. package/examples/act-tunnel-junction-wake-switch.n3 +5 -3
  11. package/examples/act-yeast-self-reproduction.n3 +5 -3
  12. package/examples/annotation.n3 +5 -0
  13. package/examples/auroracare.n3 +29 -29
  14. package/examples/backward-recursion.n3 +5 -0
  15. package/examples/barley-seed-becoming.n3 +5 -3
  16. package/examples/bmi.n3 +5 -3
  17. package/examples/builtin-coverage.n3 +5 -0
  18. package/examples/calidor.n3 +3 -3
  19. package/examples/collection.n3 +5 -0
  20. package/examples/complex-matrix-stability.n3 +5 -3
  21. package/examples/context-association.n3 +1 -9
  22. package/examples/control-system.n3 +5 -3
  23. package/examples/deep-taxonomy-10.n3 +5 -3
  24. package/examples/deep-taxonomy-100.n3 +5 -3
  25. package/examples/deep-taxonomy-1000.n3 +5 -3
  26. package/examples/deep-taxonomy-10000.n3 +5 -3
  27. package/examples/deep-taxonomy-100000.n3 +3 -1
  28. package/examples/delfour.n3 +3 -3
  29. package/examples/digital-product-passport.n3 +2 -0
  30. package/examples/dijkstra-risk-path.n3 +1 -2
  31. package/examples/easter.n3 +6 -4
  32. package/examples/eco-route-insight.n3 +1 -2
  33. package/examples/flandor.n3 +3 -3
  34. package/examples/french-cities.n3 +5 -3
  35. package/examples/fundamental-theorem-arithmetic.n3 +5 -3
  36. package/examples/genetic-algorithm-knapsack.n3 +1 -1
  37. package/examples/genetic-algorithm.n3 +1 -1
  38. package/examples/genetic-knapsack-selection.n3 +1 -2
  39. package/examples/gps.n3 +5 -3
  40. package/examples/harborsmr.n3 +5 -3
  41. package/examples/input/ontology-question-generation.trig +79 -0
  42. package/examples/input/rdf-message-flow.trig +10 -10
  43. package/examples/input/rdf-messages.trig +6 -6
  44. package/examples/interop-demo.n3 +3 -1
  45. package/examples/matrix-mechanics.n3 +3 -3
  46. package/examples/medior.n3 +3 -3
  47. package/examples/n3-speaks-for-itself.n3 +5 -0
  48. package/examples/odrl-dpv-ehds-risk-ranked.n3 +1 -1
  49. package/examples/odrl-dpv-healthcare-risk-ranked.n3 +1 -1
  50. package/examples/odrl-dpv-risk-ranked.n3 +1 -1
  51. package/examples/odrl-risk-mitigation.n3 +1 -1
  52. package/examples/odrl-risk.n3 +1 -1
  53. package/examples/ontology-question-generation.n3 +409 -0
  54. package/examples/output/{act-alarm-bit-interoperability.txt → act-alarm-bit-interoperability.md} +23 -17
  55. package/examples/output/act-barley-seed-lineage.md +31 -0
  56. package/examples/output/{act-docking-abort.txt → act-docking-abort.md} +25 -19
  57. package/examples/output/{act-gravity-mediator-witness.txt → act-gravity-mediator-witness.md} +27 -21
  58. package/examples/output/{act-isolation-breach.txt → act-isolation-breach.md} +30 -24
  59. package/examples/output/{act-photosynthetic-exciton-transfer.txt → act-photosynthetic-exciton-transfer.md} +23 -17
  60. package/examples/output/{act-sensor-memory-reset.txt → act-sensor-memory-reset.md} +23 -17
  61. package/examples/output/{act-tunnel-junction-wake-switch.txt → act-tunnel-junction-wake-switch.md} +24 -18
  62. package/examples/output/{act-yeast-self-reproduction.txt → act-yeast-self-reproduction.md} +26 -20
  63. package/examples/output/annotation.md +7 -0
  64. package/examples/output/auroracare.md +154 -0
  65. package/examples/output/backward-recursion.md +11 -0
  66. package/examples/output/barley-seed-becoming.md +31 -0
  67. package/examples/output/bmi.md +26 -0
  68. package/examples/output/builtin-coverage.md +7 -0
  69. package/examples/output/calidor.md +35 -0
  70. package/examples/output/collection.md +7 -0
  71. package/examples/output/{complex-matrix-stability.txt → complex-matrix-stability.md} +17 -11
  72. package/examples/output/context-association.md +12 -0
  73. package/examples/output/{control-system.txt → control-system.md} +23 -17
  74. package/examples/output/deep-taxonomy-10.md +21 -0
  75. package/examples/output/deep-taxonomy-100.md +21 -0
  76. package/examples/output/{deep-taxonomy-1000.txt → deep-taxonomy-1000.md} +18 -12
  77. package/examples/output/{deep-taxonomy-10000.txt → deep-taxonomy-10000.md} +18 -12
  78. package/examples/output/{deep-taxonomy-100000.txt → deep-taxonomy-100000.md} +18 -12
  79. package/examples/output/delfour.md +36 -0
  80. package/examples/output/digital-product-passport.md +7 -0
  81. package/examples/output/dijkstra-risk-path.md +16 -0
  82. package/examples/output/{easter.txt → easter.md} +156 -150
  83. package/examples/output/eco-route-insight.md +25 -0
  84. package/examples/output/flandor.md +37 -0
  85. package/examples/output/{french-cities.txt → french-cities.md} +17 -11
  86. package/examples/output/{fundamental-theorem-arithmetic.txt → fundamental-theorem-arithmetic.md} +18 -12
  87. package/examples/output/genetic-algorithm-knapsack.md +7 -0
  88. package/examples/output/genetic-algorithm.md +7 -0
  89. package/examples/output/genetic-knapsack-selection.md +18 -0
  90. package/examples/output/{gps.txt → gps.md} +18 -12
  91. package/examples/output/harborsmr.md +26 -0
  92. package/examples/output/interop-demo.md +7 -0
  93. package/examples/output/matrix-mechanics.md +20 -0
  94. package/examples/output/medior.md +38 -0
  95. package/examples/output/n3-speaks-for-itself.md +58 -0
  96. package/examples/output/{odrl-dpv-ehds-risk-ranked.txt → odrl-dpv-ehds-risk-ranked.md} +20 -15
  97. package/examples/output/{odrl-dpv-healthcare-risk-ranked.txt → odrl-dpv-healthcare-risk-ranked.md} +17 -12
  98. package/examples/output/{odrl-dpv-risk-ranked.txt → odrl-dpv-risk-ranked.md} +21 -16
  99. package/examples/output/{odrl-risk-mitigation.txt → odrl-risk-mitigation.md} +21 -16
  100. package/examples/output/{odrl-risk.txt → odrl-risk.md} +10 -5
  101. package/examples/output/ontology-question-generation.md +31 -0
  102. package/examples/output/parcellocker.md +26 -0
  103. package/examples/output/pn-junction-tunneling.md +29 -0
  104. package/examples/output/queens.md +27 -0
  105. package/examples/output/rc-discharge-envelope.md +16 -0
  106. package/examples/output/rdf-dataset.md +12 -0
  107. package/examples/output/rdf-message-flow.md +12 -0
  108. package/examples/output/rdf-messages.md +12 -0
  109. package/examples/output/{resto.txt → resto.md} +23 -17
  110. package/examples/output/school-placement-audit.md +16 -0
  111. package/examples/output/smoke-arithmetic.md +12 -0
  112. package/examples/output/sqrt2-cauchy.md +19 -0
  113. package/examples/output/sqrt2-dedekind.md +37 -0
  114. package/examples/output/sudoku.md +49 -0
  115. package/examples/output/transcendental-numbers-stretched.md +266 -0
  116. package/examples/output/transistor-switch.md +30 -0
  117. package/examples/output/triple-terms.md +12 -0
  118. package/examples/output/{tunnel-junction-wake-switch-becoming.txt → tunnel-junction-wake-switch-becoming.md} +24 -18
  119. package/examples/output/{wind-turbine.txt → wind-turbine.md} +21 -15
  120. package/examples/parcellocker.n3 +3 -1
  121. package/examples/pn-junction-tunneling.n3 +3 -3
  122. package/examples/queens.n3 +1 -0
  123. package/examples/rc-discharge-envelope.n3 +1 -1
  124. package/examples/rdf-dataset.n3 +5 -0
  125. package/examples/rdf-message-flow.n3 +1 -2
  126. package/examples/rdf-messages.n3 +1 -2
  127. package/examples/resto.n3 +5 -3
  128. package/examples/school-placement-audit.n3 +1 -2
  129. package/examples/smoke-arithmetic.n3 +1 -1
  130. package/examples/sqrt2-cauchy.n3 +2 -0
  131. package/examples/sqrt2-dedekind.n3 +2 -0
  132. package/examples/sudoku.n3 +14 -14
  133. package/examples/transcendental-numbers-stretched.n3 +5 -0
  134. package/examples/transistor-switch.n3 +3 -3
  135. package/examples/triple-terms.n3 +5 -0
  136. package/examples/tunnel-junction-wake-switch-becoming.n3 +5 -3
  137. package/examples/wind-turbine.n3 +5 -3
  138. package/eyeling.js +14 -1
  139. package/lib/explain.js +14 -1
  140. package/package.json +1 -1
  141. package/test/examples.test.js +44 -13
  142. package/test/package.test.js +43 -7
  143. package/examples/output/act-barley-seed-lineage.txt +0 -25
  144. package/examples/output/annotation.n3 +0 -0
  145. package/examples/output/auroracare.txt +0 -149
  146. package/examples/output/backward-recursion.n3 +0 -4
  147. package/examples/output/barley-seed-becoming.txt +0 -25
  148. package/examples/output/bmi.txt +0 -20
  149. package/examples/output/builtin-coverage.n3 +0 -0
  150. package/examples/output/calidor.txt +0 -29
  151. package/examples/output/collection.n3 +0 -0
  152. package/examples/output/context-association.n3 +0 -9
  153. package/examples/output/deep-taxonomy-10.txt +0 -15
  154. package/examples/output/deep-taxonomy-100.txt +0 -15
  155. package/examples/output/delfour.txt +0 -30
  156. package/examples/output/digital-product-passport.txt +0 -1
  157. package/examples/output/dijkstra-risk-path.n3 +0 -3
  158. package/examples/output/eco-route-insight.n3 +0 -3
  159. package/examples/output/flandor.txt +0 -31
  160. package/examples/output/genetic-algorithm-knapsack.txt +0 -1
  161. package/examples/output/genetic-algorithm.txt +0 -1
  162. package/examples/output/genetic-knapsack-selection.n3 +0 -3
  163. package/examples/output/harborsmr.txt +0 -20
  164. package/examples/output/interop-demo.txt +0 -1
  165. package/examples/output/matrix-mechanics.txt +0 -14
  166. package/examples/output/medior.txt +0 -32
  167. package/examples/output/n3-speaks-for-itself.txt +0 -52
  168. package/examples/output/parcellocker.txt +0 -20
  169. package/examples/output/pn-junction-tunneling.txt +0 -23
  170. package/examples/output/queens.txt +0 -21
  171. package/examples/output/rc-discharge-envelope.n3 +0 -9
  172. package/examples/output/rc-discharge-envelope.txt +0 -9
  173. package/examples/output/rdf-dataset.n3 +0 -5
  174. package/examples/output/rdf-message-flow.n3 +0 -7
  175. package/examples/output/rdf-messages.n3 +0 -7
  176. package/examples/output/school-placement-audit.n3 +0 -3
  177. package/examples/output/smoke-arithmetic.n3 +0 -5
  178. package/examples/output/smoke-arithmetic.txt +0 -5
  179. package/examples/output/sqrt2-cauchy.txt +0 -13
  180. package/examples/output/sqrt2-dedekind.txt +0 -31
  181. package/examples/output/sudoku.txt +0 -43
  182. package/examples/output/transcendental-numbers-stretched.txt +0 -260
  183. package/examples/output/transistor-switch.txt +0 -24
  184. package/examples/output/triple-terms.n3 +0 -5
@@ -1,150 +1,156 @@
1
- Easter — Gregorian computus
2
-
3
- === 2026 ===
4
- Answer
5
- Easter Sunday falls on April 5.
6
-
7
- Reason Why
8
- For year 2026, the computus gives j=12, k=20, q=6, r=12, v=2, and final month/day numbers x=4, z=4. Because the day is z+1, the resulting Easter date is April 5.
9
-
10
- Check
11
- C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
12
- C2 OK - the epact-style remainder r is inside the 0–29 cycle.
13
- C3 OK - the weekday adjustment v is inside the 0–6 cycle.
14
- C4 OK - the final month is a valid Easter month (March or April).
15
- C5 OK - the final date is inside the legal Gregorian Easter window.
16
- Easter — Gregorian computus
17
-
18
- === 2027 ===
19
- Answer
20
- Easter Sunday falls on March 28.
21
-
22
- Reason Why
23
- For year 2027, the computus gives j=13, k=20, q=6, r=1, v=5, and final month/day numbers x=3, z=27. Because the day is z+1, the resulting Easter date is March 28.
24
-
25
- Check
26
- C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
27
- C2 OK - the epact-style remainder r is inside the 0–29 cycle.
28
- C3 OK - the weekday adjustment v is inside the 0–6 cycle.
29
- C4 OK - the final month is a valid Easter month (March or April).
30
- C5 OK - the final date is inside the legal Gregorian Easter window.
31
- Easter — Gregorian computus
32
-
33
- === 2028 ===
34
- Answer
35
- Easter Sunday falls on April 16.
36
-
37
- Reason Why
38
- For year 2028, the computus gives j=14, k=20, q=6, r=20, v=5, and final month/day numbers x=4, z=15. Because the day is z+1, the resulting Easter date is April 16.
39
-
40
- Check
41
- C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
42
- C2 OK - the epact-style remainder r is inside the 0–29 cycle.
43
- C3 OK - the weekday adjustment v is inside the 0–6 cycle.
44
- C4 OK - the final month is a valid Easter month (March or April).
45
- C5 OK - the final date is inside the legal Gregorian Easter window.
46
- Easter — Gregorian computus
47
-
48
- === 2029 ===
49
- Answer
50
- Easter Sunday falls on April 1.
51
-
52
- Reason Why
53
- For year 2029, the computus gives j=15, k=20, q=6, r=9, v=1, and final month/day numbers x=4, z=0. Because the day is z+1, the resulting Easter date is April 1.
54
-
55
- Check
56
- C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
57
- C2 OK - the epact-style remainder r is inside the 0–29 cycle.
58
- C3 OK - the weekday adjustment v is inside the 0–6 cycle.
59
- C4 OK - the final month is a valid Easter month (March or April).
60
- C5 OK - the final date is inside the legal Gregorian Easter window.
61
- Easter — Gregorian computus
62
-
63
- === 2030 ===
64
- Answer
65
- Easter Sunday falls on April 21.
66
-
67
- Reason Why
68
- For year 2030, the computus gives j=16, k=20, q=6, r=28, v=2, and final month/day numbers x=4, z=20. Because the day is z+1, the resulting Easter date is April 21.
69
-
70
- Check
71
- C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
72
- C2 OK - the epact-style remainder r is inside the 0–29 cycle.
73
- C3 OK - the weekday adjustment v is inside the 0–6 cycle.
74
- C4 OK - the final month is a valid Easter month (March or April).
75
- C5 OK - the final date is inside the legal Gregorian Easter window.
76
- Easter — Gregorian computus
77
-
78
- === 2031 ===
79
- Answer
80
- Easter Sunday falls on April 13.
81
-
82
- Reason Why
83
- For year 2031, the computus gives j=17, k=20, q=6, r=17, v=5, and final month/day numbers x=4, z=12. Because the day is z+1, the resulting Easter date is April 13.
84
-
85
- Check
86
- C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
87
- C2 OK - the epact-style remainder r is inside the 0–29 cycle.
88
- C3 OK - the weekday adjustment v is inside the 0–6 cycle.
89
- C4 OK - the final month is a valid Easter month (March or April).
90
- C5 OK - the final date is inside the legal Gregorian Easter window.
91
- Easter — Gregorian computus
92
-
93
- === 2032 ===
94
- Answer
95
- Easter Sunday falls on March 28.
96
-
97
- Reason Why
98
- For year 2032, the computus gives j=18, k=20, q=6, r=6, v=0, and final month/day numbers x=3, z=27. Because the day is z+1, the resulting Easter date is March 28.
99
-
100
- Check
101
- C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
102
- C2 OK - the epact-style remainder r is inside the 0–29 cycle.
103
- C3 OK - the weekday adjustment v is inside the 0–6 cycle.
104
- C4 OK - the final month is a valid Easter month (March or April).
105
- C5 OK - the final date is inside the legal Gregorian Easter window.
106
- Easter — Gregorian computus
107
-
108
- === 2033 ===
109
- Answer
110
- Easter Sunday falls on April 17.
111
-
112
- Reason Why
113
- For year 2033, the computus gives j=0, k=20, q=6, r=24, v=2, and final month/day numbers x=4, z=16. Because the day is z+1, the resulting Easter date is April 17.
114
-
115
- Check
116
- C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
117
- C2 OK - the epact-style remainder r is inside the 0–29 cycle.
118
- C3 OK - the weekday adjustment v is inside the 0–6 cycle.
119
- C4 OK - the final month is a valid Easter month (March or April).
120
- C5 OK - the final date is inside the legal Gregorian Easter window.
121
- Easter — Gregorian computus
122
-
123
- === 2034 ===
124
- Answer
125
- Easter Sunday falls on April 9.
126
-
127
- Reason Why
128
- For year 2034, the computus gives j=1, k=20, q=6, r=13, v=5, and final month/day numbers x=4, z=8. Because the day is z+1, the resulting Easter date is April 9.
129
-
130
- Check
131
- C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
132
- C2 OK - the epact-style remainder r is inside the 0–29 cycle.
133
- C3 OK - the weekday adjustment v is inside the 0–6 cycle.
134
- C4 OK - the final month is a valid Easter month (March or April).
135
- C5 OK - the final date is inside the legal Gregorian Easter window.
136
- Easter — Gregorian computus
137
-
138
- === 2035 ===
139
- Answer
140
- Easter Sunday falls on March 25.
141
-
142
- Reason Why
143
- For year 2035, the computus gives j=2, k=20, q=6, r=2, v=1, and final month/day numbers x=3, z=24. Because the day is z+1, the resulting Easter date is March 25.
144
-
145
- Check
146
- C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
147
- C2 OK - the epact-style remainder r is inside the 0–29 cycle.
148
- C3 OK - the weekday adjustment v is inside the 0–6 cycle.
149
- C4 OK - the final month is a valid Easter month (March or April).
150
- C5 OK - the final date is inside the legal Gregorian Easter window.
1
+ # easter
2
+
3
+ ## Source files
4
+
5
+ - [N3 rules](../easter.n3)
6
+
7
+ Easter — Gregorian computus
8
+
9
+ ## 2026
10
+ ## Answer
11
+ Easter Sunday falls on April 5.
12
+
13
+ ## Reason Why
14
+ For year 2026, the computus gives j=12, k=20, q=6, r=12, v=2, and final month/day numbers x=4, z=4. Because the day is z+1, the resulting Easter date is April 5.
15
+
16
+ ## Check
17
+ C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
18
+ C2 OK - the epact-style remainder r is inside the 0–29 cycle.
19
+ C3 OK - the weekday adjustment v is inside the 0–6 cycle.
20
+ C4 OK - the final month is a valid Easter month (March or April).
21
+ C5 OK - the final date is inside the legal Gregorian Easter window.
22
+ Easter — Gregorian computus
23
+
24
+ ## 2027
25
+ ## Answer
26
+ Easter Sunday falls on March 28.
27
+
28
+ ## Reason Why
29
+ For year 2027, the computus gives j=13, k=20, q=6, r=1, v=5, and final month/day numbers x=3, z=27. Because the day is z+1, the resulting Easter date is March 28.
30
+
31
+ ## Check
32
+ C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
33
+ C2 OK - the epact-style remainder r is inside the 0–29 cycle.
34
+ C3 OK - the weekday adjustment v is inside the 0–6 cycle.
35
+ C4 OK - the final month is a valid Easter month (March or April).
36
+ C5 OK - the final date is inside the legal Gregorian Easter window.
37
+ Easter — Gregorian computus
38
+
39
+ ## 2028
40
+ ## Answer
41
+ Easter Sunday falls on April 16.
42
+
43
+ ## Reason Why
44
+ For year 2028, the computus gives j=14, k=20, q=6, r=20, v=5, and final month/day numbers x=4, z=15. Because the day is z+1, the resulting Easter date is April 16.
45
+
46
+ ## Check
47
+ C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
48
+ C2 OK - the epact-style remainder r is inside the 0–29 cycle.
49
+ C3 OK - the weekday adjustment v is inside the 0–6 cycle.
50
+ C4 OK - the final month is a valid Easter month (March or April).
51
+ C5 OK - the final date is inside the legal Gregorian Easter window.
52
+ Easter — Gregorian computus
53
+
54
+ ## 2029
55
+ ## Answer
56
+ Easter Sunday falls on April 1.
57
+
58
+ ## Reason Why
59
+ For year 2029, the computus gives j=15, k=20, q=6, r=9, v=1, and final month/day numbers x=4, z=0. Because the day is z+1, the resulting Easter date is April 1.
60
+
61
+ ## Check
62
+ C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
63
+ C2 OK - the epact-style remainder r is inside the 0–29 cycle.
64
+ C3 OK - the weekday adjustment v is inside the 0–6 cycle.
65
+ C4 OK - the final month is a valid Easter month (March or April).
66
+ C5 OK - the final date is inside the legal Gregorian Easter window.
67
+ Easter — Gregorian computus
68
+
69
+ ## 2030
70
+ ## Answer
71
+ Easter Sunday falls on April 21.
72
+
73
+ ## Reason Why
74
+ For year 2030, the computus gives j=16, k=20, q=6, r=28, v=2, and final month/day numbers x=4, z=20. Because the day is z+1, the resulting Easter date is April 21.
75
+
76
+ ## Check
77
+ C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
78
+ C2 OK - the epact-style remainder r is inside the 0–29 cycle.
79
+ C3 OK - the weekday adjustment v is inside the 0–6 cycle.
80
+ C4 OK - the final month is a valid Easter month (March or April).
81
+ C5 OK - the final date is inside the legal Gregorian Easter window.
82
+ Easter — Gregorian computus
83
+
84
+ ## 2031
85
+ ## Answer
86
+ Easter Sunday falls on April 13.
87
+
88
+ ## Reason Why
89
+ For year 2031, the computus gives j=17, k=20, q=6, r=17, v=5, and final month/day numbers x=4, z=12. Because the day is z+1, the resulting Easter date is April 13.
90
+
91
+ ## Check
92
+ C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
93
+ C2 OK - the epact-style remainder r is inside the 0–29 cycle.
94
+ C3 OK - the weekday adjustment v is inside the 0–6 cycle.
95
+ C4 OK - the final month is a valid Easter month (March or April).
96
+ C5 OK - the final date is inside the legal Gregorian Easter window.
97
+ Easter — Gregorian computus
98
+
99
+ ## 2032
100
+ ## Answer
101
+ Easter Sunday falls on March 28.
102
+
103
+ ## Reason Why
104
+ For year 2032, the computus gives j=18, k=20, q=6, r=6, v=0, and final month/day numbers x=3, z=27. Because the day is z+1, the resulting Easter date is March 28.
105
+
106
+ ## Check
107
+ C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
108
+ C2 OK - the epact-style remainder r is inside the 0–29 cycle.
109
+ C3 OK - the weekday adjustment v is inside the 0–6 cycle.
110
+ C4 OK - the final month is a valid Easter month (March or April).
111
+ C5 OK - the final date is inside the legal Gregorian Easter window.
112
+ Easter — Gregorian computus
113
+
114
+ ## 2033
115
+ ## Answer
116
+ Easter Sunday falls on April 17.
117
+
118
+ ## Reason Why
119
+ For year 2033, the computus gives j=0, k=20, q=6, r=24, v=2, and final month/day numbers x=4, z=16. Because the day is z+1, the resulting Easter date is April 17.
120
+
121
+ ## Check
122
+ C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
123
+ C2 OK - the epact-style remainder r is inside the 0–29 cycle.
124
+ C3 OK - the weekday adjustment v is inside the 0–6 cycle.
125
+ C4 OK - the final month is a valid Easter month (March or April).
126
+ C5 OK - the final date is inside the legal Gregorian Easter window.
127
+ Easter — Gregorian computus
128
+
129
+ ## 2034
130
+ ## Answer
131
+ Easter Sunday falls on April 9.
132
+
133
+ ## Reason Why
134
+ For year 2034, the computus gives j=1, k=20, q=6, r=13, v=5, and final month/day numbers x=4, z=8. Because the day is z+1, the resulting Easter date is April 9.
135
+
136
+ ## Check
137
+ C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
138
+ C2 OK - the epact-style remainder r is inside the 0–29 cycle.
139
+ C3 OK - the weekday adjustment v is inside the 0–6 cycle.
140
+ C4 OK - the final month is a valid Easter month (March or April).
141
+ C5 OK - the final date is inside the legal Gregorian Easter window.
142
+ Easter — Gregorian computus
143
+
144
+ ## 2035
145
+ ## Answer
146
+ Easter Sunday falls on March 25.
147
+
148
+ ## Reason Why
149
+ For year 2035, the computus gives j=2, k=20, q=6, r=2, v=1, and final month/day numbers x=3, z=24. Because the day is z+1, the resulting Easter date is March 25.
150
+
151
+ ## Check
152
+ C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
153
+ C2 OK - the epact-style remainder r is inside the 0–29 cycle.
154
+ C3 OK - the weekday adjustment v is inside the 0–6 cycle.
155
+ C4 OK - the final month is a valid Easter month (March or April).
156
+ C5 OK - the final date is inside the legal Gregorian Easter window.
@@ -0,0 +1,25 @@
1
+ # eco-route-insight
2
+
3
+ ## Source files
4
+
5
+ - [N3 rules](../eco-route-insight.n3)
6
+ - [Input TriG](../input/eco-route-insight.trig)
7
+
8
+ ## Answer
9
+ insight status : issue
10
+ show eco banner : yes
11
+ audience : Depot X
12
+ allowed use : ui.eco.banner
13
+ suggested route : alt-low-fuel
14
+ current fuel index : 120.75
15
+ suggested fuel index : 99.75
16
+ estimated saving : 21.00
17
+ expires at : 2025-01-01T11:00:00Z
18
+ raw data exported : no
19
+ signature algorithm : HMAC-SHA256
20
+ payload digest : 00e19becd91e81d6881749655d23d43002d9ea714bba61e855eafbc8ef9a5135
21
+ signature key : local-demo-key
22
+ signature : 7fFGBN8fyI7xrmRz5VreeAUSf3LC_ywbj32NGk2ovUs
23
+
24
+ ## Explanation
25
+ The current route uses fuel index = distanceKm × (payloadKg / 1000) × gradientFactor. For shipment-1, Current urban route gives 42.00 × 2.50 × 1.15 = 120.75. The policy threshold is 120.00, so a local eco banner is justified. The selected alternative alt-low-fuel gives 38.00 × 2.50 × 1.05 = 99.75, saving 21.00 while staying within the ETA delay limit. The signed envelope exposes audience, use, expiry, route suggestion, and compact fuel indices, but not raw payload, GPS trace, driver behavior, or raw telemetry.
@@ -0,0 +1,37 @@
1
+ # flandor
2
+
3
+ ## Source files
4
+
5
+ - [N3 rules](../flandor.n3)
6
+
7
+ ## Answer
8
+ Name: Flandor
9
+ Region: Flanders
10
+ Metric: regional_retooling_priority
11
+ Active need count: 3/3
12
+ Recommended package: Flandor Retooling Pulse
13
+ Budget cap: €140M
14
+ Package cost: €120M
15
+ Payload SHA-256: 718f5b17d07ab6a95503bc04a1000ddb132409f600659c03d21def81914b780b
16
+ Envelope HMAC-SHA-256: 955968ca99a191783bc00cba068128ccb9ff40a5e6114fda13a52c74ee27329e
17
+
18
+ ## Reason Why
19
+ Export weakness is active because at least one cluster has exportOrdersIndex < 90 (Antwerp chemicals=84, Ghent manufacturing=87).
20
+ Skills strain is active because technical vacancy rate is 4.6% (threshold > 3.9%).
21
+ Grid stress is active because congestion hours = 19 (threshold > 11).
22
+ The recommendation policy is "lowest_cost_package_covering_all_active_needs", so the cheapest package that covers all active needs within budget is selected.
23
+ Selected package "Flandor Retooling Pulse" covers export=true, skills=true, grid=true, cost=€120M.
24
+ Usage is permitted only for purpose "regional_stabilization" and the envelope expires at 2026-04-08T19:00:00+00:00.
25
+
26
+ ## Check
27
+ - PASS: payload hash matches
28
+ - PASS: hmac matches
29
+ - PASS: threshold reached
30
+ - PASS: scope complete
31
+ - PASS: minimization respected
32
+ - PASS: authorized purpose allowed
33
+ - PASS: deletion duty still on time
34
+ - PASS: surveillance reuse prohibited
35
+ - PASS: package exists within budget
36
+ - PASS: package covers all active needs
37
+ - PASS: lowest-cost eligible package chosen
@@ -1,14 +1,20 @@
1
- French cities — ARC style graph reachability
1
+ # french-cities
2
2
 
3
- Answer
4
- Four cities in this small network can reach Nantes: Paris, Chartres, Le Mans, and Angers.
3
+ ## Source files
5
4
 
6
- Reason Why
7
- The original example says that every :oneway link is also a :path, and that :path is transitive. So once Angers can reach Nantes directly, longer routes can be built by chaining earlier links. Angers reaches Nantes directly. Le Mans reaches Nantes through Angers. Chartres reaches Nantes through Le Mans and Angers. Paris reaches Nantes through Chartres, Le Mans, and Angers.
5
+ - [N3 rules](../french-cities.n3)
8
6
 
9
- Check
10
- C1 OK - Angers has a direct one-way connection to Nantes.
11
- C2 OK - Le Mans reaches Nantes by chaining Le Mans → Angers → Nantes.
12
- C3 OK - Chartres reaches Nantes by chaining Chartres Le Mans Angers → Nantes.
13
- C4 OK - Paris reaches Nantes by chaining Paris → Chartres → Le Mans → Angers → Nantes.
14
- C5 OK - cities without a chain to Nantes are rejected by fail-loud fuse rules.
7
+ French cities — ARC style graph reachability
8
+
9
+ ## Answer
10
+ Four cities in this small network can reach Nantes: Paris, Chartres, Le Mans, and Angers.
11
+
12
+ ## Reason Why
13
+ The original example says that every :oneway link is also a :path, and that :path is transitive. So once Angers can reach Nantes directly, longer routes can be built by chaining earlier links. Angers reaches Nantes directly. Le Mans reaches Nantes through Angers. Chartres reaches Nantes through Le Mans and Angers. Paris reaches Nantes through Chartres, Le Mans, and Angers.
14
+
15
+ ## Check
16
+ C1 OK - Angers has a direct one-way connection to Nantes.
17
+ C2 OK - Le Mans reaches Nantes by chaining Le Mans → Angers → Nantes.
18
+ C3 OK - Chartres reaches Nantes by chaining Chartres → Le Mans → Angers → Nantes.
19
+ C4 OK - Paris reaches Nantes by chaining Paris → Chartres → Le Mans → Angers → Nantes.
20
+ C5 OK - cities without a chain to Nantes are rejected by fail-loud fuse rules.
@@ -1,15 +1,21 @@
1
- Fundamental Theorem of Arithmetic — ARC-style
1
+ # fundamental-theorem-arithmetic
2
2
 
3
- Answer
4
- For n = 202692987, the prime factors are 3 * 3 * 7 * 829 * 3881, the prime-power form is 3^2 * 7 * 829 * 3881, and the product of these factors is 202692987 with 4 distinct primes.
3
+ ## Source files
5
4
 
6
- Reason Why
7
- Existence in this run comes from repeated smallest-divisor decomposition: 202692987 factors as 3 * 3 * 7 * 829 * 3881. Each distinct factor is prime. For uniqueness up to order, the reverse traversal gives 3881 * 829 * 7 * 3 * 3, and both traversals sort to the same multiset of primes. So this concrete case exhibits the Fundamental Theorem of Arithmetic for 202692987: a prime factorization exists and is unique up to order. The extreme prime factors are 3 and 3881.
5
+ - [N3 rules](../fundamental-theorem-arithmetic.n3)
8
6
 
9
- Check
10
- C1 OK - repeated smallest-divisor decomposition produced the expected smallest-first factor list (3 3 7 829 3881).
11
- C2 OK - the product of the computed factors reconstructs n = 202692987.
12
- C3 OK - every distinct factor in the decomposition is prime by trial division.
13
- C4 OK - the prime-power form matches 3^2 * 7 * 829 * 3881.
14
- C5 OK - smallest-first and largest-first traversals have the same multiset of primes, so the factorization agrees up to order.
15
- C6 OK - the smallest and largest prime factors are 3 and 3881.
7
+ Fundamental Theorem of Arithmetic — ARC-style
8
+
9
+ ## Answer
10
+ For n = 202692987, the prime factors are 3 * 3 * 7 * 829 * 3881, the prime-power form is 3^2 * 7 * 829 * 3881, and the product of these factors is 202692987 with 4 distinct primes.
11
+
12
+ ## Reason Why
13
+ Existence in this run comes from repeated smallest-divisor decomposition: 202692987 factors as 3 * 3 * 7 * 829 * 3881. Each distinct factor is prime. For uniqueness up to order, the reverse traversal gives 3881 * 829 * 7 * 3 * 3, and both traversals sort to the same multiset of primes. So this concrete case exhibits the Fundamental Theorem of Arithmetic for 202692987: a prime factorization exists and is unique up to order. The extreme prime factors are 3 and 3881.
14
+
15
+ ## Check
16
+ C1 OK - repeated smallest-divisor decomposition produced the expected smallest-first factor list (3 3 7 829 3881).
17
+ C2 OK - the product of the computed factors reconstructs n = 202692987.
18
+ C3 OK - every distinct factor in the decomposition is prime by trial division.
19
+ C4 OK - the prime-power form matches 3^2 * 7 * 829 * 3881.
20
+ C5 OK - smallest-first and largest-first traversals have the same multiset of primes, so the factorization agrees up to order.
21
+ C6 OK - the smallest and largest prime factors are 3 and 3881.
@@ -0,0 +1,7 @@
1
+ # genetic-algorithm-knapsack
2
+
3
+ ## Source files
4
+
5
+ - [N3 rules](../genetic-algorithm-knapsack.n3)
6
+
7
+ Knapsack GA best genome 101000000101 (feasible=true): weight=50 value=101 after 4 generations.
@@ -0,0 +1,7 @@
1
+ # genetic-algorithm
2
+
3
+ ## Source files
4
+
5
+ - [N3 rules](../genetic-algorithm.n3)
6
+
7
+ GA evolved 11111101010 -> 2026 in 8 generations.
@@ -0,0 +1,18 @@
1
+ # genetic-knapsack-selection
2
+
3
+ ## Source files
4
+
5
+ - [N3 rules](../genetic-knapsack-selection.n3)
6
+ - [Input TriG](../input/genetic-knapsack-selection.trig)
7
+
8
+ ## Answer
9
+ final genome : 101000000101
10
+ selected items : item01, item03, item10, item12
11
+ weight : 50 / 50
12
+ value : 101
13
+ fitness : 999899
14
+ generations evaluated : 5
15
+ exhaustive optimum value : 104 at genome 001000011111
16
+
17
+ ## Explanation
18
+ Each genome bit says whether the corresponding item is selected for the knapsack. Feasible candidates get fitness 1000000 minus value, so higher value means lower fitness; overweight candidates are penalized above every feasible candidate. The N3 source records the deterministic local-search result and validates that the final genome respects capacity and has no strictly better one-bit neighbor. For transparency, an exhaustive enumeration also records the global best feasible value, showing this is a local mutation search rather than a global-optimality claim.
@@ -1,15 +1,21 @@
1
- GPS — Goal driven route planning
1
+ # gps
2
2
 
3
- Answer
4
- Take the direct route via Brugge.
5
- Recommended route: Gent → Brugge → Oostende
3
+ ## Source files
6
4
 
7
- Reason Why
8
- From Gent to Oostende, the planner found two routes in this small map. The direct route (Gent → Brugge → Oostende) takes 2400 seconds at cost 0.01, with belief 0.9408 and comfort 0.99. The alternative (Gent → Kortrijk → Brugge → Oostende) takes 4100 seconds at cost 0.018, with belief 0.903168 and comfort 0.9801. So the direct route is faster, cheaper, more reliable, and slightly more comfortable.
5
+ - [N3 rules](../gps.n3)
9
6
 
10
- Check
11
- C1 OK - the direct Gent → Brugge → Oostende route was derived.
12
- C2 OK - the alternative Gent → Kortrijk → Brugge → Oostende route was derived.
13
- C3 OK - the recommended route is faster than the alternative.
14
- C4 OK - the recommended route is cheaper than the alternative.
15
- C5 OK - the recommended route has higher belief and comfort scores.
7
+ GPS — Goal driven route planning
8
+
9
+ ## Answer
10
+ Take the direct route via Brugge.
11
+ Recommended route: Gent Brugge Oostende
12
+
13
+ ## Reason Why
14
+ From Gent to Oostende, the planner found two routes in this small map. The direct route (Gent → Brugge → Oostende) takes 2400 seconds at cost 0.01, with belief 0.9408 and comfort 0.99. The alternative (Gent → Kortrijk → Brugge → Oostende) takes 4100 seconds at cost 0.018, with belief 0.903168 and comfort 0.9801. So the direct route is faster, cheaper, more reliable, and slightly more comfortable.
15
+
16
+ ## Check
17
+ C1 OK - the direct Gent → Brugge → Oostende route was derived.
18
+ C2 OK - the alternative Gent → Kortrijk → Brugge → Oostende route was derived.
19
+ C3 OK - the recommended route is faster than the alternative.
20
+ C4 OK - the recommended route is cheaper than the alternative.
21
+ C5 OK - the recommended route has higher belief and comfort scores.
@@ -0,0 +1,26 @@
1
+ # harborsmr
2
+
3
+ ## Source files
4
+
5
+ - [N3 rules](../harborsmr.n3)
6
+
7
+ HarborSMR — bounded flexible-export insight for port electrolysis
8
+
9
+ ## Answer
10
+ PERMIT
11
+ The port hydrogen hub may use the SMR insight to run PEM electrolyzer train 2 at 16 MW from 14:00 to 18:00.
12
+
13
+ ## Reason Why
14
+ The operator shares only a narrow, expiring insight that a temporary 18 MW flexible-export window is available. The request is for electrolysis dispatch only, the requested 16 MW fits inside the permitted window, safety margins are above threshold, no outage blocks the window, and the policy forbids redistribution for market resale. Raw reactor telemetry stays local.
15
+
16
+ ## Check
17
+ C1 OK - reserve margin exceeds the dispatch threshold
18
+ C2 OK - cooling margin exceeds the dispatch threshold
19
+ C3 OK - no planned outage blocks the window
20
+ C4 OK - requested MW fits within the export window
21
+ C5 OK - serialized insight omits sensitive telemetry terms
22
+ C6 OK - aggregate excludes core temperature, rod position, neutron flux, and operator IDs
23
+ C7 OK - policy allows use for electrolysis dispatch before expiry
24
+ C8 OK - policy prohibits redistribution for market resale
25
+ C9 OK - scope is explicit: device, event, start, and expiry
26
+ C10 OK - dispatch plan matches the requested load and power
@@ -0,0 +1,7 @@
1
+ # interop-demo
2
+
3
+ ## Source files
4
+
5
+ - [N3 rules](../interop-demo.n3)
6
+
7
+ ACTION: apply GoldDiscount and send invoice reminder (opt-in confirmed).
@@ -0,0 +1,20 @@
1
+ # matrix-mechanics
2
+
3
+ ## Source files
4
+
5
+ - [N3 rules](../matrix-mechanics.n3)
6
+
7
+ ## Answer
8
+ In this toy matrix-mechanics model, the Hamiltonian has two discrete energy levels and does not commute with a second observable.
9
+
10
+ ## Reason Why
11
+ H = [[1,0],[0,2]]
12
+ X = [[0,1],[1,0]]
13
+ HX = [[0,1],[2,0]]
14
+ XH = [[0,2],[1,0]]
15
+ [H,X] = [[0,-1],[1,0]]
16
+
17
+ ## Check
18
+ trace/determinant match energy levels: yes
19
+ X^2 = I : yes
20
+ [H,X] != 0 : yes
@@ -0,0 +1,38 @@
1
+ # medior
2
+
3
+ ## Source files
4
+
5
+ - [N3 rules](../medior.n3)
6
+
7
+ ## Answer
8
+ Name: Medior
9
+ Region: Flanders
10
+ Metric: post_discharge_coordination_priority
11
+ Active need count: 4/3
12
+ Recommended package: Medior Continuity Pulse
13
+ Budget cap: €5
14
+ Package cost: €4
15
+ Payload SHA-256: b5fec8971d6c5e313a1387f08151f1c3203effce05d6455469c9f63305be05ae
16
+ Envelope HMAC-SHA-256: 072f4c2774ce362e660649d145c9d784e5e95d63d24d4057b119a419c6ba34dc
17
+
18
+ ## Reason Why
19
+ RenalSafetyConcern holds because eGFR = 52 and the threshold is < 60.
20
+ PolypharmacyRisk holds because the active medication count is 9 and the threshold is ≥ 8.
21
+ ReadmissionHistory holds because admissionsLast180Days = 2 and the threshold is ≥ 1.
22
+ RecentDischargeWindow holds because hoursSinceDischarge = 18 and the threshold is ≤ 48.
23
+ The recommendation rule selects the least-cost package that covers every active need and remains within budget.
24
+ The selected package is "Medior Continuity Pulse" with cost €4, touches=3.
25
+ Use is permitted only for purpose "care_coordination" and expires at 2026-04-11T08:00:00+00:00.
26
+
27
+ ## Check
28
+ - PASS: payloadHashMatches
29
+ - PASS: signatureVerifies
30
+ - PASS: thresholdReached
31
+ - PASS: scopeComplete
32
+ - PASS: minimizationRespected
33
+ - PASS: authorizationAllowed
34
+ - PASS: dutyTimely
35
+ - PASS: insurancePricingProhibited
36
+ - PASS: packageWithinBudget
37
+ - PASS: packageCoversAllActiveNeeds
38
+ - PASS: lowestCostEligiblePackageChosen