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 +21 -0
- package/examples/barley-seed-becoming.n3 +497 -0
- package/examples/constructor-theory-becoming.n3 +177 -0
- package/examples/output/barley-seed-becoming.txt +25 -0
- package/examples/output/constructor-theory-becoming.n3 +18 -0
- package/examples/output/tunnel-junction-wake-switch-becoming.txt +21 -0
- package/examples/tunnel-junction-wake-switch-becoming.n3 +216 -0
- package/package.json +1 -1
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
|
+
} .
|