eyeling 1.22.15 → 1.22.16

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 CHANGED
@@ -35,6 +35,7 @@
35
35
  - [Appendix H — Applied Constructor-Theory and the N3 ARC examples](#app-h)
36
36
  - [Appendix I — The Eyeling Playground](#app-i)
37
37
  - [Appendix J — Formalism Is Fine](#app-j)
38
+ - [Appendix K — Whitehead-inspired becoming examples](#app-k)
38
39
 
39
40
  ---
40
41
 
@@ -3680,3 +3681,23 @@ Herbrand semantics is fine because it gives symbolic reasoning a concrete semant
3680
3681
  Gödel incompleteness is fine because the limits of formal systems are not a refutation of formal reasoning. They are part of its shape. Once a system becomes expressive enough, one should expect structural limits on what it can prove about itself. That does not make formal methods less serious. It shows that their boundaries are principled rather than accidental. For a handbook like this one, that is the right lesson: formal systems are valuable not because they say everything, but because they say some things clearly, explicitly, and in a form that can be checked.
3681
3682
 
3682
3683
  Taken together, these positions support a straightforward attitude toward Eyeling. Horn logic is fine. Notation3 is fine. Executable specification is fine. Herbrand semantics is fine. Gödel incompleteness is fine. None of these commitments make the reasoner narrower in a harmful sense. They make it clearer, easier to inspect, and easier to trust. For this project, that is enough.
3684
+
3685
+ <a id="app-k"></a>
3686
+
3687
+ ## Appendix K — Whitehead-inspired becoming examples
3688
+
3689
+ A small family of examples in the repository explores a common idea: that logic can describe not only what **is** the case, but what a thing, system, lineage, or device can **become**. The inspiration is Whiteheadian in a broad sense. The examples do not attempt to formalize Whitehead’s metaphysics as scholarship. Instead, they borrow one guiding intuition from it: reality is often better understood as a structured passage from one state to another than as a mere inventory of static objects.
3690
+
3691
+ In N3 terms, this means the examples are written so that rules describe **state-transition potential**. Earlier examples in the handbook often use predicates such as `:can`, `:cannot`, `:supports`, or `:requires`. The becoming family shifts the emphasis toward predicates such as `:canBecome` and `:cannotBecome`, along with intermediate states such as protected dormancy, germination, negative differential response, or adaptive persistence. This is still ordinary Horn-style reasoning. The novelty is not in the engine, but in the modeling style.
3692
+
3693
+ The seven current becoming examples span several domains. One is a pure Whiteheadian toy model, where actual occasions prehend a past, respond to a lure of possibility, and become objectively available for future occasions. Others translate the same pattern into engineering revision, developmental genetics, control-systems design, constructor-theoretic task transition, barley-seed lineage renewal, and tunnel-junction wake switching. The common thread is always the same: an entity inherits a prior condition, encounters some enabling or disabling structure, and either reaches a new stabilized state or fails to do so.
3694
+
3695
+ That common pattern makes the examples useful pedagogically. They show that Eyeling is not limited to taxonomies, datatype checks, or one-step deductions. It can also express **process descriptions** in a compact symbolic form. A design revision can become a new approved baseline. A cell state can become a differentiated lineage state. A controller can become a validated closed-loop design. A substrate can become a new attribute-state under a possible task. A seed lineage can become a self-renewing cycle. A tunnel junction can become a low-bias wake-serving device.
3696
+
3697
+ These examples are also helpful because they keep different levels of abstraction visible. Some of them are deliberately metaphysical, some quasi-biological, some engineering-oriented, and some constructor-theoretic. But they all run through the same reasoner, using the same underlying machinery: terms, triples, forward rules, and closure. That is a quiet but important point. Eyeling does not care whether the domain is philosophy, control theory, genetics, or device physics. What matters is whether the modeled transitions can be stated clearly enough as explicit conditions and consequences.
3698
+
3699
+ The becoming examples should therefore be read as **executable schemata** rather than as complete scientific models. They intentionally simplify their domains. The engineering example does not replace design verification. The genetics example does not replace systems biology. The constructor-theory example does not replace the theory itself. And the Whitehead example is not a substitute for reading Whitehead. What the examples do show is that N3 can serve as a clean medium for expressing relational process in a way that remains inspectable, runnable, and easy to vary.
3700
+
3701
+ For the handbook, these examples matter for two reasons. First, they provide a concrete demonstration that Eyeling can handle a style of reasoning that feels closer to **becoming, development, and transformation** than to static classification. Second, they show how expressive gains can come from modeling choices rather than from adding new machinery to the engine. The same forward-chaining core that proves `:Socrates a :Mortal` can also prove that a lineage becomes evolvable, that a controller becomes approved, or that a wake switch becomes serviceable under a low-bias regime.
3702
+
3703
+ That is why this appendix belongs after Appendix J. “Formalism is fine” not only because it supports rigor, but because it can remain flexible enough to describe worlds in motion. The becoming examples are small demonstrations of that claim. They show that a compact N3 reasoner can host process-oriented models without ceasing to be simple, readable, and executable.
@@ -0,0 +1,497 @@
1
+ # ==========================================================================
2
+ # This example reframes the barley-seed example as a logic of becoming.
3
+ # A lineage is treated not as a static object but as a repeatable passage:
4
+ # dormant seed -> germination -> adult plant -> next protected seed.
5
+ #
6
+ # The viable lineage:
7
+ # mainLine
8
+ #
9
+ # The contrast lineages:
10
+ # analogLine - hereditary information is not digitally instantiated
11
+ # fragileLine - there is no repair support
12
+ # coatlessLine - there is no protected dormant stage
13
+ # staticLine - there is no heritable variation
14
+ #
15
+ # The point is to show both:
16
+ # - what a viable barley lineage can become
17
+ # - what a contrast lineage cannot become when key ingredients are missing
18
+ # ==========================================================================
19
+
20
+ @prefix : <http://example.org/barley-seed-becoming/> .
21
+ @prefix arc: <https://example.org/arc#> .
22
+ @prefix log: <http://www.w3.org/2000/10/swap/log#> .
23
+
24
+ :case a arc:Case ;
25
+ arc:question "Can a barley seed lineage become a self-renewing and adaptively persistent cycle under no-design laws — and what blocks that becoming when digital heredity, repair, protected dormancy, or variation are missing?" .
26
+
27
+ # ------------------------
28
+ # Shared world assumptions
29
+ # ------------------------
30
+
31
+ :world :obeys :NoDesignLaws .
32
+ :zygote a :DevelopmentalBottleneck .
33
+
34
+ :dnaRegister a :DigitalInformationMedium .
35
+ :analogRegister a :NonDigitalInformationMedium .
36
+
37
+ :greenhouse a :GrowthEnvironment ;
38
+ :condition :WarmthAvailable ;
39
+ :condition :MoistureAvailable ;
40
+ :condition :LightAvailable .
41
+
42
+ :nutrientBed a :RawMaterialSupply .
43
+ :pollinationLoop a :ReproductionSupport .
44
+ :salineBench a :SelectionEnvironment ;
45
+ :favours :SaltTolerant .
46
+
47
+ # ---------------------
48
+ # 1. The viable lineage
49
+ # ---------------------
50
+
51
+ :mainGenome a :Replicator ;
52
+ :accuracy :High ;
53
+ :storedIn :dnaRegister ;
54
+ :variant :SaltTolerant .
55
+
56
+ :mainRepair a :RepairVehicle .
57
+
58
+ :mainEmbryoVehicle a :Vehicle ;
59
+ :function :Metabolism ;
60
+ :function :Development ;
61
+ :function :CopyingSupport ;
62
+ :function :CompartmentControl ;
63
+ :usesRepair :mainRepair .
64
+
65
+ :mainAdultVehicle a :Vehicle ;
66
+ :function :Metabolism ;
67
+ :function :Development ;
68
+ :function :GameteProduction ;
69
+ :function :SeedConstruction .
70
+
71
+ :mainSeedCoat a :Compartment ;
72
+ :function :DormancyProtection .
73
+
74
+ :mainSeed a :Organism ;
75
+ :lifeStage :DormantSeed ;
76
+ :hasReplicator :mainGenome ;
77
+ :hasVehicle :mainEmbryoVehicle ;
78
+ :hasCompartment :mainSeedCoat .
79
+
80
+ :mainAdult a :Organism ;
81
+ :lifeStage :AdultPlant ;
82
+ :hasReplicator :mainGenome ;
83
+ :hasVehicle :mainAdultVehicle .
84
+
85
+ :mainLine a :Lineage ;
86
+ :seedStage :mainSeed ;
87
+ :adultStage :mainAdult ;
88
+ :replicator :mainGenome ;
89
+ :variant :SaltTolerant ;
90
+ :variationStatus :Present .
91
+
92
+ # ----------------------------------------------
93
+ # 2. Contrast lineages used for blocked becoming
94
+ # ----------------------------------------------
95
+
96
+ :analogGenome a :Replicator ;
97
+ :accuracy :High ;
98
+ :storedIn :analogRegister ;
99
+ :variant :SaltTolerant .
100
+
101
+ :analogRepair a :RepairVehicle .
102
+
103
+ :analogEmbryoVehicle a :Vehicle ;
104
+ :function :Metabolism ;
105
+ :function :Development ;
106
+ :function :CopyingSupport ;
107
+ :usesRepair :analogRepair .
108
+
109
+ :analogAdultVehicle a :Vehicle ;
110
+ :function :Metabolism ;
111
+ :function :Development ;
112
+ :function :GameteProduction ;
113
+ :function :SeedConstruction .
114
+
115
+ :analogSeedCoat a :Compartment ;
116
+ :function :DormancyProtection .
117
+
118
+ :analogSeed a :Organism ;
119
+ :lifeStage :DormantSeed ;
120
+ :hasReplicator :analogGenome ;
121
+ :hasVehicle :analogEmbryoVehicle ;
122
+ :hasCompartment :analogSeedCoat .
123
+
124
+ :analogAdult a :Organism ;
125
+ :lifeStage :AdultPlant ;
126
+ :hasReplicator :analogGenome ;
127
+ :hasVehicle :analogAdultVehicle .
128
+
129
+ :analogLine a :Lineage ;
130
+ :seedStage :analogSeed ;
131
+ :adultStage :analogAdult ;
132
+ :replicator :analogGenome ;
133
+ :variant :SaltTolerant ;
134
+ :variationStatus :Present .
135
+
136
+ :fragileGenome a :Replicator ;
137
+ :accuracy :High ;
138
+ :storedIn :dnaRegister ;
139
+ :variant :SaltTolerant .
140
+
141
+ :fragileEmbryoVehicle a :Vehicle ;
142
+ :function :Metabolism ;
143
+ :function :Development ;
144
+ :function :CopyingSupport .
145
+
146
+ :fragileAdultVehicle a :Vehicle ;
147
+ :function :Metabolism ;
148
+ :function :Development ;
149
+ :function :GameteProduction ;
150
+ :function :SeedConstruction .
151
+
152
+ :fragileSeedCoat a :Compartment ;
153
+ :function :DormancyProtection .
154
+
155
+ :fragileSeed a :Organism ;
156
+ :lifeStage :DormantSeed ;
157
+ :hasReplicator :fragileGenome ;
158
+ :hasVehicle :fragileEmbryoVehicle ;
159
+ :hasCompartment :fragileSeedCoat .
160
+
161
+ :fragileAdult a :Organism ;
162
+ :lifeStage :AdultPlant ;
163
+ :hasReplicator :fragileGenome ;
164
+ :hasVehicle :fragileAdultVehicle .
165
+
166
+ :fragileLine a :Lineage ;
167
+ :seedStage :fragileSeed ;
168
+ :adultStage :fragileAdult ;
169
+ :replicator :fragileGenome ;
170
+ :variant :SaltTolerant ;
171
+ :variationStatus :Present ;
172
+ :lacksRepair true .
173
+
174
+ :coatlessGenome a :Replicator ;
175
+ :accuracy :High ;
176
+ :storedIn :dnaRegister ;
177
+ :variant :SaltTolerant .
178
+
179
+ :coatlessRepair a :RepairVehicle .
180
+
181
+ :coatlessEmbryoVehicle a :Vehicle ;
182
+ :function :Metabolism ;
183
+ :function :Development ;
184
+ :function :CopyingSupport ;
185
+ :usesRepair :coatlessRepair .
186
+
187
+ :coatlessAdultVehicle a :Vehicle ;
188
+ :function :Metabolism ;
189
+ :function :Development ;
190
+ :function :GameteProduction ;
191
+ :function :SeedConstruction .
192
+
193
+ :coatlessSeed a :Organism ;
194
+ :lifeStage :DormantSeed ;
195
+ :hasReplicator :coatlessGenome ;
196
+ :hasVehicle :coatlessEmbryoVehicle .
197
+
198
+ :coatlessAdult a :Organism ;
199
+ :lifeStage :AdultPlant ;
200
+ :hasReplicator :coatlessGenome ;
201
+ :hasVehicle :coatlessAdultVehicle .
202
+
203
+ :coatlessLine a :Lineage ;
204
+ :seedStage :coatlessSeed ;
205
+ :adultStage :coatlessAdult ;
206
+ :replicator :coatlessGenome ;
207
+ :variant :SaltTolerant ;
208
+ :variationStatus :Present ;
209
+ :lacksDormancyProtection true .
210
+
211
+ :staticGenome a :Replicator ;
212
+ :accuracy :High ;
213
+ :storedIn :dnaRegister ;
214
+ :variant :SaltTolerant .
215
+
216
+ :staticRepair a :RepairVehicle .
217
+
218
+ :staticEmbryoVehicle a :Vehicle ;
219
+ :function :Metabolism ;
220
+ :function :Development ;
221
+ :function :CopyingSupport ;
222
+ :usesRepair :staticRepair .
223
+
224
+ :staticAdultVehicle a :Vehicle ;
225
+ :function :Metabolism ;
226
+ :function :Development ;
227
+ :function :GameteProduction ;
228
+ :function :SeedConstruction .
229
+
230
+ :staticSeedCoat a :Compartment ;
231
+ :function :DormancyProtection .
232
+
233
+ :staticSeed a :Organism ;
234
+ :lifeStage :DormantSeed ;
235
+ :hasReplicator :staticGenome ;
236
+ :hasVehicle :staticEmbryoVehicle ;
237
+ :hasCompartment :staticSeedCoat .
238
+
239
+ :staticAdult a :Organism ;
240
+ :lifeStage :AdultPlant ;
241
+ :hasReplicator :staticGenome ;
242
+ :hasVehicle :staticAdultVehicle .
243
+
244
+ :staticLine a :Lineage ;
245
+ :seedStage :staticSeed ;
246
+ :adultStage :staticAdult ;
247
+ :replicator :staticGenome ;
248
+ :variant :SaltTolerant ;
249
+ :variationStatus :None .
250
+
251
+ # --------------------------------------------
252
+ # 3. CAN-BECOME rules — viable transformations
253
+ # --------------------------------------------
254
+
255
+ # Under no-design laws, digital hereditary information can be copied accurately.
256
+ { :world :obeys :NoDesignLaws .
257
+ ?Genome a :Replicator ;
258
+ :storedIn ?Medium .
259
+ ?Medium a :DigitalInformationMedium . }
260
+ =>
261
+ { ?Genome :canBecome :AccuratelyCopiedGenome . } .
262
+
263
+ # A protected seed can remain a protected dormant stage.
264
+ { ?Seed a :Organism ;
265
+ :lifeStage :DormantSeed ;
266
+ :hasCompartment ?Compartment .
267
+ ?Compartment :function :DormancyProtection . }
268
+ =>
269
+ { ?Seed :canBecome :ProtectedDormantPhase . } .
270
+
271
+ # A dormant seed can become a germinating stage when conditions are present.
272
+ { ?Seed a :Organism ;
273
+ :lifeStage :DormantSeed .
274
+ :greenhouse :condition :WarmthAvailable .
275
+ :greenhouse :condition :MoistureAvailable .
276
+ :nutrientBed a :RawMaterialSupply . }
277
+ =>
278
+ { ?Seed :canBecome :GerminatingStage . } .
279
+
280
+ # An adult plant can become a next protected seed stage when reproductive
281
+ # vehicle functions and supports are present.
282
+ { ?Adult a :Organism ;
283
+ :lifeStage :AdultPlant ;
284
+ :hasVehicle ?Vehicle .
285
+ ?Vehicle :function :GameteProduction .
286
+ ?Vehicle :function :SeedConstruction .
287
+ :pollinationLoop a :ReproductionSupport .
288
+ :greenhouse :condition :LightAvailable . }
289
+ =>
290
+ { ?Adult :canBecome :NextDormantSeedStage . } .
291
+
292
+ # Accurate lineage renewal requires accurate copying, repair, and a bottleneck.
293
+ { ?Line a :Lineage ;
294
+ :seedStage ?Seed ;
295
+ :replicator ?Genome .
296
+ ?Genome :canBecome :AccuratelyCopiedGenome .
297
+ ?Seed :hasVehicle ?Vehicle .
298
+ ?Vehicle :usesRepair ?Repair .
299
+ ?Repair a :RepairVehicle .
300
+ :zygote a :DevelopmentalBottleneck . }
301
+ =>
302
+ { ?Line :canBecome :AccuratelyReproducedNextGeneration . } .
303
+
304
+ # A lineage closes as a becoming when it can pass through protected dormancy,
305
+ # germination, and return to a next seed stage.
306
+ { ?Line a :Lineage ;
307
+ :seedStage ?Seed ;
308
+ :adultStage ?Adult .
309
+ ?Seed :canBecome :ProtectedDormantPhase .
310
+ ?Seed :canBecome :GerminatingStage .
311
+ ?Adult :canBecome :NextDormantSeedStage . }
312
+ =>
313
+ { ?Line :canBecome :LifeCycleClosure . } .
314
+
315
+ # Heritable variation enables becoming otherwise.
316
+ { ?Line a :Lineage ;
317
+ :variationStatus :Present . }
318
+ =>
319
+ { ?Line :canBecome :NovelVariantLineage . } .
320
+
321
+ # Adaptive persistence is a becoming that joins renewal, variation, and selection.
322
+ { ?Line a :Lineage ;
323
+ :variant ?Variant .
324
+ ?Line :canBecome :AccuratelyReproducedNextGeneration .
325
+ ?Line :canBecome :NovelVariantLineage .
326
+ :salineBench :favours ?Variant . }
327
+ =>
328
+ { ?Line :canBecome :AdaptivelyPersistentLineage . } .
329
+
330
+ # A lineage is an evolvable becoming when it can close and persist adaptively.
331
+ { ?Line :canBecome :LifeCycleClosure .
332
+ ?Line :canBecome :AdaptivelyPersistentLineage . }
333
+ =>
334
+ { ?Line a :EvolvableBecoming . } .
335
+
336
+ # ------------------------------------------------
337
+ # 4. CANNOT-BECOME rules — blocked transformations
338
+ # ------------------------------------------------
339
+
340
+ # Non-digital heredity cannot become accurate copying under no-design laws.
341
+ { :world :obeys :NoDesignLaws .
342
+ ?Genome a :Replicator ;
343
+ :storedIn ?Medium .
344
+ ?Medium a :NonDigitalInformationMedium . }
345
+ =>
346
+ { ?Genome :cannotBecome :AccuratelyCopiedGenome . } .
347
+
348
+ # If the genome cannot become accurately copied, the lineage cannot become an
349
+ # accurately reproduced next generation.
350
+ { ?Line :replicator ?Genome .
351
+ ?Genome :cannotBecome :AccuratelyCopiedGenome . }
352
+ =>
353
+ { ?Line :cannotBecome :AccuratelyReproducedNextGeneration . } .
354
+
355
+ # No repair blocks reliable correction.
356
+ { ?Line a :Lineage ;
357
+ :lacksRepair true . }
358
+ =>
359
+ { ?Line :cannotBecome :ReliablyCorrectedLineage . } .
360
+
361
+ # Without reliable correction, accurate renewal is blocked.
362
+ { ?Line :cannotBecome :ReliablyCorrectedLineage . }
363
+ =>
364
+ { ?Line :cannotBecome :AccuratelyReproducedNextGeneration . } .
365
+
366
+ # No protective compartment blocks protected dormancy.
367
+ { ?Line a :Lineage ;
368
+ :lacksDormancyProtection true . }
369
+ =>
370
+ { ?Line :cannotBecome :ProtectedDormantPhase . } .
371
+
372
+ # If protected dormancy is blocked, life-cycle closure is blocked.
373
+ { ?Line :cannotBecome :ProtectedDormantPhase . }
374
+ =>
375
+ { ?Line :cannotBecome :LifeCycleClosure . } .
376
+
377
+ # No heritable variation blocks adaptive becoming.
378
+ { ?Line a :Lineage ;
379
+ :variationStatus :None . }
380
+ =>
381
+ { ?Line :cannotBecome :AdaptiveLineage . } .
382
+
383
+ # If adaptive becoming is blocked, adaptive persistence is blocked.
384
+ { ?Line :cannotBecome :AdaptiveLineage . }
385
+ =>
386
+ { ?Line :cannotBecome :AdaptivelyPersistentLineage . } .
387
+
388
+ # If any major becoming is blocked, the lineage is not an evolvable becoming.
389
+ { ?Line :cannotBecome :AccuratelyReproducedNextGeneration . }
390
+ =>
391
+ { ?Line :cannotBecome :EvolvableBecoming . } .
392
+
393
+ { ?Line :cannotBecome :AdaptivelyPersistentLineage . }
394
+ =>
395
+ { ?Line :cannotBecome :EvolvableBecoming . } .
396
+
397
+ { ?Line :cannotBecome :LifeCycleClosure . }
398
+ =>
399
+ { ?Line :cannotBecome :EvolvableBecoming . } .
400
+
401
+ # ---------
402
+ # 5. Checks
403
+ # ---------
404
+
405
+ { :world :obeys :NoDesignLaws . }
406
+ => { :case :checkB1 :Passed . } .
407
+
408
+ { :mainGenome :canBecome :AccuratelyCopiedGenome . }
409
+ => { :case :checkB2 :Passed . } .
410
+
411
+ { :mainSeed :canBecome :ProtectedDormantPhase . }
412
+ => { :case :checkB3 :Passed . } .
413
+
414
+ { :mainSeed :canBecome :GerminatingStage . }
415
+ => { :case :checkB4 :Passed . } .
416
+
417
+ { :mainAdult :canBecome :NextDormantSeedStage . }
418
+ => { :case :checkB5 :Passed . } .
419
+
420
+ { :mainLine :canBecome :AccuratelyReproducedNextGeneration . }
421
+ => { :case :checkB6 :Passed . } .
422
+
423
+ { :mainLine :canBecome :LifeCycleClosure . }
424
+ => { :case :checkB7 :Passed . } .
425
+
426
+ { :mainLine :canBecome :NovelVariantLineage . }
427
+ => { :case :checkB8 :Passed . } .
428
+
429
+ { :mainLine :canBecome :AdaptivelyPersistentLineage . }
430
+ => { :case :checkB9 :Passed . } .
431
+
432
+ { :mainLine a :EvolvableBecoming . }
433
+ => { :case :checkB10 :Passed . } .
434
+
435
+ { :analogLine :cannotBecome :AccuratelyReproducedNextGeneration . }
436
+ => { :case :checkB11 :Passed . } .
437
+
438
+ { :fragileLine :cannotBecome :AccuratelyReproducedNextGeneration . }
439
+ => { :case :checkB12 :Passed . } .
440
+
441
+ { :coatlessLine :cannotBecome :LifeCycleClosure . }
442
+ => { :case :checkB13 :Passed . } .
443
+
444
+ { :staticLine :cannotBecome :AdaptiveLineage . }
445
+ => { :case :checkB14 :Passed . } .
446
+
447
+ { :staticLine :cannotBecome :EvolvableBecoming . }
448
+ => { :case :checkB15 :Passed . } .
449
+
450
+ # -------------------
451
+ # 6. ARC-style output
452
+ # -------------------
453
+
454
+ { :case :checkB1 :Passed .
455
+ :case :checkB2 :Passed .
456
+ :case :checkB3 :Passed .
457
+ :case :checkB4 :Passed .
458
+ :case :checkB5 :Passed .
459
+ :case :checkB6 :Passed .
460
+ :case :checkB7 :Passed .
461
+ :case :checkB8 :Passed .
462
+ :case :checkB9 :Passed .
463
+ :case :checkB10 :Passed .
464
+ :case :checkB11 :Passed .
465
+ :case :checkB12 :Passed .
466
+ :case :checkB13 :Passed .
467
+ :case :checkB14 :Passed .
468
+ :case :checkB15 :Passed . }
469
+ =>
470
+ {
471
+ :out log:outputString """Barley seed lineage — becoming
472
+
473
+ Answer
474
+ YES for the viable barley lineage.
475
+ NO for the contrast lineages when digital heredity, repair, protected dormancy, or heritable variation are missing.
476
+
477
+ Reason Why
478
+ 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.
479
+
480
+ Check
481
+ B1 OK - no-design laws are assumed
482
+ B2 OK - the viable genome can become accurately copied
483
+ B3 OK - the viable seed can become a protected dormant phase
484
+ B4 OK - the viable seed can become a germinating stage
485
+ B5 OK - the viable adult can become a next dormant seed stage
486
+ B6 OK - the viable lineage can become an accurately reproduced next generation
487
+ B7 OK - the viable lineage can become a closed life cycle
488
+ B8 OK - the viable lineage can become a novel variant lineage
489
+ B9 OK - the viable lineage can become adaptively persistent
490
+ B10 OK - the viable lineage is an evolvable becoming
491
+ B11 OK - the non-digital lineage cannot become an accurately reproduced next generation
492
+ B12 OK - the repair-deficient lineage cannot become an accurately reproduced next generation
493
+ B13 OK - the coatless lineage cannot become a closed life cycle
494
+ B14 OK - the static lineage cannot become an adaptive lineage
495
+ B15 OK - the static lineage cannot become an evolvable becoming
496
+ """ .
497
+ } .
@@ -0,0 +1,177 @@
1
+ # ================================================================
2
+ # This small Notation3 program models becoming in a
3
+ # constructor-theoretic idiom. A substrate is described by an
4
+ # attribute. A task specifies a transformation from one attribute
5
+ # to another. A constructor is something that can bring about that
6
+ # task while retaining the capacity to do so again. The program
7
+ # below distinguishes possible from impossible tasks and shows how
8
+ # a sequence of possible tasks yields a new substrate state.
9
+ # ================================================================
10
+
11
+ @prefix : <http://example.org/constructor#>.
12
+
13
+ # ----------
14
+ # CATEGORIES
15
+ # ----------
16
+
17
+ :SubstrateVersion a :Category.
18
+ :Attribute a :Category.
19
+ :Task a :Category.
20
+ :Constructor a :Category.
21
+ :Principle a :Category.
22
+
23
+ # ----------
24
+ # ATTRIBUTES
25
+ # ----------
26
+
27
+ :blankMemory a :Attribute.
28
+ :encodedMemory a :Attribute.
29
+ :stabilizedMemory a :Attribute.
30
+ :damagedMemory a :Attribute.
31
+ :pristineMemory a :Attribute.
32
+
33
+ # -----
34
+ # TASKS
35
+ # -----
36
+
37
+ :writeTask a :Task;
38
+ :input :blankMemory;
39
+ :output :encodedMemory.
40
+
41
+ :stabilizeTask a :Task;
42
+ :input :encodedMemory;
43
+ :output :stabilizedMemory.
44
+
45
+ :perfectRestoreTask a :Task;
46
+ :input :damagedMemory;
47
+ :output :pristineMemory;
48
+ :forbiddenBy :noMiraclePrinciple.
49
+
50
+ # ------------
51
+ # CONSTRUCTORS
52
+ # ------------
53
+
54
+ :writer a :Constructor;
55
+ :canPerform :writeTask.
56
+
57
+ :stabilizer a :Constructor;
58
+ :canPerform :stabilizeTask.
59
+
60
+ # ----------
61
+ # PRINCIPLES
62
+ # ----------
63
+
64
+ :noMiraclePrinciple a :Principle.
65
+
66
+ # ---------------
67
+ # INITIAL HISTORY
68
+ # ---------------
69
+
70
+ :v1 a :SubstrateVersion;
71
+ :time 1;
72
+ :hasAttribute :blankMemory.
73
+
74
+ :v2 a :SubstrateVersion;
75
+ :time 2;
76
+ :derivesFrom :v1;
77
+ :intendsTask :writeTask.
78
+
79
+ :v3 a :SubstrateVersion;
80
+ :time 3;
81
+ :derivesFrom :v2;
82
+ :intendsTask :stabilizeTask.
83
+
84
+ :damaged1 a :SubstrateVersion;
85
+ :time 4;
86
+ :hasAttribute :damagedMemory.
87
+
88
+ :vBad a :SubstrateVersion;
89
+ :time 5;
90
+ :derivesFrom :damaged1;
91
+ :intendsTask :perfectRestoreTask.
92
+
93
+ # ---------------------------------------------
94
+ # RULE 1
95
+ # A TASK FORBIDDEN BY A PRINCIPLE IS IMPOSSIBLE
96
+ # ---------------------------------------------
97
+
98
+ {
99
+ ?task :forbiddenBy ?principle.
100
+ }
101
+ =>
102
+ {
103
+ ?task :status :impossibleTask.
104
+ }.
105
+
106
+ # --------------------------------------------
107
+ # RULE 2
108
+ # A TASK WITH A CONSTRUCTOR IS A POSSIBLE TASK
109
+ # --------------------------------------------
110
+
111
+ {
112
+ ?constructor :canPerform ?task.
113
+ }
114
+ =>
115
+ {
116
+ ?task :status :possibleTask.
117
+ ?constructor :retainsCapacityFor ?task.
118
+ }.
119
+
120
+ # ---------------------------------------------------------------
121
+ # RULE 3
122
+ # A POSSIBLE TASK CAN BE APPLIED WHEN THE INPUT ATTRIBUTE MATCHES
123
+ # ---------------------------------------------------------------
124
+
125
+ {
126
+ ?next :derivesFrom ?prev.
127
+ ?next :intendsTask ?task.
128
+ ?task :status :possibleTask.
129
+ ?task :input ?in.
130
+ ?prev :hasAttribute ?in.
131
+ }
132
+ =>
133
+ {
134
+ ?next :canUndergo ?task;
135
+ :becomesFrom ?prev.
136
+ }.
137
+
138
+ # ---------------------------------------------------------
139
+ # RULE 4
140
+ # WHEN A TASK IS UNDERGONE, THE OUTPUT ATTRIBUTE IS REACHED
141
+ # ---------------------------------------------------------
142
+
143
+ {
144
+ ?next :canUndergo ?task.
145
+ ?task :output ?out.
146
+ }
147
+ =>
148
+ {
149
+ ?next :hasAttribute ?out.
150
+ }.
151
+
152
+ # -------------------------------------
153
+ # RULE 5
154
+ # IMPOSSIBLE TASKS BLOCK THE TRANSITION
155
+ # -------------------------------------
156
+
157
+ {
158
+ ?next :intendsTask ?task.
159
+ ?task :status :impossibleTask.
160
+ }
161
+ =>
162
+ {
163
+ ?next :status :blockedTransition.
164
+ }.
165
+
166
+ # ---------------------------------------------------------------
167
+ # RULE 6
168
+ # A SUCCESSFUL TRANSFORMATION BECOMES AVAILABLE FOR FURTHER TASKS
169
+ # ---------------------------------------------------------------
170
+
171
+ {
172
+ ?next :hasAttribute ?attr.
173
+ }
174
+ =>
175
+ {
176
+ ?next :availableForFurtherTask :yes.
177
+ }.
@@ -0,0 +1,25 @@
1
+ Barley seed lineage — becoming
2
+
3
+ Answer
4
+ YES for the viable barley lineage.
5
+ NO for the contrast lineages when digital heredity, repair, protected dormancy, or heritable variation are missing.
6
+
7
+ Reason Why
8
+ 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.
9
+
10
+ Check
11
+ B1 OK - no-design laws are assumed
12
+ B2 OK - the viable genome can become accurately copied
13
+ B3 OK - the viable seed can become a protected dormant phase
14
+ B4 OK - the viable seed can become a germinating stage
15
+ B5 OK - the viable adult can become a next dormant seed stage
16
+ B6 OK - the viable lineage can become an accurately reproduced next generation
17
+ B7 OK - the viable lineage can become a closed life cycle
18
+ B8 OK - the viable lineage can become a novel variant lineage
19
+ B9 OK - the viable lineage can become adaptively persistent
20
+ B10 OK - the viable lineage is an evolvable becoming
21
+ B11 OK - the non-digital lineage cannot become an accurately reproduced next generation
22
+ B12 OK - the repair-deficient lineage cannot become an accurately reproduced next generation
23
+ B13 OK - the coatless lineage cannot become a closed life cycle
24
+ B14 OK - the static lineage cannot become an adaptive lineage
25
+ B15 OK - the static lineage cannot become an evolvable becoming
@@ -0,0 +1,18 @@
1
+ @prefix : <http://example.org/constructor#> .
2
+
3
+ :perfectRestoreTask :status :impossibleTask .
4
+ :writeTask :status :possibleTask .
5
+ :writer :retainsCapacityFor :writeTask .
6
+ :stabilizeTask :status :possibleTask .
7
+ :stabilizer :retainsCapacityFor :stabilizeTask .
8
+ :v1 :availableForFurtherTask :yes .
9
+ :damaged1 :availableForFurtherTask :yes .
10
+ :v2 :canUndergo :writeTask .
11
+ :v2 :becomesFrom :v1 .
12
+ :v2 :hasAttribute :encodedMemory .
13
+ :vBad :status :blockedTransition .
14
+ :v2 :availableForFurtherTask :yes .
15
+ :v3 :canUndergo :stabilizeTask .
16
+ :v3 :becomesFrom :v2 .
17
+ :v3 :hasAttribute :stabilizedMemory .
18
+ :v3 :availableForFurtherTask :yes .
@@ -0,0 +1,21 @@
1
+ tunnel-junction wake switch — becoming
2
+
3
+ Answer
4
+ YES for the tunnel junction.
5
+ NO for the conventional low-bias PN junction in the same wake-switch regime.
6
+
7
+ Reason Why
8
+ 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.
9
+
10
+ Check
11
+ B1 OK - the tunnel junction can become a quantum-transfer state
12
+ B2 OK - the tunnel junction is classified as tunneling-dominant
13
+ B3 OK - the tunnel junction can become a sub-threshold current state
14
+ B4 OK - the tunnel junction can become a negative differential response state
15
+ B5 OK - the tunnel junction can become an ultra-low-bias switching state
16
+ B6 OK - the tunnel junction can become a leak-alarm wake-serving state
17
+ B7 OK - the conventional junction cannot become a quantum-transfer state
18
+ B8 OK - the conventional junction cannot become a sub-threshold current state
19
+ B9 OK - the conventional junction cannot become the tunnel-style negative differential state
20
+ B10 OK - the conventional junction cannot become an ultra-low-bias switching state here
21
+ B11 OK - the conventional junction cannot become a leak-alarm wake-serving state in this case
@@ -0,0 +1,216 @@
1
+ # =================================================================================
2
+ # tunnel-junction wake switch — becoming
3
+ #
4
+ # This example reframes the wake-switch case as a becoming example.
5
+ # The device is not treated as a static component with capabilities, but as a
6
+ # system that can or cannot pass into a low-bias wake-triggering state.
7
+ #
8
+ # We compare two devices:
9
+ # - tunnelJunction : a heavily doped narrow PN junction with overlapping states
10
+ # - ordinaryJunction : a conventional PN junction without that overlap
11
+ #
12
+ # The point is to show:
13
+ # - what the tunnel junction can become under the low-bias requirement
14
+ # - what the conventional junction cannot become under the same requirement
15
+ # =================================================================================
16
+
17
+ @prefix : <http://example.org/tunnel-junction-wake-switch-becoming/> .
18
+ @prefix arc: <https://example.org/arc#> .
19
+ @prefix log: <http://www.w3.org/2000/10/swap/log#> .
20
+
21
+ :case a arc:Case ;
22
+ arc:question "Can a tunnel-junction wake switch become a low-bias wake-triggering state in a regime where a conventional PN junction cannot?" .
23
+
24
+ # -------------------
25
+ # Application context
26
+ # -------------------
27
+
28
+ :leakAlarmNode a :EdgeSensor ;
29
+ :needs :MicrowattWakeSwitching ;
30
+ :application :PipeLeakAlarm .
31
+
32
+ # ----------------------------------
33
+ # Device A: tunnel-style PN junction
34
+ # ----------------------------------
35
+
36
+ :tunnelJunction a :PNJunction ;
37
+ :junctionKind :TunnelDiode ;
38
+ :doping :Heavy ;
39
+ :depletionWidth :Narrow ;
40
+ :stateAlignment :Overlap ;
41
+ :biasRegime :LowForwardBias ;
42
+ :scanProfile :PeakToValley ;
43
+ :deviceRole :WakeSwitch .
44
+
45
+ # ----------------------------------
46
+ # Device B: conventional PN junction
47
+ # ----------------------------------
48
+
49
+ :ordinaryJunction a :PNJunction ;
50
+ :junctionKind :ConventionalDiode ;
51
+ :doping :Standard ;
52
+ :depletionWidth :Wide ;
53
+ :stateAlignment :NoOverlap ;
54
+ :biasRegime :LowForwardBias ;
55
+ :scanProfile :MonotoneForward ;
56
+ :deviceRole :WakeSwitch .
57
+
58
+ # -------------------------------------------
59
+ # CAN-BECOME rules — viable state transitions
60
+ # -------------------------------------------
61
+
62
+ # A heavily doped, narrow junction with overlapping states can become a
63
+ # quantum-transfer-supporting junction.
64
+ { ?J a :PNJunction ;
65
+ :doping :Heavy ;
66
+ :depletionWidth :Narrow ;
67
+ :stateAlignment :Overlap . }
68
+ =>
69
+ { ?J :canBecome :QuantumTransferState ;
70
+ :transportMode :TunnelingDominant . } .
71
+
72
+ # In the low-forward-bias regime, a junction in the quantum-transfer state can
73
+ # become a sub-threshold current state.
74
+ { ?J :canBecome :QuantumTransferState ;
75
+ :biasRegime :LowForwardBias . }
76
+ =>
77
+ { ?J :canBecome :SubThresholdCurrentState . } .
78
+
79
+ # If the junction is scanned across the peak-to-valley window, it can become a
80
+ # negative differential response state.
81
+ { ?J :canBecome :QuantumTransferState ;
82
+ :scanProfile :PeakToValley . }
83
+ =>
84
+ { ?J :canBecome :NegativeDifferentialResponseState . } .
85
+
86
+ # A wake-switch device that can become a sub-threshold current state can become
87
+ # an ultra-low-bias switching state.
88
+ { ?J :canBecome :SubThresholdCurrentState ;
89
+ :deviceRole :WakeSwitch . }
90
+ =>
91
+ { ?J :canBecome :UltraLowBiasSwitchingState . } .
92
+
93
+ # If the device can become an ultra-low-bias switching state and the node needs
94
+ # microwatt wake switching, it can become a wake-serving device.
95
+ { ?J :canBecome :UltraLowBiasSwitchingState .
96
+ :leakAlarmNode :needs :MicrowattWakeSwitching . }
97
+ =>
98
+ { ?J :canBecome :LeakAlarmWakeServingState . } .
99
+
100
+ # -----------------------------------------------
101
+ # CANNOT-BECOME rules — blocked state transitions
102
+ # -----------------------------------------------
103
+
104
+ # A conventional wide-depletion low-bias junction without state overlap cannot
105
+ # become a quantum-transfer-supporting junction.
106
+ { ?J a :PNJunction ;
107
+ :doping :Standard ;
108
+ :depletionWidth :Wide ;
109
+ :stateAlignment :NoOverlap . }
110
+ =>
111
+ { ?J :cannotBecome :QuantumTransferState . } .
112
+
113
+ # Without that quantum-transfer state, the junction cannot become a
114
+ # sub-threshold current state in the same low-bias regime.
115
+ { ?J :cannotBecome :QuantumTransferState ;
116
+ :biasRegime :LowForwardBias . }
117
+ =>
118
+ { ?J :cannotBecome :SubThresholdCurrentState . } .
119
+
120
+ # Without quantum transfer, the tunnel-style negative differential state is
121
+ # blocked as well.
122
+ { ?J :cannotBecome :QuantumTransferState . }
123
+ =>
124
+ { ?J :cannotBecome :NegativeDifferentialResponseState . } .
125
+
126
+ # Without sub-threshold current, the device cannot become an ultra-low-bias
127
+ # switching state.
128
+ { ?J :cannotBecome :SubThresholdCurrentState ;
129
+ :deviceRole :WakeSwitch . }
130
+ =>
131
+ { ?J :cannotBecome :UltraLowBiasSwitchingState . } .
132
+
133
+ # Without ultra-low-bias switching, the device cannot become a wake-serving
134
+ # device for the leak-alarm node.
135
+ { ?J :cannotBecome :UltraLowBiasSwitchingState .
136
+ :leakAlarmNode :needs :MicrowattWakeSwitching . }
137
+ =>
138
+ { ?J :cannotBecome :LeakAlarmWakeServingState . } .
139
+
140
+ # ------
141
+ # Checks
142
+ # ------
143
+
144
+ { :tunnelJunction :canBecome :QuantumTransferState . }
145
+ => { :case :checkB1 :Passed . } .
146
+
147
+ { :tunnelJunction :transportMode :TunnelingDominant . }
148
+ => { :case :checkB2 :Passed . } .
149
+
150
+ { :tunnelJunction :canBecome :SubThresholdCurrentState . }
151
+ => { :case :checkB3 :Passed . } .
152
+
153
+ { :tunnelJunction :canBecome :NegativeDifferentialResponseState . }
154
+ => { :case :checkB4 :Passed . } .
155
+
156
+ { :tunnelJunction :canBecome :UltraLowBiasSwitchingState . }
157
+ => { :case :checkB5 :Passed . } .
158
+
159
+ { :tunnelJunction :canBecome :LeakAlarmWakeServingState . }
160
+ => { :case :checkB6 :Passed . } .
161
+
162
+ { :ordinaryJunction :cannotBecome :QuantumTransferState . }
163
+ => { :case :checkB7 :Passed . } .
164
+
165
+ { :ordinaryJunction :cannotBecome :SubThresholdCurrentState . }
166
+ => { :case :checkB8 :Passed . } .
167
+
168
+ { :ordinaryJunction :cannotBecome :NegativeDifferentialResponseState . }
169
+ => { :case :checkB9 :Passed . } .
170
+
171
+ { :ordinaryJunction :cannotBecome :UltraLowBiasSwitchingState . }
172
+ => { :case :checkB10 :Passed . } .
173
+
174
+ { :ordinaryJunction :cannotBecome :LeakAlarmWakeServingState . }
175
+ => { :case :checkB11 :Passed . } .
176
+
177
+ # ----------------
178
+ # ARC-style output
179
+ # ----------------
180
+
181
+ { :case :checkB1 :Passed .
182
+ :case :checkB2 :Passed .
183
+ :case :checkB3 :Passed .
184
+ :case :checkB4 :Passed .
185
+ :case :checkB5 :Passed .
186
+ :case :checkB6 :Passed .
187
+ :case :checkB7 :Passed .
188
+ :case :checkB8 :Passed .
189
+ :case :checkB9 :Passed .
190
+ :case :checkB10 :Passed .
191
+ :case :checkB11 :Passed . }
192
+ =>
193
+ {
194
+ :out log:outputString """tunnel-junction wake switch — becoming
195
+
196
+ Answer
197
+ YES for the tunnel junction.
198
+ NO for the conventional low-bias PN junction in the same wake-switch regime.
199
+
200
+ Reason Why
201
+ 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.
202
+
203
+ Check
204
+ B1 OK - the tunnel junction can become a quantum-transfer state
205
+ B2 OK - the tunnel junction is classified as tunneling-dominant
206
+ B3 OK - the tunnel junction can become a sub-threshold current state
207
+ B4 OK - the tunnel junction can become a negative differential response state
208
+ B5 OK - the tunnel junction can become an ultra-low-bias switching state
209
+ B6 OK - the tunnel junction can become a leak-alarm wake-serving state
210
+ B7 OK - the conventional junction cannot become a quantum-transfer state
211
+ B8 OK - the conventional junction cannot become a sub-threshold current state
212
+ B9 OK - the conventional junction cannot become the tunnel-style negative differential state
213
+ B10 OK - the conventional junction cannot become an ultra-low-bias switching state here
214
+ B11 OK - the conventional junction cannot become a leak-alarm wake-serving state in this case
215
+ """ .
216
+ } .
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eyeling",
3
- "version": "1.22.15",
3
+ "version": "1.22.16",
4
4
  "description": "A minimal Notation3 (N3) reasoner in JavaScript.",
5
5
  "main": "./index.js",
6
6
  "keywords": [