eyeling 1.22.6 → 1.22.8

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.
Files changed (38) hide show
  1. package/HANDBOOK.md +245 -0
  2. package/dist/browser/eyeling.browser.js +188 -33
  3. package/examples/act-alarm-bit-interoperability.n3 +180 -0
  4. package/examples/act-barley-seed-lineage.n3 +565 -0
  5. package/examples/act-docking-abort.n3 +285 -0
  6. package/examples/act-gravity-mediator-witness.n3 +235 -0
  7. package/examples/act-isolation-breach.n3 +354 -0
  8. package/examples/act-photosynthetic-exciton-transfer.n3 +245 -0
  9. package/examples/act-sensor-memory-reset.n3 +190 -0
  10. package/examples/act-tunnel-junction-wake-switch.n3 +225 -0
  11. package/examples/act-yeast-self-reproduction.n3 +248 -0
  12. package/examples/complex-matrix-stability.n3 +288 -0
  13. package/examples/deck/act-barley-seed-lineage.md +593 -0
  14. package/examples/fundamental-theorem-arithmetic.n3 +244 -0
  15. package/examples/harborsmr.n3 +233 -0
  16. package/examples/meta-rule-audit.n3 +135 -0
  17. package/examples/output/act-alarm-bit-interoperability.txt +20 -0
  18. package/examples/output/act-barley-seed-lineage.txt +25 -0
  19. package/examples/output/act-docking-abort.txt +22 -0
  20. package/examples/output/act-gravity-mediator-witness.txt +24 -0
  21. package/examples/output/act-isolation-breach.txt +27 -0
  22. package/examples/output/act-photosynthetic-exciton-transfer.txt +20 -0
  23. package/examples/output/act-sensor-memory-reset.txt +20 -0
  24. package/examples/output/act-tunnel-junction-wake-switch.txt +21 -0
  25. package/examples/output/act-yeast-self-reproduction.txt +23 -0
  26. package/examples/output/complex-matrix-stability.txt +14 -0
  27. package/examples/output/fundamental-theorem-arithmetic.txt +15 -0
  28. package/examples/output/get-uuid.n3 +2 -2
  29. package/examples/output/harborsmr.txt +20 -0
  30. package/examples/output/meta-rule-audit.n3 +44 -0
  31. package/examples/output/theory-diff.n3 +22 -0
  32. package/examples/theory-diff.n3 +125 -0
  33. package/eyeling.js +188 -33
  34. package/lib/builtins.js +18 -1
  35. package/lib/cli.js +31 -5
  36. package/lib/engine.js +139 -27
  37. package/package.json +1 -1
  38. package/test/api.test.js +100 -0
