eyeling 1.22.15 → 1.23.0
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 +113 -16
- package/dist/browser/eyeling.browser.js +248 -34
- 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/eyeling.js +255 -34
- package/index.d.ts +17 -5
- package/index.js +29 -8
- package/lib/cli.js +44 -32
- package/lib/engine.js +4 -2
- package/lib/multisource.js +198 -0
- package/package.json +1 -1
- package/test/api.test.js +101 -0
|
@@ -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 .
|