eyeling 1.22.6 → 1.22.7
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 +245 -0
- package/dist/browser/eyeling.browser.js +128 -11
- package/examples/act-alarm-bit-interoperability.n3 +180 -0
- package/examples/act-barley-seed-lineage.n3 +565 -0
- package/examples/act-docking-abort.n3 +285 -0
- package/examples/act-gravity-mediator-witness.n3 +235 -0
- package/examples/act-isolation-breach.n3 +354 -0
- package/examples/act-photosynthetic-exciton-transfer.n3 +245 -0
- package/examples/act-sensor-memory-reset.n3 +190 -0
- package/examples/act-tunnel-junction-wake-switch.n3 +225 -0
- package/examples/act-yeast-self-reproduction.n3 +248 -0
- package/examples/complex-matrix-stability.n3 +288 -0
- package/examples/deck/act-barley-seed-lineage.md +593 -0
- package/examples/fundamental-theorem-arithmetic.n3 +244 -0
- package/examples/harborsmr.n3 +233 -0
- package/examples/meta-rule-audit.n3 +135 -0
- package/examples/output/act-alarm-bit-interoperability.txt +20 -0
- package/examples/output/act-barley-seed-lineage.txt +25 -0
- package/examples/output/act-docking-abort.txt +22 -0
- package/examples/output/act-gravity-mediator-witness.txt +24 -0
- package/examples/output/act-isolation-breach.txt +27 -0
- package/examples/output/act-photosynthetic-exciton-transfer.txt +20 -0
- package/examples/output/act-sensor-memory-reset.txt +20 -0
- package/examples/output/act-tunnel-junction-wake-switch.txt +21 -0
- package/examples/output/act-yeast-self-reproduction.txt +23 -0
- package/examples/output/complex-matrix-stability.txt +14 -0
- package/examples/output/fundamental-theorem-arithmetic.txt +15 -0
- package/examples/output/get-uuid.n3 +2 -2
- package/examples/output/harborsmr.txt +20 -0
- package/examples/output/meta-rule-audit.n3 +44 -0
- package/examples/output/theory-diff.n3 +22 -0
- package/examples/theory-diff.n3 +125 -0
- package/eyeling.js +128 -11
- package/lib/builtins.js +18 -1
- package/lib/cli.js +31 -5
- package/lib/engine.js +79 -5
- package/package.json +1 -1
- package/test/api.test.js +69 -0
|
@@ -0,0 +1,593 @@
|
|
|
1
|
+
# ACT barley seed lineage — can and can't
|
|
2
|
+
|
|
3
|
+
This deck explains the example `act-barley-seed-lineage-can-and-cant.n3`.
|
|
4
|
+
|
|
5
|
+
The aim is to show how **Applied Constructor Theory** can describe a concrete biological case in Notation3 while doing both sides of Chiara Marletto’s formula:
|
|
6
|
+
|
|
7
|
+
- the **science of can**
|
|
8
|
+
- and the **science of can’t**
|
|
9
|
+
|
|
10
|
+
The example models a **barley seed lineage** and compares one viable lineage with several contrast lineages that are missing a crucial ingredient.
|
|
11
|
+
|
|
12
|
+
So the file does not only ask:
|
|
13
|
+
|
|
14
|
+
> What can a lineage do when the right structure is present?
|
|
15
|
+
|
|
16
|
+
It also asks:
|
|
17
|
+
|
|
18
|
+
> What can a lineage _not_ do when digital heredity, repair, protected dormancy, or heritable variation are missing?
|
|
19
|
+
|
|
20
|
+
That makes it a more explicitly constructor-theoretic example than the earlier `act-barley-seed-lineage.n3`, because impossibility is derived by rules rather than just mentioned informally.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## What “Applied Constructor Theory” means here
|
|
25
|
+
|
|
26
|
+
Constructor theory describes nature in terms of **tasks**:
|
|
27
|
+
|
|
28
|
+
- tasks that are **possible**,
|
|
29
|
+
- tasks that are **impossible**,
|
|
30
|
+
- and the physical reasons why.
|
|
31
|
+
|
|
32
|
+
In Marletto’s constructor theory of life, the key biological processes are not described first as trajectories or differential equations, but as transformations that can or cannot be carried out under suitable laws and resources.
|
|
33
|
+
|
|
34
|
+
That means questions like these become central:
|
|
35
|
+
|
|
36
|
+
- Can hereditary information be copied accurately?
|
|
37
|
+
- Can a system reproduce itself?
|
|
38
|
+
- Can a lineage survive through dormancy and then restart development?
|
|
39
|
+
- Can heritable variation occur?
|
|
40
|
+
- Can natural selection act on that variation?
|
|
41
|
+
- And just as importantly: **what cannot happen when key ingredients are absent?**
|
|
42
|
+
|
|
43
|
+
So in this example, “Applied Constructor Theory” means:
|
|
44
|
+
|
|
45
|
+
- taking a recognizable biological topic,
|
|
46
|
+
- expressing it as a network of possible and impossible tasks,
|
|
47
|
+
- and using N3 rules to derive those outcomes explicitly.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## The biological story in plain language
|
|
52
|
+
|
|
53
|
+
The file models four different barley-like lineages.
|
|
54
|
+
|
|
55
|
+
### 1. `:mainLine`
|
|
56
|
+
|
|
57
|
+
This is the viable lineage.
|
|
58
|
+
|
|
59
|
+
It has:
|
|
60
|
+
|
|
61
|
+
- a genome stored in a **digital hereditary medium**,
|
|
62
|
+
- a repair-capable embryo vehicle,
|
|
63
|
+
- a protective seed coat for dormancy,
|
|
64
|
+
- an adult stage that can produce propagules,
|
|
65
|
+
- a variation source,
|
|
66
|
+
- and a saline selection environment that favours its variant.
|
|
67
|
+
|
|
68
|
+
This lineage is the positive case.
|
|
69
|
+
|
|
70
|
+
### 2. `:analogLine`
|
|
71
|
+
|
|
72
|
+
This lineage looks similar, but its hereditary information is stored in a **non-digital medium**.
|
|
73
|
+
|
|
74
|
+
It is there to show that under no-design laws, accurate genome copying **cannot** be derived.
|
|
75
|
+
|
|
76
|
+
### 3. `:fragileLine`
|
|
77
|
+
|
|
78
|
+
This lineage uses a digital hereditary medium, but lacks **repair support**.
|
|
79
|
+
|
|
80
|
+
It is there to show that accurate self-reproduction is blocked if reliable damage correction is unavailable.
|
|
81
|
+
|
|
82
|
+
### 4. `:coatlessLine`
|
|
83
|
+
|
|
84
|
+
This lineage has digital heredity and repair, but no protected dormant compartment.
|
|
85
|
+
|
|
86
|
+
It is there to show that **protected dormancy** and therefore one form of **lineage closure** cannot be achieved.
|
|
87
|
+
|
|
88
|
+
### 5. `:staticLine`
|
|
89
|
+
|
|
90
|
+
This lineage has digital heredity, repair, and protected dormancy, but no heritable variation.
|
|
91
|
+
|
|
92
|
+
It is there to show that a lineage can reproduce and persist in some sense while still **failing to be evolvable**.
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## The constructor-theoretic point of the example
|
|
97
|
+
|
|
98
|
+
The example is built around a simple but powerful pattern:
|
|
99
|
+
|
|
100
|
+
- when the right structural ingredients are present, a lineage **can** perform certain tasks;
|
|
101
|
+
- when one of those ingredients is missing, some tasks **cannot** be performed.
|
|
102
|
+
|
|
103
|
+
So the file is not saying:
|
|
104
|
+
|
|
105
|
+
> barley always does X.
|
|
106
|
+
|
|
107
|
+
It is saying:
|
|
108
|
+
|
|
109
|
+
> given these conditions, X is possible; given these missing ingredients, Y is impossible.
|
|
110
|
+
|
|
111
|
+
That distinction is exactly the constructor-theoretic style.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Main entities in the file
|
|
116
|
+
|
|
117
|
+
Before looking at the rules, it helps to know what the main objects represent.
|
|
118
|
+
|
|
119
|
+
### The world assumption
|
|
120
|
+
|
|
121
|
+
```n3
|
|
122
|
+
:world :obeys :NoDesignLaws .
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
This is the background assumption shared by all lineages.
|
|
126
|
+
|
|
127
|
+
It says that the laws of nature are not secretly pre-loaded with biological design. The biological organization must therefore be explainable through the physical possibility of the relevant tasks.
|
|
128
|
+
|
|
129
|
+
### The hereditary media
|
|
130
|
+
|
|
131
|
+
There are two contrasting hereditary media:
|
|
132
|
+
|
|
133
|
+
- `:dnaRegister a :DigitalInformationMedium`
|
|
134
|
+
- `:analogRegister a :NonDigitalInformationMedium`
|
|
135
|
+
|
|
136
|
+
This contrast drives one of the strongest “can’t” conclusions in the file.
|
|
137
|
+
|
|
138
|
+
### The developmental bottleneck
|
|
139
|
+
|
|
140
|
+
```n3
|
|
141
|
+
:zygote a :DevelopmentalBottleneck .
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
This represents the narrow hereditary stage through which the lineage passes from generation to generation.
|
|
145
|
+
|
|
146
|
+
### The environments and shared resources
|
|
147
|
+
|
|
148
|
+
The file includes:
|
|
149
|
+
|
|
150
|
+
- a `:greenhouse` with warmth, moisture, and light,
|
|
151
|
+
- a `:nutrientBed` as a raw material supply,
|
|
152
|
+
- a `:pollinationLoop` for reproduction support,
|
|
153
|
+
- a `:mutationSource` for heritable variation,
|
|
154
|
+
- and a `:salineBench` as the selection environment.
|
|
155
|
+
|
|
156
|
+
These do not simulate chemistry in detail. They provide the structural conditions needed for the relevant tasks to be derived.
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## The positive lineage: what `:mainLine` can do
|
|
161
|
+
|
|
162
|
+
The positive lineage contains all the key ingredients.
|
|
163
|
+
|
|
164
|
+
Its genome is a replicator stored digitally:
|
|
165
|
+
|
|
166
|
+
```n3
|
|
167
|
+
:mainGenome a :Replicator ;
|
|
168
|
+
:accuracy :High ;
|
|
169
|
+
:storedIn :dnaRegister ;
|
|
170
|
+
:variant :SaltTolerant .
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Its embryo vehicle supports metabolism, development, copying support, compartment control, and repair. Its adult vehicle supports metabolism, development, gamete production, and seed construction. Its seed has a protective seed coat. Its lineage is marked as having variation present.
|
|
174
|
+
|
|
175
|
+
That lets the file derive the following `:can` conclusions:
|
|
176
|
+
|
|
177
|
+
- genome copying under no-design laws
|
|
178
|
+
- protected dormancy
|
|
179
|
+
- germination
|
|
180
|
+
- propagule production
|
|
181
|
+
- accurate self-reproduction
|
|
182
|
+
- lineage closure
|
|
183
|
+
- heritable variation
|
|
184
|
+
- adaptive persistence
|
|
185
|
+
- evolvable lineage status
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## The contrast lineages: what they can’t do
|
|
190
|
+
|
|
191
|
+
The four contrast lineages are not there as decoration. Each one is built to fail for a specific reason.
|
|
192
|
+
|
|
193
|
+
### `:analogLine`
|
|
194
|
+
|
|
195
|
+
The analog line stores hereditary information in a non-digital medium.
|
|
196
|
+
|
|
197
|
+
Its role is to show:
|
|
198
|
+
|
|
199
|
+
- no digital hereditary medium u2192 no accurate genome copying under no-design laws u2192 no accurate self-reproduction
|
|
200
|
+
|
|
201
|
+
### `:fragileLine`
|
|
202
|
+
|
|
203
|
+
The fragile line lacks repair.
|
|
204
|
+
|
|
205
|
+
Its role is to show:
|
|
206
|
+
|
|
207
|
+
- no reliable damage correction u2192 no accurate self-reproduction
|
|
208
|
+
|
|
209
|
+
### `:coatlessLine`
|
|
210
|
+
|
|
211
|
+
The coatless line lacks a protective dormant compartment.
|
|
212
|
+
|
|
213
|
+
Its role is to show:
|
|
214
|
+
|
|
215
|
+
- no protected dormancy u2192 no lineage closure through the protected seed stage
|
|
216
|
+
|
|
217
|
+
### `:staticLine`
|
|
218
|
+
|
|
219
|
+
The static line has no heritable variation.
|
|
220
|
+
|
|
221
|
+
Its role is to show:
|
|
222
|
+
|
|
223
|
+
- no adaptive evolution u2192 no adaptive persistence u2192 no evolvable lineage
|
|
224
|
+
|
|
225
|
+
This is especially useful because it separates **mere reproduction** from **evolvability**.
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## What the rules are doing
|
|
230
|
+
|
|
231
|
+
This is the core of the example.
|
|
232
|
+
|
|
233
|
+
The rules are grouped into two large parts:
|
|
234
|
+
|
|
235
|
+
- **CAN rules**
|
|
236
|
+
- **CAN’T rules**
|
|
237
|
+
|
|
238
|
+
The first group derives possible tasks and positive lineage properties. The second group derives blocked tasks and impossible lineage properties.
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Part 1 — CAN rules
|
|
243
|
+
|
|
244
|
+
### Rule group 1: digital heredity makes genome copying possible
|
|
245
|
+
|
|
246
|
+
```n3
|
|
247
|
+
{ :world :obeys :NoDesignLaws .
|
|
248
|
+
?Genome a :Replicator ;
|
|
249
|
+
:storedIn ?Medium .
|
|
250
|
+
?Medium a :DigitalInformationMedium . }
|
|
251
|
+
=>
|
|
252
|
+
{ ?Genome :can :GenomeCopyUnderNoDesignLaws . } .
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
This rule is the positive starting point.
|
|
256
|
+
|
|
257
|
+
It says:
|
|
258
|
+
|
|
259
|
+
- if the world obeys no-design laws,
|
|
260
|
+
- and a replicator is stored in a digital hereditary medium,
|
|
261
|
+
- then accurate genome copying is physically possible in principle.
|
|
262
|
+
|
|
263
|
+
This is the constructor-theory-of-life analogue of saying:
|
|
264
|
+
|
|
265
|
+
> digital hereditary information makes faithful replication physically available.
|
|
266
|
+
|
|
267
|
+
### Rule group 2: a seed coat makes protected dormancy possible
|
|
268
|
+
|
|
269
|
+
```n3
|
|
270
|
+
{ ?Seed a :Organism ;
|
|
271
|
+
:lifeStage :DormantSeed ;
|
|
272
|
+
:hasCompartment ?Compartment .
|
|
273
|
+
?Compartment :function :DormancyProtection . }
|
|
274
|
+
=>
|
|
275
|
+
{ ?Seed :can :ProtectedDormancy . } .
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
This rule converts a structural feature into a task capability.
|
|
279
|
+
|
|
280
|
+
It says that a dormant seed with a protective compartment can enter and sustain **protected dormancy**.
|
|
281
|
+
|
|
282
|
+
### Rule group 3: environmental support makes germination possible
|
|
283
|
+
|
|
284
|
+
```n3
|
|
285
|
+
{ ?Seed a :Organism ;
|
|
286
|
+
:lifeStage :DormantSeed .
|
|
287
|
+
:greenhouse :condition :WarmthAvailable .
|
|
288
|
+
:greenhouse :condition :MoistureAvailable .
|
|
289
|
+
:nutrientBed a :RawMaterialSupply . }
|
|
290
|
+
=>
|
|
291
|
+
{ ?Seed :can :Germinate . } .
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
This rule says the dormant seed can restart active development when the environment supplies the right enabling conditions.
|
|
295
|
+
|
|
296
|
+
### Rule group 4: the adult stage can generate propagules
|
|
297
|
+
|
|
298
|
+
```n3
|
|
299
|
+
{ ?Adult a :Organism ;
|
|
300
|
+
:lifeStage :AdultPlant ;
|
|
301
|
+
:hasVehicle ?Vehicle .
|
|
302
|
+
?Vehicle :function :GameteProduction .
|
|
303
|
+
?Vehicle :function :SeedConstruction .
|
|
304
|
+
:pollinationLoop a :ReproductionSupport .
|
|
305
|
+
:greenhouse :condition :LightAvailable . }
|
|
306
|
+
=>
|
|
307
|
+
{ ?Adult :can :PropaguleProduction . } .
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
This rule says the adult stage is reproductively productive.
|
|
311
|
+
|
|
312
|
+
It can create the next generation’s starting units.
|
|
313
|
+
|
|
314
|
+
### Rule group 5: accurate self-reproduction needs copying, repair, and a bottleneck
|
|
315
|
+
|
|
316
|
+
```n3
|
|
317
|
+
{ ?Line a :Lineage ;
|
|
318
|
+
:seedStage ?Seed ;
|
|
319
|
+
:replicator ?Genome .
|
|
320
|
+
?Genome :can :GenomeCopyUnderNoDesignLaws .
|
|
321
|
+
?Seed :hasVehicle ?Vehicle .
|
|
322
|
+
?Vehicle :usesRepair ?Repair .
|
|
323
|
+
?Repair a :RepairVehicle .
|
|
324
|
+
:zygote a :DevelopmentalBottleneck . }
|
|
325
|
+
=>
|
|
326
|
+
{ ?Line :can :AccurateSelfReproduction . } .
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
This is one of the main biological rules.
|
|
330
|
+
|
|
331
|
+
It says accurate self-reproduction is not obtained from copying alone. It also needs:
|
|
332
|
+
|
|
333
|
+
- repair,
|
|
334
|
+
- and a developmental bottleneck.
|
|
335
|
+
|
|
336
|
+
So the rule captures a more realistic constructor-theory-of-life claim:
|
|
337
|
+
|
|
338
|
+
> accurate reproduction requires organized architecture, not just template duplication.
|
|
339
|
+
|
|
340
|
+
### Rule group 6: lineage closure needs the whole life-cycle loop
|
|
341
|
+
|
|
342
|
+
```n3
|
|
343
|
+
{ ?Line a :Lineage ;
|
|
344
|
+
:seedStage ?Seed ;
|
|
345
|
+
:adultStage ?Adult .
|
|
346
|
+
?Seed :can :ProtectedDormancy .
|
|
347
|
+
?Seed :can :Germinate .
|
|
348
|
+
?Adult :can :PropaguleProduction . }
|
|
349
|
+
=>
|
|
350
|
+
{ ?Line :can :LineageClosure . } .
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
This rule says the lineage can close its life cycle only if the key stages connect:
|
|
354
|
+
|
|
355
|
+
- the seed can survive,
|
|
356
|
+
- the seed can restart,
|
|
357
|
+
- and the adult can produce new seeds.
|
|
358
|
+
|
|
359
|
+
### Rule group 7: variation enables evolvable behavior
|
|
360
|
+
|
|
361
|
+
```n3
|
|
362
|
+
{ ?Line a :Lineage ;
|
|
363
|
+
:variationStatus :Present . }
|
|
364
|
+
=>
|
|
365
|
+
{ ?Line :can :HeritableVariation . } .
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
This rule is deliberately simple. It marks the lineage as one in which heritable variation is possible.
|
|
369
|
+
|
|
370
|
+
### Rule group 8: adaptive persistence needs both reproduction and variation
|
|
371
|
+
|
|
372
|
+
```n3
|
|
373
|
+
{ ?Line a :Lineage ;
|
|
374
|
+
:variant ?Variant .
|
|
375
|
+
?Line :can :AccurateSelfReproduction .
|
|
376
|
+
?Line :can :HeritableVariation .
|
|
377
|
+
:salineBench :favours ?Variant . }
|
|
378
|
+
=>
|
|
379
|
+
{ ?Line :can :AdaptivePersistence . } .
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
This rule joins three ideas:
|
|
383
|
+
|
|
384
|
+
- reliable reproduction,
|
|
385
|
+
- heritable variation,
|
|
386
|
+
- and environmental selection.
|
|
387
|
+
|
|
388
|
+
That is what turns a merely surviving line into an adaptively persistent one.
|
|
389
|
+
|
|
390
|
+
### Rule group 9: evolvability is a higher-level outcome
|
|
391
|
+
|
|
392
|
+
```n3
|
|
393
|
+
{ ?Line :can :LineageClosure .
|
|
394
|
+
?Line :can :AdaptivePersistence . }
|
|
395
|
+
=>
|
|
396
|
+
{ ?Line a :EvolvableLineage . } .
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
This final positive rule says that evolvability is a composite property. It is not assumed. It is derived from lower-level task capabilities.
|
|
400
|
+
|
|
401
|
+
---
|
|
402
|
+
|
|
403
|
+
## Part 2 — CAN’T rules
|
|
404
|
+
|
|
405
|
+
Now the file does something especially constructor-theoretic: it derives impossibility claims explicitly.
|
|
406
|
+
|
|
407
|
+
### Rule group 10: non-digital heredity blocks accurate copying under no-design laws
|
|
408
|
+
|
|
409
|
+
```n3
|
|
410
|
+
{ :world :obeys :NoDesignLaws .
|
|
411
|
+
?Genome a :Replicator ;
|
|
412
|
+
:storedIn ?Medium .
|
|
413
|
+
?Medium a :NonDigitalInformationMedium . }
|
|
414
|
+
=>
|
|
415
|
+
{ ?Genome :cannot :AccurateGenomeCopyUnderNoDesignLaws . } .
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
This is the negative mirror of the first positive rule.
|
|
419
|
+
|
|
420
|
+
It says that when the hereditary medium is not digital, accurate genome copying under no-design laws is not available.
|
|
421
|
+
|
|
422
|
+
This is the key reason `:analogLine` fails.
|
|
423
|
+
|
|
424
|
+
### Rule group 11: if accurate copying is blocked, accurate self-reproduction is blocked
|
|
425
|
+
|
|
426
|
+
```n3
|
|
427
|
+
{ ?Line :replicator ?Genome .
|
|
428
|
+
?Genome :cannot :AccurateGenomeCopyUnderNoDesignLaws . }
|
|
429
|
+
=>
|
|
430
|
+
{ ?Line :cannot :AccurateSelfReproduction . } .
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
This rule propagates the impossibility from the genome level to the lineage level.
|
|
434
|
+
|
|
435
|
+
### Rule group 12: no repair means no reliable damage correction
|
|
436
|
+
|
|
437
|
+
```n3
|
|
438
|
+
{ ?Line a :Lineage ;
|
|
439
|
+
:lacksRepair true . }
|
|
440
|
+
=>
|
|
441
|
+
{ ?Line :cannot :ReliableDamageCorrection . } .
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
This rule is used for `:fragileLine`. It says that the absence of repair is not a minor defect; it blocks a crucial task.
|
|
445
|
+
|
|
446
|
+
### Rule group 13: no damage correction means no accurate self-reproduction
|
|
447
|
+
|
|
448
|
+
```n3
|
|
449
|
+
{ ?Line :cannot :ReliableDamageCorrection . }
|
|
450
|
+
=>
|
|
451
|
+
{ ?Line :cannot :AccurateSelfReproduction . } .
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
This rule turns that missing subsystem into a biological impossibility claim.
|
|
455
|
+
|
|
456
|
+
### Rule group 14: no seed protection means no protected dormancy
|
|
457
|
+
|
|
458
|
+
```n3
|
|
459
|
+
{ ?Line a :Lineage ;
|
|
460
|
+
:lacksDormancyProtection true . }
|
|
461
|
+
=>
|
|
462
|
+
{ ?Line :cannot :ProtectedDormancy . } .
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
This is the core negative rule for `:coatlessLine`.
|
|
466
|
+
|
|
467
|
+
### Rule group 15: no protected dormancy blocks lineage closure
|
|
468
|
+
|
|
469
|
+
```n3
|
|
470
|
+
{ ?Line :cannot :ProtectedDormancy . }
|
|
471
|
+
=>
|
|
472
|
+
{ ?Line :cannot :LineageClosure . } .
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
This rule is important because it shows how one missing capability can break a larger life-cycle property.
|
|
476
|
+
|
|
477
|
+
### Rule group 16: no heritable variation blocks adaptive evolution
|
|
478
|
+
|
|
479
|
+
```n3
|
|
480
|
+
{ ?Line a :Lineage ;
|
|
481
|
+
:variationStatus :None . }
|
|
482
|
+
=>
|
|
483
|
+
{ ?Line :cannot :AdaptiveEvolution . } .
|
|
484
|
+
```
|
|
485
|
+
|
|
486
|
+
This is the key negative rule for `:staticLine`.
|
|
487
|
+
|
|
488
|
+
It says that even if reproduction works, the lineage still cannot count as adaptively evolving without heritable variation.
|
|
489
|
+
|
|
490
|
+
### Rule group 17: if adaptive evolution is blocked, adaptive persistence is blocked
|
|
491
|
+
|
|
492
|
+
```n3
|
|
493
|
+
{ ?Line :cannot :AdaptiveEvolution . }
|
|
494
|
+
=>
|
|
495
|
+
{ ?Line :cannot :AdaptivePersistence . } .
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
This rule pushes the impossibility upward to a broader lineage property.
|
|
499
|
+
|
|
500
|
+
### Rule group 18: blocked reproduction, persistence, or closure blocks evolvability
|
|
501
|
+
|
|
502
|
+
```n3
|
|
503
|
+
{ ?Line :cannot :AccurateSelfReproduction . }
|
|
504
|
+
=>
|
|
505
|
+
{ ?Line :cannot :EvolvableLineage . } .
|
|
506
|
+
|
|
507
|
+
{ ?Line :cannot :AdaptivePersistence . }
|
|
508
|
+
=>
|
|
509
|
+
{ ?Line :cannot :EvolvableLineage . } .
|
|
510
|
+
|
|
511
|
+
{ ?Line :cannot :LineageClosure . }
|
|
512
|
+
=>
|
|
513
|
+
{ ?Line :cannot :EvolvableLineage . } .
|
|
514
|
+
```
|
|
515
|
+
|
|
516
|
+
These are the final negative rules.
|
|
517
|
+
|
|
518
|
+
They say that evolvability is fragile in a structured way. If any of the major task clusters fail, the lineage cannot count as evolvable.
|
|
519
|
+
|
|
520
|
+
---
|
|
521
|
+
|
|
522
|
+
## What the checks are proving
|
|
523
|
+
|
|
524
|
+
The check section is divided into two halves.
|
|
525
|
+
|
|
526
|
+
### Positive checks
|
|
527
|
+
|
|
528
|
+
These confirm that the viable lineage really does derive the intended positive conclusions:
|
|
529
|
+
|
|
530
|
+
- genome copying under no-design laws
|
|
531
|
+
- protected dormancy
|
|
532
|
+
- germination
|
|
533
|
+
- propagule production
|
|
534
|
+
- accurate self-reproduction
|
|
535
|
+
- lineage closure
|
|
536
|
+
- heritable variation
|
|
537
|
+
- adaptive persistence
|
|
538
|
+
- evolvable lineage status
|
|
539
|
+
|
|
540
|
+
### Negative checks
|
|
541
|
+
|
|
542
|
+
These confirm that the contrast lineages derive the intended impossibility results:
|
|
543
|
+
|
|
544
|
+
- `:analogLine` cannot achieve accurate self-reproduction
|
|
545
|
+
- `:fragileLine` cannot achieve accurate self-reproduction
|
|
546
|
+
- `:coatlessLine` cannot achieve lineage closure
|
|
547
|
+
- `:staticLine` cannot achieve adaptive evolution
|
|
548
|
+
- `:staticLine` cannot be an evolvable lineage
|
|
549
|
+
|
|
550
|
+
So the ARC output is not just a narrative summary. It is backed by explicit derivations of both possible and impossible outcomes.
|
|
551
|
+
|
|
552
|
+
---
|
|
553
|
+
|
|
554
|
+
## Why this example is stronger than the earlier barley case
|
|
555
|
+
|
|
556
|
+
The earlier barley example focused mainly on the **can** side:
|
|
557
|
+
|
|
558
|
+
- what tasks become possible,
|
|
559
|
+
- and how those tasks accumulate into self-reproduction and evolvability.
|
|
560
|
+
|
|
561
|
+
This version keeps that structure, but adds a second layer:
|
|
562
|
+
|
|
563
|
+
- contrasting lineages,
|
|
564
|
+
- explicit `:cannot` derivations,
|
|
565
|
+
- and causal explanations of failure.
|
|
566
|
+
|
|
567
|
+
That makes it more faithful to the slogan **“the science of can and can’t.”**
|
|
568
|
+
|
|
569
|
+
It also makes the biological reasoning more informative. Instead of only learning that the main lineage succeeds, we learn _why the others fail_.
|
|
570
|
+
|
|
571
|
+
---
|
|
572
|
+
|
|
573
|
+
## The key lesson
|
|
574
|
+
|
|
575
|
+
The file’s main lesson is this:
|
|
576
|
+
|
|
577
|
+
> Constructor theory of life is not just about describing successful life-like systems. It is also about identifying which life-like tasks become impossible when specific structural ingredients are absent.
|
|
578
|
+
|
|
579
|
+
In this example:
|
|
580
|
+
|
|
581
|
+
- digital hereditary information matters,
|
|
582
|
+
- repair matters,
|
|
583
|
+
- protected dormancy matters,
|
|
584
|
+
- and heritable variation matters.
|
|
585
|
+
|
|
586
|
+
Each missing ingredient removes a capability. And those lost capabilities propagate upward into lost lineage-level properties.
|
|
587
|
+
|
|
588
|
+
That is exactly the kind of explanation constructor theory is good at:
|
|
589
|
+
|
|
590
|
+
- not just what happens,
|
|
591
|
+
- but what can happen,
|
|
592
|
+
- what cannot happen,
|
|
593
|
+
- and why.
|