@@ -0,0 +1,565 @@
1
+ # ========================================================================
2
+ # ACT barley seed lineage — "can and can't"
3
+ #
4
+ # This is a constructor-theory-of-life example with both:
5
+ # - CAN : tasks that are possible for a viable lineage
6
+ # - CAN'T: tasks that are impossible for contrast lineages
7
+ #
8
+ # The positive lineage:
9
+ # mainLine
10
+ #
11
+ # The contrast lineages:
12
+ # analogLine - hereditary information is not digitally instantiated
13
+ # fragileLine - there is no repair support
14
+ # coatlessLine - there is no protected dormant stage
15
+ # staticLine - there is no heritable variation
16
+ #
17
+ # The point is to show not only what a successful lineage can do, but also
18
+ # what other lineages cannot do under explicitly stated conditions.
19
+ # ========================================================================
20
+
21
+ @prefix : <http://example.org/act/barley/cancant/> .
22
+ @prefix arc: <https://example.org/arc#> .
23
+ @prefix log: <http://www.w3.org/2000/10/swap/log#> .
24
+
25
+ :case a arc:Case ;
26
+ arc:question "Can a barley seed lineage achieve accurate self-reproduction, dormancy, development, and adaptive persistence under no-design laws — and what exactly can't happen when key ingredients are missing?" .
27
+
28
+ # ------------------------
29
+ # Shared world assumptions
30
+ # -------------------------
31
+
32
+ # The background law-like assumption used in constructor theory of life.
33
+ :world :obeys :NoDesignLaws .
34
+
35
+ # Digital hereditary medium for viable lineages.
36
+ :dnaRegister a :DigitalInformationMedium .
37
+
38
+ # A contrasting non-digital hereditary medium.
39
+ :analogRegister a :NonDigitalInformationMedium .
40
+
41
+ # Shared developmental and environmental resources.
42
+ :zygote a :DevelopmentalBottleneck .
43
+
44
+ :greenhouse a :GrowthEnvironment ;
45
+ :condition :WarmthAvailable ;
46
+ :condition :MoistureAvailable ;
47
+ :condition :LightAvailable .
48
+
49
+ :nutrientBed a :RawMaterialSupply .
50
+ :pollinationLoop a :ReproductionSupport .
51
+ :mutationSource a :VariationSource .
52
+
53
+ :salineBench a :SelectionEnvironment ;
54
+ :favours :SaltTolerant .
55
+
56
+ # ---------------------
57
+ # 1. The viable lineage
58
+ # ---------------------
59
+
60
+ # The hereditary information is digitally instantiated.
61
+ :mainGenome a :Replicator ;
62
+ :accuracy :High ;
63
+ :storedIn :dnaRegister ;
64
+ :variant :SaltTolerant .
65
+
66
+ # Repair support is present.
67
+ :mainRepair a :RepairVehicle .
68
+
69
+ # Embryo-side vehicle functions.
70
+ :mainEmbryoVehicle a :Vehicle ;
71
+ :function :Metabolism ;
72
+ :function :Development ;
73
+ :function :CopyingSupport ;
74
+ :function :CompartmentControl ;
75
+ :usesRepair :mainRepair .
76
+
77
+ # Adult-side vehicle functions.
78
+ :mainAdultVehicle a :Vehicle ;
79
+ :function :Metabolism ;
80
+ :function :Development ;
81
+ :function :GameteProduction ;
82
+ :function :SeedConstruction .
83
+
84
+ # Protected dormant stage.
85
+ :mainSeedCoat a :Compartment ;
86
+ :function :DormancyProtection .
87
+
88
+ :mainSeed a :Organism ;
89
+ :lifeStage :DormantSeed ;
90
+ :hasReplicator :mainGenome ;
91
+ :hasVehicle :mainEmbryoVehicle ;
92
+ :hasCompartment :mainSeedCoat .
93
+
94
+ # Adult stage.
95
+ :mainAdult a :Organism ;
96
+ :lifeStage :AdultPlant ;
97
+ :hasReplicator :mainGenome ;
98
+ :hasVehicle :mainAdultVehicle .
99
+
100
+ # The lineage object ties stages together.
101
+ :mainLine a :Lineage ;
102
+ :seedStage :mainSeed ;
103
+ :adultStage :mainAdult ;
104
+ :replicator :mainGenome ;
105
+ :variant :SaltTolerant ;
106
+ :variationStatus :Present .
107
+
108
+ # ----------------------------------------------
109
+ # 2. Contrast lineages used for the "can't" side
110
+ # ----------------------------------------------
111
+
112
+ # ----------------------------------------------------------------
113
+ # 2a. analogLine
114
+ # Same broad biological pattern, but heredity is not digital.
115
+ # This is the line that cannot achieve accurate genome copying
116
+ # under no-design laws.
117
+ # ----------------------------------------------------------------
118
+
119
+ :analogGenome a :Replicator ;
120
+ :accuracy :High ;
121
+ :storedIn :analogRegister ;
122
+ :variant :SaltTolerant .
123
+
124
+ :analogRepair a :RepairVehicle .
125
+
126
+ :analogEmbryoVehicle a :Vehicle ;
127
+ :function :Metabolism ;
128
+ :function :Development ;
129
+ :function :CopyingSupport ;
130
+ :usesRepair :analogRepair .
131
+
132
+ :analogAdultVehicle a :Vehicle ;
133
+ :function :Metabolism ;
134
+ :function :Development ;
135
+ :function :GameteProduction ;
136
+ :function :SeedConstruction .
137
+
138
+ :analogSeedCoat a :Compartment ;
139
+ :function :DormancyProtection .
140
+
141
+ :analogSeed a :Organism ;
142
+ :lifeStage :DormantSeed ;
143
+ :hasReplicator :analogGenome ;
144
+ :hasVehicle :analogEmbryoVehicle ;
145
+ :hasCompartment :analogSeedCoat .
146
+
147
+ :analogAdult a :Organism ;
148
+ :lifeStage :AdultPlant ;
149
+ :hasReplicator :analogGenome ;
150
+ :hasVehicle :analogAdultVehicle .
151
+
152
+ :analogLine a :Lineage ;
153
+ :seedStage :analogSeed ;
154
+ :adultStage :analogAdult ;
155
+ :replicator :analogGenome ;
156
+ :variant :SaltTolerant ;
157
+ :variationStatus :Present .
158
+
159
+ # ----------------------------------------------------------------
160
+ # 2b. fragileLine
161
+ # Heredity is digital, but there is no repair support.
162
+ # This line cannot achieve reliable damage correction and thus
163
+ # cannot achieve accurate self-reproduction.
164
+ # ----------------------------------------------------------------
165
+
166
+ :fragileGenome a :Replicator ;
167
+ :accuracy :High ;
168
+ :storedIn :dnaRegister ;
169
+ :variant :SaltTolerant .
170
+
171
+ :fragileEmbryoVehicle a :Vehicle ;
172
+ :function :Metabolism ;
173
+ :function :Development ;
174
+ :function :CopyingSupport .
175
+
176
+ :fragileAdultVehicle a :Vehicle ;
177
+ :function :Metabolism ;
178
+ :function :Development ;
179
+ :function :GameteProduction ;
180
+ :function :SeedConstruction .
181
+
182
+ :fragileSeedCoat a :Compartment ;
183
+ :function :DormancyProtection .
184
+
185
+ :fragileSeed a :Organism ;
186
+ :lifeStage :DormantSeed ;
187
+ :hasReplicator :fragileGenome ;
188
+ :hasVehicle :fragileEmbryoVehicle ;
189
+ :hasCompartment :fragileSeedCoat .
190
+
191
+ :fragileAdult a :Organism ;
192
+ :lifeStage :AdultPlant ;
193
+ :hasReplicator :fragileGenome ;
194
+ :hasVehicle :fragileAdultVehicle .
195
+
196
+ :fragileLine a :Lineage ;
197
+ :seedStage :fragileSeed ;
198
+ :adultStage :fragileAdult ;
199
+ :replicator :fragileGenome ;
200
+ :variant :SaltTolerant ;
201
+ :variationStatus :Present ;
202
+ :lacksRepair true .
203
+
204
+ # -------------------------------------------------------------------
205
+ # 2c. coatlessLine
206
+ # Heredity is digital and repair exists, but the dormant seed
207
+ # lacks a protective compartment. This line cannot achieve
208
+ # protected dormancy and therefore cannot achieve lineage closure
209
+ # through a protected seed phase.
210
+ # -------------------------------------------------------------------
211
+
212
+ :coatlessGenome a :Replicator ;
213
+ :accuracy :High ;
214
+ :storedIn :dnaRegister ;
215
+ :variant :SaltTolerant .
216
+
217
+ :coatlessRepair a :RepairVehicle .
218
+
219
+ :coatlessEmbryoVehicle a :Vehicle ;
220
+ :function :Metabolism ;
221
+ :function :Development ;
222
+ :function :CopyingSupport ;
223
+ :usesRepair :coatlessRepair .
224
+
225
+ :coatlessAdultVehicle a :Vehicle ;
226
+ :function :Metabolism ;
227
+ :function :Development ;
228
+ :function :GameteProduction ;
229
+ :function :SeedConstruction .
230
+
231
+ :coatlessSeed a :Organism ;
232
+ :lifeStage :DormantSeed ;
233
+ :hasReplicator :coatlessGenome ;
234
+ :hasVehicle :coatlessEmbryoVehicle .
235
+
236
+ :coatlessAdult a :Organism ;
237
+ :lifeStage :AdultPlant ;
238
+ :hasReplicator :coatlessGenome ;
239
+ :hasVehicle :coatlessAdultVehicle .
240
+
241
+ :coatlessLine a :Lineage ;
242
+ :seedStage :coatlessSeed ;
243
+ :adultStage :coatlessAdult ;
244
+ :replicator :coatlessGenome ;
245
+ :variant :SaltTolerant ;
246
+ :variationStatus :Present ;
247
+ :lacksDormancyProtection true .
248
+
249
+ # ------------------------------------------------------------------
250
+ # 2d. staticLine
251
+ # Heredity is digital, repair exists, and dormancy is protected,
252
+ # but there is no heritable variation. This line cannot be an
253
+ # adaptively evolving lineage.
254
+ # ------------------------------------------------------------------
255
+
256
+ :staticGenome a :Replicator ;
257
+ :accuracy :High ;
258
+ :storedIn :dnaRegister ;
259
+ :variant :SaltTolerant .
260
+
261
+ :staticRepair a :RepairVehicle .
262
+
263
+ :staticEmbryoVehicle a :Vehicle ;
264
+ :function :Metabolism ;
265
+ :function :Development ;
266
+ :function :CopyingSupport ;
267
+ :usesRepair :staticRepair .
268
+
269
+ :staticAdultVehicle a :Vehicle ;
270
+ :function :Metabolism ;
271
+ :function :Development ;
272
+ :function :GameteProduction ;
273
+ :function :SeedConstruction .
274
+
275
+ :staticSeedCoat a :Compartment ;
276
+ :function :DormancyProtection .
277
+
278
+ :staticSeed a :Organism ;
279
+ :lifeStage :DormantSeed ;
280
+ :hasReplicator :staticGenome ;
281
+ :hasVehicle :staticEmbryoVehicle ;
282
+ :hasCompartment :staticSeedCoat .
283
+
284
+ :staticAdult a :Organism ;
285
+ :lifeStage :AdultPlant ;
286
+ :hasReplicator :staticGenome ;
287
+ :hasVehicle :staticAdultVehicle .
288
+
289
+ :staticLine a :Lineage ;
290
+ :seedStage :staticSeed ;
291
+ :adultStage :staticAdult ;
292
+ :replicator :staticGenome ;
293
+ :variant :SaltTolerant ;
294
+ :variationStatus :None .
295
+
296
+ # ------------------------------------
297
+ # 3. CAN rules — what a lineage can do
298
+ # ------------------------------------
299
+
300
+ # If hereditary information is digital and no-design laws
301
+ # hold, accurate genome copying is possible in principle.
302
+ { :world :obeys :NoDesignLaws .
303
+ ?Genome a :Replicator ;
304
+ :storedIn ?Medium .
305
+ ?Medium a :DigitalInformationMedium . }
306
+ =>
307
+ { ?Genome :can :GenomeCopyUnderNoDesignLaws . } .
308
+
309
+ # A protected seed compartment makes protected dormancy
310
+ # possible for that seed stage.
311
+ { ?Seed a :Organism ;
312
+ :lifeStage :DormantSeed ;
313
+ :hasCompartment ?Compartment .
314
+ ?Compartment :function :DormancyProtection . }
315
+ =>
316
+ { ?Seed :can :ProtectedDormancy . } .
317
+
318
+ # Germination needs a dormant seed plus warmth, moisture,
319
+ # and raw materials.
320
+ { ?Seed a :Organism ;
321
+ :lifeStage :DormantSeed .
322
+ :greenhouse :condition :WarmthAvailable .
323
+ :greenhouse :condition :MoistureAvailable .
324
+ :nutrientBed a :RawMaterialSupply . }
325
+ =>
326
+ { ?Seed :can :Germinate . } .
327
+
328
+ # Adult propagule production needs adult-stage vehicle
329
+ # functions plus pollination support and light.
330
+ { ?Adult a :Organism ;
331
+ :lifeStage :AdultPlant ;
332
+ :hasVehicle ?Vehicle .
333
+ ?Vehicle :function :GameteProduction .
334
+ ?Vehicle :function :SeedConstruction .
335
+ :pollinationLoop a :ReproductionSupport .
336
+ :greenhouse :condition :LightAvailable . }
337
+ =>
338
+ { ?Adult :can :PropaguleProduction . } .
339
+
340
+ # Accurate self-reproduction needs:
341
+ # - genome copying under no-design laws
342
+ # - repair support
343
+ # - a developmental bottleneck
344
+ { ?Line a :Lineage ;
345
+ :seedStage ?Seed ;
346
+ :replicator ?Genome .
347
+ ?Genome :can :GenomeCopyUnderNoDesignLaws .
348
+ ?Seed :hasVehicle ?Vehicle .
349
+ ?Vehicle :usesRepair ?Repair .
350
+ ?Repair a :RepairVehicle .
351
+ :zygote a :DevelopmentalBottleneck . }
352
+ =>
353
+ { ?Line :can :AccurateSelfReproduction . } .
354
+
355
+ # Lineage closure needs:
356
+ # - protected dormancy at the seed stage
357
+ # - germination from the seed stage
358
+ # - propagule production at the adult stage
359
+ { ?Line a :Lineage ;
360
+ :seedStage ?Seed ;
361
+ :adultStage ?Adult .
362
+ ?Seed :can :ProtectedDormancy .
363
+ ?Seed :can :Germinate .
364
+ ?Adult :can :PropaguleProduction . }
365
+ =>
366
+ { ?Line :can :LineageClosure . } .
367
+
368
+ # Heritable variation is possible when the lineage is not
369
+ # static with respect to variants.
370
+ { ?Line a :Lineage ;
371
+ :variationStatus :Present . }
372
+ =>
373
+ { ?Line :can :HeritableVariation . } .
374
+
375
+ # Adaptive persistence needs:
376
+ # - accurate self-reproduction
377
+ # - heritable variation
378
+ # - a matching selection environment
379
+ { ?Line a :Lineage ;
380
+ :variant ?Variant .
381
+ ?Line :can :AccurateSelfReproduction .
382
+ ?Line :can :HeritableVariation .
383
+ :salineBench :favours ?Variant . }
384
+ =>
385
+ { ?Line :can :AdaptivePersistence . } .
386
+
387
+ # A lineage is evolvable when it closes its life cycle and
388
+ # can adaptively persist.
389
+ { ?Line :can :LineageClosure .
390
+ ?Line :can :AdaptivePersistence . }
391
+ =>
392
+ { ?Line a :EvolvableLineage . } .
393
+
394
+ # --------------------------------------------------------------------
395
+ # 4. CAN'T rules — what cannot happen when key ingredients are missing
396
+ # --------------------------------------------------------------------
397
+
398
+ # No digital hereditary medium under no-design laws:
399
+ # accurate genome copying cannot be achieved.
400
+ { :world :obeys :NoDesignLaws .
401
+ ?Genome a :Replicator ;
402
+ :storedIn ?Medium .
403
+ ?Medium a :NonDigitalInformationMedium . }
404
+ =>
405
+ { ?Genome :cannot :AccurateGenomeCopyUnderNoDesignLaws . } .
406
+
407
+ # If the genome cannot be accurately copied, the lineage
408
+ # cannot achieve accurate self-reproduction.
409
+ { ?Line :replicator ?Genome .
410
+ ?Genome :cannot :AccurateGenomeCopyUnderNoDesignLaws . }
411
+ =>
412
+ { ?Line :cannot :AccurateSelfReproduction . } .
413
+
414
+ # No repair support:
415
+ # reliable damage correction cannot be achieved.
416
+ { ?Line a :Lineage ;
417
+ :lacksRepair true . }
418
+ =>
419
+ { ?Line :cannot :ReliableDamageCorrection . } .
420
+
421
+ # If reliable damage correction cannot be achieved, then
422
+ # accurate self-reproduction cannot be achieved.
423
+ { ?Line :cannot :ReliableDamageCorrection . }
424
+ =>
425
+ { ?Line :cannot :AccurateSelfReproduction . } .
426
+
427
+ # No protected dormant compartment:
428
+ # protected dormancy cannot be achieved.
429
+ { ?Line a :Lineage ;
430
+ :lacksDormancyProtection true . }
431
+ =>
432
+ { ?Line :cannot :ProtectedDormancy . } .
433
+
434
+ # If protected dormancy cannot be achieved, lineage closure
435
+ # through a protected seed phase cannot be achieved.
436
+ { ?Line :cannot :ProtectedDormancy . }
437
+ =>
438
+ { ?Line :cannot :LineageClosure . } .
439
+
440
+ # No heritable variation:
441
+ # adaptive evolution cannot be achieved.
442
+ { ?Line a :Lineage ;
443
+ :variationStatus :None . }
444
+ =>
445
+ { ?Line :cannot :AdaptiveEvolution . } .
446
+
447
+ # If adaptive evolution cannot be achieved, adaptive
448
+ # persistence cannot be achieved either.
449
+ { ?Line :cannot :AdaptiveEvolution . }
450
+ =>
451
+ { ?Line :cannot :AdaptivePersistence . } .
452
+
453
+ # If either accurate self-reproduction or adaptive
454
+ # persistence is impossible, the lineage is not evolvable.
455
+ { ?Line :cannot :AccurateSelfReproduction . }
456
+ =>
457
+ { ?Line :cannot :EvolvableLineage . } .
458
+
459
+ { ?Line :cannot :AdaptivePersistence . }
460
+ =>
461
+ { ?Line :cannot :EvolvableLineage . } .
462
+
463
+ { ?Line :cannot :LineageClosure . }
464
+ =>
465
+ { ?Line :cannot :EvolvableLineage . } .
466
+
467
+ # ---------
468
+ # 5. Checks
469
+ # ---------
470
+
471
+ # Positive checks for the viable lineage.
472
+ { :world :obeys :NoDesignLaws . }
473
+ => { :case :checkC1 :Passed . } .
474
+
475
+ { :mainGenome :can :GenomeCopyUnderNoDesignLaws . }
476
+ => { :case :checkC2 :Passed . } .
477
+
478
+ { :mainSeed :can :ProtectedDormancy . }
479
+ => { :case :checkC3 :Passed . } .
480
+
481
+ { :mainSeed :can :Germinate . }
482
+ => { :case :checkC4 :Passed . } .
483
+
484
+ { :mainAdult :can :PropaguleProduction . }
485
+ => { :case :checkC5 :Passed . } .
486
+
487
+ { :mainLine :can :AccurateSelfReproduction . }
488
+ => { :case :checkC6 :Passed . } .
489
+
490
+ { :mainLine :can :LineageClosure . }
491
+ => { :case :checkC7 :Passed . } .
492
+
493
+ { :mainLine :can :HeritableVariation . }
494
+ => { :case :checkC8 :Passed . } .
495
+
496
+ { :mainLine :can :AdaptivePersistence . }
497
+ => { :case :checkC9 :Passed . } .
498
+
499
+ { :mainLine a :EvolvableLineage . }
500
+ => { :case :checkC10 :Passed . } .
501
+
502
+ # Negative checks for the contrast lineages.
503
+ { :analogLine :cannot :AccurateSelfReproduction . }
504
+ => { :case :checkC11 :Passed . } .
505
+
506
+ { :fragileLine :cannot :AccurateSelfReproduction . }
507
+ => { :case :checkC12 :Passed . } .
508
+
509
+ { :coatlessLine :cannot :LineageClosure . }
510
+ => { :case :checkC13 :Passed . } .
511
+
512
+ { :staticLine :cannot :AdaptiveEvolution . }
513
+ => { :case :checkC14 :Passed . } .
514
+
515
+ { :staticLine :cannot :EvolvableLineage . }
516
+ => { :case :checkC15 :Passed . } .
517
+
518
+ # -------------------
519
+ # 6. ARC-style output
520
+ # -------------------
521
+
522
+ { :case :checkC1 :Passed .
523
+ :case :checkC2 :Passed .
524
+ :case :checkC3 :Passed .
525
+ :case :checkC4 :Passed .
526
+ :case :checkC5 :Passed .
527
+ :case :checkC6 :Passed .
528
+ :case :checkC7 :Passed .
529
+ :case :checkC8 :Passed .
530
+ :case :checkC9 :Passed .
531
+ :case :checkC10 :Passed .
532
+ :case :checkC11 :Passed .
533
+ :case :checkC12 :Passed .
534
+ :case :checkC13 :Passed .
535
+ :case :checkC14 :Passed .
536
+ :case :checkC15 :Passed . }
537
+ =>
538
+ {
539
+ :out log:outputString """ACT barley seed lineage — can and can't
540
+
541
+ Answer
542
+ YES for the viable barley lineage.
543
+ NO for the contrast lineages when digital heredity, repair, protected dormancy, or heritable variation are missing.
544
+
545
+ Reason Why
546
+ The main lineage can achieve genome copying under no-design laws because its hereditary information is digitally instantiated. It can also pass through protected dormancy, germinate, produce propagules, reproduce accurately, close its life cycle, and adaptively persist under saline selection. But the contrast lineages show the "can't" side: non-digital heredity blocks accurate genome copying under no-design laws, lack of repair blocks accurate self-reproduction, lack of dormancy protection blocks lineage closure through a protected seed phase, and lack of heritable variation blocks adaptive evolution and thus blocks evolvability.
547
+
548
+ Check
549
+ C1 OK - no-design laws are assumed
550
+ C2 OK - the viable genome can be copied under no-design laws
551
+ C3 OK - the viable seed can achieve protected dormancy
552
+ C4 OK - the viable seed can germinate
553
+ C5 OK - the viable adult can produce propagules
554
+ C6 OK - the viable lineage can achieve accurate self-reproduction
555
+ C7 OK - the viable lineage can achieve lineage closure
556
+ C8 OK - the viable lineage can exhibit heritable variation
557
+ C9 OK - the viable lineage can adaptively persist
558
+ C10 OK - the viable lineage is evolvable
559
+ C11 OK - the non-digital lineage cannot achieve accurate self-reproduction
560
+ C12 OK - the repair-deficient lineage cannot achieve accurate self-reproduction
561
+ C13 OK - the coatless lineage cannot achieve lineage closure through protected dormancy
562
+ C14 OK - the static lineage cannot achieve adaptive evolution
563
+ C15 OK - the static lineage cannot be an evolvable lineage
564
+ """ .
565
+ } .