eyeling 1.24.8 → 1.24.10
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 +2 -2
- package/README.md +1 -1
- package/dist/browser/eyeling.browser.js +10 -10
- package/examples/act-alarm-bit-interoperability.n3 +4 -4
- package/examples/act-barley-seed-lineage.n3 +4 -4
- package/examples/act-docking-abort.n3 +4 -4
- package/examples/act-gravity-mediator-witness.n3 +4 -4
- package/examples/act-isolation-breach.n3 +4 -4
- package/examples/act-photosynthetic-exciton-transfer.n3 +4 -4
- package/examples/act-sensor-memory-reset.n3 +4 -4
- package/examples/act-tunnel-junction-wake-switch.n3 +4 -4
- package/examples/act-yeast-self-reproduction.n3 +4 -4
- package/examples/annotation.n3 +1 -1
- package/examples/auroracare.n3 +22 -22
- package/examples/backward-recursion.n3 +1 -1
- package/examples/barley-seed-becoming.n3 +4 -4
- package/examples/bmi.n3 +4 -4
- package/examples/builtin-coverage.n3 +1 -1
- package/examples/calidor.n3 +1 -1
- package/examples/collection.n3 +1 -1
- package/examples/complex-matrix-stability.n3 +4 -4
- package/examples/context-association.n3 +1 -1
- package/examples/control-system.n3 +4 -4
- package/examples/deck/faltings-genus2-finiteness.md +1 -1
- package/examples/deck/high-trust-rdf-bloom-envelope.md +1 -1
- package/examples/deck/odrl-dpv-risk-ranked.md +1 -1
- package/examples/deck/schema-foaf-mapping.md +1 -1
- package/examples/deep-taxonomy-10.n3 +4 -4
- package/examples/deep-taxonomy-100.n3 +4 -4
- package/examples/deep-taxonomy-1000.n3 +4 -4
- package/examples/deep-taxonomy-10000.n3 +4 -4
- package/examples/deep-taxonomy-100000.n3 +2 -2
- package/examples/delfour.n3 +1 -1
- package/examples/digital-product-passport.n3 +1 -1
- package/examples/dijkstra-risk-path.n3 +1 -1
- package/examples/easter.n3 +4 -4
- package/examples/eco-route-insight.n3 +1 -1
- package/examples/flandor.n3 +1 -1
- package/examples/french-cities.n3 +4 -4
- package/examples/fundamental-theorem-arithmetic.n3 +4 -4
- package/examples/genetic-algorithm-knapsack.n3 +1 -1
- package/examples/genetic-algorithm.n3 +1 -1
- package/examples/genetic-knapsack-selection.n3 +1 -1
- package/examples/gps.n3 +4 -4
- package/examples/harborsmr.n3 +4 -4
- package/examples/input/ontology-question-generation.trig +79 -0
- package/examples/interop-demo.n3 +1 -1
- package/examples/matrix-mechanics.n3 +1 -1
- package/examples/medior.n3 +1 -1
- package/examples/n3-speaks-for-itself.n3 +1 -1
- 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/ontology-question-generation.n3 +409 -0
- package/examples/output/act-alarm-bit-interoperability.md +7 -3
- package/examples/output/act-barley-seed-lineage.md +7 -3
- package/examples/output/act-docking-abort.md +7 -3
- package/examples/output/act-gravity-mediator-witness.md +7 -3
- package/examples/output/act-isolation-breach.md +7 -3
- package/examples/output/act-photosynthetic-exciton-transfer.md +7 -3
- package/examples/output/act-sensor-memory-reset.md +7 -3
- package/examples/output/act-tunnel-junction-wake-switch.md +7 -3
- package/examples/output/act-yeast-self-reproduction.md +7 -3
- package/examples/output/annotation.md +20 -0
- package/examples/output/auroracare.md +25 -21
- package/examples/output/backward-recursion.md +5 -0
- package/examples/output/barley-seed-becoming.md +7 -3
- package/examples/output/bmi.md +7 -3
- package/examples/output/builtin-coverage.md +6 -0
- package/examples/output/calidor.md +4 -0
- package/examples/output/collection.md +6 -0
- package/examples/output/complex-matrix-stability.md +7 -3
- package/examples/output/context-association.md +5 -0
- package/examples/output/control-system.md +7 -3
- package/examples/output/deep-taxonomy-10.md +7 -3
- package/examples/output/deep-taxonomy-100.md +7 -3
- package/examples/output/deep-taxonomy-1000.md +7 -3
- package/examples/output/deep-taxonomy-10000.md +7 -3
- package/examples/output/deep-taxonomy-100000.md +7 -3
- package/examples/output/delfour.md +4 -0
- package/examples/output/digital-product-passport.md +4 -0
- package/examples/output/dijkstra-risk-path.md +5 -0
- package/examples/output/easter.md +34 -30
- package/examples/output/eco-route-insight.md +5 -0
- package/examples/output/flandor.md +4 -0
- package/examples/output/french-cities.md +7 -3
- package/examples/output/fundamental-theorem-arithmetic.md +7 -3
- package/examples/output/genetic-algorithm-knapsack.md +4 -0
- package/examples/output/genetic-algorithm.md +4 -0
- package/examples/output/genetic-knapsack-selection.md +5 -0
- package/examples/output/gps.md +7 -3
- package/examples/output/harborsmr.md +7 -3
- package/examples/output/interop-demo.md +4 -0
- package/examples/output/matrix-mechanics.md +4 -0
- package/examples/output/medior.md +4 -0
- package/examples/output/n3-speaks-for-itself.md +4 -0
- package/examples/output/odrl-dpv-ehds-risk-ranked.md +4 -0
- package/examples/output/odrl-dpv-healthcare-risk-ranked.md +4 -0
- package/examples/output/odrl-dpv-risk-ranked.md +4 -0
- package/examples/output/odrl-risk-mitigation.md +4 -0
- package/examples/output/odrl-risk.md +4 -0
- package/examples/output/ontology-question-generation.md +31 -0
- package/examples/output/parcellocker.md +7 -3
- package/examples/output/pn-junction-tunneling.md +4 -0
- package/examples/output/queens.md +4 -0
- package/examples/output/rc-discharge-envelope.md +5 -0
- package/examples/output/rdf-dataset.md +5 -0
- package/examples/output/rdf-message-flow.md +5 -0
- package/examples/output/rdf-messages.md +5 -0
- package/examples/output/resto.md +7 -3
- package/examples/output/school-placement-audit.md +5 -0
- package/examples/output/smoke-arithmetic.md +5 -0
- package/examples/output/sqrt2-cauchy.md +4 -0
- package/examples/output/sqrt2-dedekind.md +4 -0
- package/examples/output/sudoku.md +4 -0
- package/examples/output/transcendental-numbers-stretched.md +4 -0
- package/examples/output/transistor-switch.md +4 -0
- package/examples/output/triple-terms.md +5 -0
- package/examples/output/tunnel-junction-wake-switch-becoming.md +7 -3
- package/examples/output/wind-turbine.md +7 -3
- package/examples/parcellocker.n3 +2 -2
- package/examples/pn-junction-tunneling.n3 +1 -1
- package/examples/queens.n3 +1 -1
- package/examples/rc-discharge-envelope.n3 +1 -1
- package/examples/rdf-dataset.n3 +1 -1
- package/examples/rdf-message-flow.n3 +1 -1
- package/examples/rdf-messages.n3 +1 -1
- package/examples/resto.n3 +4 -4
- package/examples/school-placement-audit.n3 +1 -1
- package/examples/smoke-arithmetic.n3 +1 -1
- package/examples/sqrt2-cauchy.n3 +1 -1
- package/examples/sqrt2-dedekind.n3 +1 -1
- package/examples/sudoku.n3 +5 -5
- package/examples/transcendental-numbers-stretched.n3 +1 -1
- package/examples/transistor-switch.n3 +1 -1
- package/examples/triple-terms.n3 +1 -1
- package/examples/tunnel-junction-wake-switch-becoming.n3 +4 -4
- package/examples/wind-turbine.n3 +4 -4
- package/eyeling.js +10 -10
- package/lib/engine.js +4 -4
- package/lib/entry.js +2 -2
- package/lib/printing.js +1 -1
- package/lib/trace.js +1 -1
- package/package.json +1 -1
- package/test/api.test.js +1 -1
- package/test/playground.test.js +45 -15
- package/tools/bundle.js +2 -2
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
# auroracare
|
|
2
2
|
|
|
3
|
+
## Source files
|
|
4
|
+
|
|
5
|
+
- [N3 rules](../auroracare.n3)
|
|
6
|
+
|
|
3
7
|
AuroraCare — Purpose-based Medical Data Exchange
|
|
4
8
|
|
|
5
9
|
## A – Primary care visit
|
|
6
10
|
Clinician in the patient's care team accessing the patient summary for primary care management.
|
|
7
11
|
|
|
8
|
-
Answer
|
|
12
|
+
## Answer
|
|
9
13
|
PERMIT
|
|
10
14
|
|
|
11
|
-
Reason Why
|
|
15
|
+
## Reason Why
|
|
12
16
|
Permitted: clinician in the patient's care team, and the primary-care policy matched.
|
|
13
17
|
|
|
14
|
-
Check
|
|
18
|
+
## Check
|
|
15
19
|
C1 SKIPPED - not a prohibited purpose
|
|
16
20
|
C2 OK - clinician
|
|
17
21
|
C3 OK - care-team linked
|
|
@@ -26,13 +30,13 @@ C10 INFO - matched policy: urn:policy:primary-care-001
|
|
|
26
30
|
## B – Quality improvement (in scope)
|
|
27
31
|
QI analyst using lab results + summary in a secure environment.
|
|
28
32
|
|
|
29
|
-
Answer
|
|
33
|
+
## Answer
|
|
30
34
|
PERMIT
|
|
31
35
|
|
|
32
|
-
Reason Why
|
|
36
|
+
## Reason Why
|
|
33
37
|
Permitted: ODRL/DPV policy matched for secondary use.
|
|
34
38
|
|
|
35
|
-
Check
|
|
39
|
+
## Check
|
|
36
40
|
C1 SKIPPED - not a prohibited purpose
|
|
37
41
|
C2 SKIPPED
|
|
38
42
|
C3 SKIPPED
|
|
@@ -47,13 +51,13 @@ C10 INFO - matched policy: urn:policy:qi-2025-aurora
|
|
|
47
51
|
## C – Quality improvement (out of scope)
|
|
48
52
|
QI analyst with only lab results; policy expects labs + summary.
|
|
49
53
|
|
|
50
|
-
Answer
|
|
54
|
+
## Answer
|
|
51
55
|
DENY
|
|
52
56
|
|
|
53
|
-
Reason Why
|
|
57
|
+
## Reason Why
|
|
54
58
|
Denied: no policy matched (purpose, environment, TOMs, or categories out of scope).
|
|
55
59
|
|
|
56
|
-
Check
|
|
60
|
+
## Check
|
|
57
61
|
C1 SKIPPED - not a prohibited purpose
|
|
58
62
|
C2 SKIPPED
|
|
59
63
|
C3 SKIPPED
|
|
@@ -68,13 +72,13 @@ C10 SKIPPED - no matched policy
|
|
|
68
72
|
## D – Insurance management
|
|
69
73
|
Insurance bot attempting to use health data for insurance management (prohibited purpose).
|
|
70
74
|
|
|
71
|
-
Answer
|
|
75
|
+
## Answer
|
|
72
76
|
DENY
|
|
73
77
|
|
|
74
|
-
Reason Why
|
|
78
|
+
## Reason Why
|
|
75
79
|
Denied: the requested purpose (insurance management) is prohibited by policy.
|
|
76
80
|
|
|
77
|
-
Check
|
|
81
|
+
## Check
|
|
78
82
|
C1 OK - denied prohibited purpose
|
|
79
83
|
C2 SKIPPED
|
|
80
84
|
C3 SKIPPED
|
|
@@ -89,13 +93,13 @@ C10 SKIPPED - no matched policy
|
|
|
89
93
|
## E – GP checks labs
|
|
90
94
|
GP for the same patient checking lab results via the API gateway.
|
|
91
95
|
|
|
92
|
-
Answer
|
|
96
|
+
## Answer
|
|
93
97
|
PERMIT
|
|
94
98
|
|
|
95
|
-
Reason Why
|
|
99
|
+
## Reason Why
|
|
96
100
|
Permitted: clinician in the patient's care team, and the primary-care policy matched.
|
|
97
101
|
|
|
98
|
-
Check
|
|
102
|
+
## Check
|
|
99
103
|
C1 SKIPPED - not a prohibited purpose
|
|
100
104
|
C2 OK - clinician
|
|
101
105
|
C3 OK - care-team linked
|
|
@@ -110,13 +114,13 @@ C10 INFO - matched policy: urn:policy:primary-care-001
|
|
|
110
114
|
## F – Research on anonymised dataset
|
|
111
115
|
Researcher using anonymised labs + summary in a secure environment, with opt-in.
|
|
112
116
|
|
|
113
|
-
Answer
|
|
117
|
+
## Answer
|
|
114
118
|
PERMIT
|
|
115
119
|
|
|
116
|
-
Reason Why
|
|
120
|
+
## Reason Why
|
|
117
121
|
Permitted: subject opted in and an ODRL/DPV policy matched (anonymised dataset in secure environment).
|
|
118
122
|
|
|
119
|
-
Check
|
|
123
|
+
## Check
|
|
120
124
|
C1 SKIPPED - not a prohibited purpose
|
|
121
125
|
C2 SKIPPED
|
|
122
126
|
C3 SKIPPED
|
|
@@ -131,13 +135,13 @@ C10 INFO - matched policy: urn:policy:research-aurora-diabetes
|
|
|
131
135
|
## G – AI training (opt-out)
|
|
132
136
|
Data user wants to train AI, but the subject opted out of AI training.
|
|
133
137
|
|
|
134
|
-
Answer
|
|
138
|
+
## Answer
|
|
135
139
|
DENY
|
|
136
140
|
|
|
137
|
-
Reason Why
|
|
141
|
+
## Reason Why
|
|
138
142
|
Denied: you opted out of your data being used to train AI systems.
|
|
139
143
|
|
|
140
|
-
Check
|
|
144
|
+
## Check
|
|
141
145
|
C1 SKIPPED - not a prohibited purpose
|
|
142
146
|
C2 SKIPPED
|
|
143
147
|
C3 SKIPPED
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
# barley-seed-becoming
|
|
2
2
|
|
|
3
|
+
## Source files
|
|
4
|
+
|
|
5
|
+
- [N3 rules](../barley-seed-becoming.n3)
|
|
6
|
+
|
|
3
7
|
Barley seed lineage — becoming
|
|
4
8
|
|
|
5
|
-
Answer
|
|
9
|
+
## Answer
|
|
6
10
|
YES for the viable barley lineage.
|
|
7
11
|
NO for the contrast lineages when digital heredity, repair, protected dormancy, or heritable variation are missing.
|
|
8
12
|
|
|
9
|
-
Reason Why
|
|
13
|
+
## Reason Why
|
|
10
14
|
The main lineage can be read as a becoming: a protected dormant seed can germinate, an adult plant can become a next seed stage, and the lineage can therefore become a self-renewing cycle. Because its hereditary information is digitally instantiated and repair is available, it can also become an accurately reproduced next generation under no-design laws. And because heritable variation is present under a matching selection environment, it can become an adaptively persistent lineage. The contrast lineages mark blocked becomings: non-digital heredity blocks accurate copying, lack of repair blocks reliable renewal, lack of dormancy protection blocks closure through the seed phase, and lack of heritable variation blocks adaptive becoming.
|
|
11
15
|
|
|
12
|
-
Check
|
|
16
|
+
## Check
|
|
13
17
|
B1 OK - no-design laws are assumed
|
|
14
18
|
B2 OK - the viable genome can become accurately copied
|
|
15
19
|
B3 OK - the viable seed can become a protected dormant phase
|
package/examples/output/bmi.md
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
# bmi
|
|
2
2
|
|
|
3
|
+
## Source files
|
|
4
|
+
|
|
5
|
+
- [N3 rules](../bmi.n3)
|
|
6
|
+
|
|
3
7
|
BMI — ARC-style Body Mass Index example
|
|
4
8
|
|
|
5
|
-
Answer
|
|
9
|
+
## Answer
|
|
6
10
|
BMI = 22.72
|
|
7
11
|
Category = Normal
|
|
8
12
|
At height 178 cm, a healthy-weight range is about 58.6–78.9 kg (BMI 18.5–24.9).
|
|
9
13
|
|
|
10
|
-
Reason Why
|
|
14
|
+
## Reason Why
|
|
11
15
|
BMI is defined as weight in kilograms divided by height in meters squared. This program first normalizes the input to SI units, computes BMI, and then applies WHO adult categories as half-open intervals. The healthy-weight band is the weight range at the same height that corresponds to BMI 18.5 through 24.9.
|
|
12
16
|
|
|
13
|
-
Check
|
|
17
|
+
## Check
|
|
14
18
|
C1 OK - the input was normalized into positive SI values.
|
|
15
19
|
C2 OK - height squared was reconstructed from the normalized height.
|
|
16
20
|
C3 OK - the BMI value matches the BMI = kg / m² formula.
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
# complex-matrix-stability
|
|
2
2
|
|
|
3
|
+
## Source files
|
|
4
|
+
|
|
5
|
+
- [N3 rules](../complex-matrix-stability.n3)
|
|
6
|
+
|
|
3
7
|
Complex Matrix Stability — ARC-style
|
|
4
8
|
|
|
5
|
-
Answer
|
|
9
|
+
## Answer
|
|
6
10
|
We compare three diagonal 2x2 complex matrices for discrete-time stability: A_unstable = [[(1,1),(0,0)],[(0,0),(2,0)]], A_stable = [[(1,0),(0,0)],[(0,0),(-1,0)]], and A_damped = [[(0,0),(0,0)],[(0,0),(0,0)]]. Their spectral radii are ρ(A_unstable) = 2, ρ(A_stable) = 1, and ρ(A_damped) = 0. So A_unstable is unstable, A_stable is marginally stable, and A_damped is damped.
|
|
7
11
|
|
|
8
|
-
Reason Why
|
|
12
|
+
## Reason Why
|
|
9
13
|
For a discrete-time linear system x_{k+1} = A x_k, the eigenvalues of A govern the behaviour of the modes. Because these matrices are diagonal, the eigenvalues are just the diagonal entries. The spectral radius is the maximum modulus of the eigenvalues: if it is greater than 1 a mode grows, if it equals 1 the modes remain bounded without decaying, and if it is less than 1 all modes decay to zero. Here the diagonal entries give radii 2, 1, and 0 respectively, which explains the three classifications.
|
|
10
14
|
|
|
11
|
-
Check
|
|
15
|
+
## Check
|
|
12
16
|
C1 OK - A_unstable has eigenvalues (1,1) and (2,0) with spectral radius 2, so it is unstable.
|
|
13
17
|
C2 OK - A_stable has eigenvalues (1,0) and (-1,0) with spectral radius 1, so it is marginally stable.
|
|
14
18
|
C3 OK - A_damped has eigenvalues (0,0) and (0,0) with spectral radius 0, so every mode decays to zero.
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Context association
|
|
2
2
|
|
|
3
|
+
## Source files
|
|
4
|
+
|
|
5
|
+
- [N3 rules](../context-association.n3)
|
|
6
|
+
- [Input TriG](../input/context-association.trig)
|
|
7
|
+
|
|
3
8
|
## Entailment
|
|
4
9
|
The RDF dataset associates Bob's data graph with a Data Integrity proof graph and a second metadata proof graph.
|
|
5
10
|
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
# control-system
|
|
2
2
|
|
|
3
|
+
## Source files
|
|
4
|
+
|
|
5
|
+
- [N3 rules](../control-system.n3)
|
|
6
|
+
|
|
3
7
|
Control System — ARC explanation of two control signals
|
|
4
8
|
|
|
5
|
-
Answer
|
|
9
|
+
## Answer
|
|
6
10
|
Send both actuator commands now.
|
|
7
11
|
Actuator 1 command: 39.27346198678276
|
|
8
12
|
Actuator 2 command: 26.08
|
|
9
13
|
|
|
10
|
-
Reason Why
|
|
14
|
+
## Reason Why
|
|
11
15
|
The first sensor pair is 6 and 11, so the reading is rising and the controller normalizes the gap 5 into 2.23606797749979. That normalized value creates a feedforward term of 43.82693235899588, while the known disturbance 35766 contributes a compensation term of 4.553470372213121. Subtracting that compensation gives actuator 1 the command 39.27346198678276. For actuator 2, the target is 5 units above the measured output, so the tracking error is positive. The observed state is -2 relative units below the measured output, so the differential correction is negative. That yields a proportional feedback part of 29, a nonlinear factor of 1.46, and a differential contribution of -2.92. Together they produce actuator 2 command 26.08.
|
|
12
16
|
|
|
13
|
-
Check
|
|
17
|
+
## Check
|
|
14
18
|
C1 OK - the first sensor pair is rising, so the normalization uses the rising-branch rule.
|
|
15
19
|
C2 OK - the normalized measurement is positive and smaller than the raw gap, which is consistent with a square-root normalization.
|
|
16
20
|
C3 OK - actuator 1 is lower than its proportional feedforward term because disturbance compensation is subtracted.
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
# deep-taxonomy-10
|
|
2
2
|
|
|
3
|
+
## Source files
|
|
4
|
+
|
|
5
|
+
- [N3 rules](../deep-taxonomy-10.n3)
|
|
6
|
+
|
|
3
7
|
Deep Taxonomy - deep classification benchmark
|
|
4
8
|
|
|
5
|
-
Answer
|
|
9
|
+
## Answer
|
|
6
10
|
The test succeeds: starting from one individual classified as N0, the rules eventually classify it as N10 and then as A2.
|
|
7
11
|
|
|
8
|
-
Reason Why
|
|
12
|
+
## Reason Why
|
|
9
13
|
Each rule moves the same individual one level deeper in the taxonomy and also adds two side labels. Because that chain continues all the way from N0 to N10, the final rule deriving A2 fires, and that in turn makes the test true.
|
|
10
14
|
|
|
11
|
-
Check
|
|
15
|
+
## Check
|
|
12
16
|
C1 OK - the starting classification N0 is present.
|
|
13
17
|
C2 OK - the first expansion produced N1 together with side labels I1 and J1.
|
|
14
18
|
C3 OK - the chain reaches the midpoint N5 and still carries both side-label branches.
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
# deep-taxonomy-100
|
|
2
2
|
|
|
3
|
+
## Source files
|
|
4
|
+
|
|
5
|
+
- [N3 rules](../deep-taxonomy-100.n3)
|
|
6
|
+
|
|
3
7
|
Deep Taxonomy - deep classification benchmark
|
|
4
8
|
|
|
5
|
-
Answer
|
|
9
|
+
## Answer
|
|
6
10
|
The test succeeds: starting from one individual classified as N0, the rules eventually classify it as N100 and then as A2.
|
|
7
11
|
|
|
8
|
-
Reason Why
|
|
12
|
+
## Reason Why
|
|
9
13
|
Each rule moves the same individual one level deeper in the taxonomy and also adds two side labels. Because that chain continues all the way from N0 to N100, the final rule deriving A2 fires, and that in turn makes the test true.
|
|
10
14
|
|
|
11
|
-
Check
|
|
15
|
+
## Check
|
|
12
16
|
C1 OK - the starting classification N0 is present.
|
|
13
17
|
C2 OK - the first expansion produced N1 together with side labels I1 and J1.
|
|
14
18
|
C3 OK - the chain reaches the midpoint N50 and still carries both side-label branches.
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
# deep-taxonomy-1000
|
|
2
2
|
|
|
3
|
+
## Source files
|
|
4
|
+
|
|
5
|
+
- [N3 rules](../deep-taxonomy-1000.n3)
|
|
6
|
+
|
|
3
7
|
Deep Taxonomy - deep classification benchmark
|
|
4
8
|
|
|
5
|
-
Answer
|
|
9
|
+
## Answer
|
|
6
10
|
The test succeeds: starting from one individual classified as N0, the rules eventually classify it as N1000 and then as A2.
|
|
7
11
|
|
|
8
|
-
Reason Why
|
|
12
|
+
## Reason Why
|
|
9
13
|
Each rule moves the same individual one level deeper in the taxonomy and also adds two side labels. Because that chain continues all the way from N0 to N1000, the final rule deriving A2 fires, and that in turn makes the test true.
|
|
10
14
|
|
|
11
|
-
Check
|
|
15
|
+
## Check
|
|
12
16
|
C1 OK - the starting classification N0 is present.
|
|
13
17
|
C2 OK - the first expansion produced N1 together with side labels I1 and J1.
|
|
14
18
|
C3 OK - the chain reaches the midpoint N500 and still carries both side-label branches.
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
# deep-taxonomy-10000
|
|
2
2
|
|
|
3
|
+
## Source files
|
|
4
|
+
|
|
5
|
+
- [N3 rules](../deep-taxonomy-10000.n3)
|
|
6
|
+
|
|
3
7
|
Deep Taxonomy - deep classification benchmark
|
|
4
8
|
|
|
5
|
-
Answer
|
|
9
|
+
## Answer
|
|
6
10
|
The test succeeds: starting from one individual classified as N0, the rules eventually classify it as N10000 and then as A2.
|
|
7
11
|
|
|
8
|
-
Reason Why
|
|
12
|
+
## Reason Why
|
|
9
13
|
Each rule moves the same individual one level deeper in the taxonomy and also adds two side labels. Because that chain continues all the way from N0 to N10000, the final rule deriving A2 fires, and that in turn makes the test true.
|
|
10
14
|
|
|
11
|
-
Check
|
|
15
|
+
## Check
|
|
12
16
|
C1 OK - the starting classification N0 is present.
|
|
13
17
|
C2 OK - the first expansion produced N1 together with side labels I1 and J1.
|
|
14
18
|
C3 OK - the chain reaches the midpoint N5000 and still carries both side-label branches.
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
# deep-taxonomy-100000
|
|
2
2
|
|
|
3
|
+
## Source files
|
|
4
|
+
|
|
5
|
+
- [N3 rules](../deep-taxonomy-100000.n3)
|
|
6
|
+
|
|
3
7
|
Deep Taxonomy - very deep classification benchmark
|
|
4
8
|
|
|
5
|
-
Answer
|
|
9
|
+
## Answer
|
|
6
10
|
The test succeeds: starting from one individual classified as N0, the rules eventually classify it as N100000 and then as A2.
|
|
7
11
|
|
|
8
|
-
Reason Why
|
|
12
|
+
## Reason Why
|
|
9
13
|
Each rule moves the same individual one level deeper in the taxonomy and also adds two side labels. Because that chain continues all the way from N0 to N100000, the final rule deriving A2 fires, and that in turn makes the test true.
|
|
10
14
|
|
|
11
|
-
Check
|
|
15
|
+
## Check
|
|
12
16
|
C1 OK - the starting classification N0 is present.
|
|
13
17
|
C2 OK - the first expansion produced N1 together with side labels I1 and J1.
|
|
14
18
|
C3 OK - the chain reaches the midpoint N50000 and still carries both side-label branches.
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
# easter
|
|
2
2
|
|
|
3
|
+
## Source files
|
|
4
|
+
|
|
5
|
+
- [N3 rules](../easter.n3)
|
|
6
|
+
|
|
3
7
|
Easter — Gregorian computus
|
|
4
8
|
|
|
5
9
|
## 2026
|
|
6
|
-
Answer
|
|
10
|
+
## Answer
|
|
7
11
|
Easter Sunday falls on April 5.
|
|
8
12
|
|
|
9
|
-
Reason Why
|
|
13
|
+
## Reason Why
|
|
10
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.
|
|
11
15
|
|
|
12
|
-
Check
|
|
16
|
+
## Check
|
|
13
17
|
C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
|
|
14
18
|
C2 OK - the epact-style remainder r is inside the 0–29 cycle.
|
|
15
19
|
C3 OK - the weekday adjustment v is inside the 0–6 cycle.
|
|
@@ -18,13 +22,13 @@ C5 OK - the final date is inside the legal Gregorian Easter window.
|
|
|
18
22
|
Easter — Gregorian computus
|
|
19
23
|
|
|
20
24
|
## 2027
|
|
21
|
-
Answer
|
|
25
|
+
## Answer
|
|
22
26
|
Easter Sunday falls on March 28.
|
|
23
27
|
|
|
24
|
-
Reason Why
|
|
28
|
+
## Reason Why
|
|
25
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.
|
|
26
30
|
|
|
27
|
-
Check
|
|
31
|
+
## Check
|
|
28
32
|
C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
|
|
29
33
|
C2 OK - the epact-style remainder r is inside the 0–29 cycle.
|
|
30
34
|
C3 OK - the weekday adjustment v is inside the 0–6 cycle.
|
|
@@ -33,13 +37,13 @@ C5 OK - the final date is inside the legal Gregorian Easter window.
|
|
|
33
37
|
Easter — Gregorian computus
|
|
34
38
|
|
|
35
39
|
## 2028
|
|
36
|
-
Answer
|
|
40
|
+
## Answer
|
|
37
41
|
Easter Sunday falls on April 16.
|
|
38
42
|
|
|
39
|
-
Reason Why
|
|
43
|
+
## Reason Why
|
|
40
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.
|
|
41
45
|
|
|
42
|
-
Check
|
|
46
|
+
## Check
|
|
43
47
|
C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
|
|
44
48
|
C2 OK - the epact-style remainder r is inside the 0–29 cycle.
|
|
45
49
|
C3 OK - the weekday adjustment v is inside the 0–6 cycle.
|
|
@@ -48,13 +52,13 @@ C5 OK - the final date is inside the legal Gregorian Easter window.
|
|
|
48
52
|
Easter — Gregorian computus
|
|
49
53
|
|
|
50
54
|
## 2029
|
|
51
|
-
Answer
|
|
55
|
+
## Answer
|
|
52
56
|
Easter Sunday falls on April 1.
|
|
53
57
|
|
|
54
|
-
Reason Why
|
|
58
|
+
## Reason Why
|
|
55
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.
|
|
56
60
|
|
|
57
|
-
Check
|
|
61
|
+
## Check
|
|
58
62
|
C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
|
|
59
63
|
C2 OK - the epact-style remainder r is inside the 0–29 cycle.
|
|
60
64
|
C3 OK - the weekday adjustment v is inside the 0–6 cycle.
|
|
@@ -63,13 +67,13 @@ C5 OK - the final date is inside the legal Gregorian Easter window.
|
|
|
63
67
|
Easter — Gregorian computus
|
|
64
68
|
|
|
65
69
|
## 2030
|
|
66
|
-
Answer
|
|
70
|
+
## Answer
|
|
67
71
|
Easter Sunday falls on April 21.
|
|
68
72
|
|
|
69
|
-
Reason Why
|
|
73
|
+
## Reason Why
|
|
70
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.
|
|
71
75
|
|
|
72
|
-
Check
|
|
76
|
+
## Check
|
|
73
77
|
C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
|
|
74
78
|
C2 OK - the epact-style remainder r is inside the 0–29 cycle.
|
|
75
79
|
C3 OK - the weekday adjustment v is inside the 0–6 cycle.
|
|
@@ -78,13 +82,13 @@ C5 OK - the final date is inside the legal Gregorian Easter window.
|
|
|
78
82
|
Easter — Gregorian computus
|
|
79
83
|
|
|
80
84
|
## 2031
|
|
81
|
-
Answer
|
|
85
|
+
## Answer
|
|
82
86
|
Easter Sunday falls on April 13.
|
|
83
87
|
|
|
84
|
-
Reason Why
|
|
88
|
+
## Reason Why
|
|
85
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.
|
|
86
90
|
|
|
87
|
-
Check
|
|
91
|
+
## Check
|
|
88
92
|
C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
|
|
89
93
|
C2 OK - the epact-style remainder r is inside the 0–29 cycle.
|
|
90
94
|
C3 OK - the weekday adjustment v is inside the 0–6 cycle.
|
|
@@ -93,13 +97,13 @@ C5 OK - the final date is inside the legal Gregorian Easter window.
|
|
|
93
97
|
Easter — Gregorian computus
|
|
94
98
|
|
|
95
99
|
## 2032
|
|
96
|
-
Answer
|
|
100
|
+
## Answer
|
|
97
101
|
Easter Sunday falls on March 28.
|
|
98
102
|
|
|
99
|
-
Reason Why
|
|
103
|
+
## Reason Why
|
|
100
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.
|
|
101
105
|
|
|
102
|
-
Check
|
|
106
|
+
## Check
|
|
103
107
|
C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
|
|
104
108
|
C2 OK - the epact-style remainder r is inside the 0–29 cycle.
|
|
105
109
|
C3 OK - the weekday adjustment v is inside the 0–6 cycle.
|
|
@@ -108,13 +112,13 @@ C5 OK - the final date is inside the legal Gregorian Easter window.
|
|
|
108
112
|
Easter — Gregorian computus
|
|
109
113
|
|
|
110
114
|
## 2033
|
|
111
|
-
Answer
|
|
115
|
+
## Answer
|
|
112
116
|
Easter Sunday falls on April 17.
|
|
113
117
|
|
|
114
|
-
Reason Why
|
|
118
|
+
## Reason Why
|
|
115
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.
|
|
116
120
|
|
|
117
|
-
Check
|
|
121
|
+
## Check
|
|
118
122
|
C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
|
|
119
123
|
C2 OK - the epact-style remainder r is inside the 0–29 cycle.
|
|
120
124
|
C3 OK - the weekday adjustment v is inside the 0–6 cycle.
|
|
@@ -123,13 +127,13 @@ C5 OK - the final date is inside the legal Gregorian Easter window.
|
|
|
123
127
|
Easter — Gregorian computus
|
|
124
128
|
|
|
125
129
|
## 2034
|
|
126
|
-
Answer
|
|
130
|
+
## Answer
|
|
127
131
|
Easter Sunday falls on April 9.
|
|
128
132
|
|
|
129
|
-
Reason Why
|
|
133
|
+
## Reason Why
|
|
130
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.
|
|
131
135
|
|
|
132
|
-
Check
|
|
136
|
+
## Check
|
|
133
137
|
C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
|
|
134
138
|
C2 OK - the epact-style remainder r is inside the 0–29 cycle.
|
|
135
139
|
C3 OK - the weekday adjustment v is inside the 0–6 cycle.
|
|
@@ -138,13 +142,13 @@ C5 OK - the final date is inside the legal Gregorian Easter window.
|
|
|
138
142
|
Easter — Gregorian computus
|
|
139
143
|
|
|
140
144
|
## 2035
|
|
141
|
-
Answer
|
|
145
|
+
## Answer
|
|
142
146
|
Easter Sunday falls on March 25.
|
|
143
147
|
|
|
144
|
-
Reason Why
|
|
148
|
+
## Reason Why
|
|
145
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.
|
|
146
150
|
|
|
147
|
-
Check
|
|
151
|
+
## Check
|
|
148
152
|
C1 OK - the Golden Number remainder j is inside the 0–18 cycle.
|
|
149
153
|
C2 OK - the epact-style remainder r is inside the 0–29 cycle.
|
|
150
154
|
C3 OK - the weekday adjustment v is inside the 0–6 cycle.
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
# french-cities
|
|
2
2
|
|
|
3
|
+
## Source files
|
|
4
|
+
|
|
5
|
+
- [N3 rules](../french-cities.n3)
|
|
6
|
+
|
|
3
7
|
French cities — ARC style graph reachability
|
|
4
8
|
|
|
5
|
-
Answer
|
|
9
|
+
## Answer
|
|
6
10
|
Four cities in this small network can reach Nantes: Paris, Chartres, Le Mans, and Angers.
|
|
7
11
|
|
|
8
|
-
Reason Why
|
|
12
|
+
## Reason Why
|
|
9
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.
|
|
10
14
|
|
|
11
|
-
Check
|
|
15
|
+
## Check
|
|
12
16
|
C1 OK - Angers has a direct one-way connection to Nantes.
|
|
13
17
|
C2 OK - Le Mans reaches Nantes by chaining Le Mans → Angers → Nantes.
|
|
14
18
|
C3 OK - Chartres reaches Nantes by chaining Chartres → Le Mans → Angers → Nantes.
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
# fundamental-theorem-arithmetic
|
|
2
2
|
|
|
3
|
+
## Source files
|
|
4
|
+
|
|
5
|
+
- [N3 rules](../fundamental-theorem-arithmetic.n3)
|
|
6
|
+
|
|
3
7
|
Fundamental Theorem of Arithmetic — ARC-style
|
|
4
8
|
|
|
5
|
-
Answer
|
|
9
|
+
## Answer
|
|
6
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.
|
|
7
11
|
|
|
8
|
-
Reason Why
|
|
12
|
+
## Reason Why
|
|
9
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.
|
|
10
14
|
|
|
11
|
-
Check
|
|
15
|
+
## Check
|
|
12
16
|
C1 OK - repeated smallest-divisor decomposition produced the expected smallest-first factor list (3 3 7 829 3881).
|
|
13
17
|
C2 OK - the product of the computed factors reconstructs n = 202692987.
|
|
14
18
|
C3 OK - every distinct factor in the decomposition is prime by trial division.
|