eyeling 1.22.5 → 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 +258 -9
- package/dist/browser/eyeling.browser.js +162 -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 +162 -11
- package/lib/builtins.js +52 -1
- package/lib/cli.js +31 -5
- package/lib/engine.js +79 -5
- package/package.json +1 -1
- package/test/api.test.js +127 -0
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
# ===============================================================================
|
|
2
|
+
# ACT isolation-breach token — broad constructor-theory coverage with can't-rules
|
|
3
|
+
#
|
|
4
|
+
# Concrete topic:
|
|
5
|
+
# A biosafety lab has an isolation-breach token that must be propagated across
|
|
6
|
+
# unlike classical media: a door beacon, a containment PLC, a nurse pager, and
|
|
7
|
+
# an incident board.
|
|
8
|
+
#
|
|
9
|
+
# This example therefore includes both sides:
|
|
10
|
+
# - CAN : the classical breach token can be prepared, permuted, copied,
|
|
11
|
+
# measured, and composed into serial and parallel networks
|
|
12
|
+
# - CAN'T : the quantum provenance seal cannot be universally cloned and
|
|
13
|
+
# therefore cannot be turned into an unrestricted fan-out token
|
|
14
|
+
# ===============================================================================
|
|
15
|
+
|
|
16
|
+
@prefix : <http://example.org/isolation-breach/> .
|
|
17
|
+
@prefix arc: <https://example.org/arc#> .
|
|
18
|
+
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
|
|
19
|
+
|
|
20
|
+
:case a arc:Case ;
|
|
21
|
+
arc:question "Can an isolation-breach token be prepared, permuted, copied, measured, and audited across unlike classical media, and what exactly can't be done with the quantum provenance seal?" .
|
|
22
|
+
|
|
23
|
+
# ---------------------------------------------------
|
|
24
|
+
# Classical media carrying the same abstract variable
|
|
25
|
+
# ---------------------------------------------------
|
|
26
|
+
|
|
27
|
+
:doorBeacon a :InformationMedium ;
|
|
28
|
+
:encodes :BreachBit ;
|
|
29
|
+
:zeroState :SafeGreen ;
|
|
30
|
+
:oneState :BreachRed .
|
|
31
|
+
|
|
32
|
+
:containmentPLC a :InformationMedium ;
|
|
33
|
+
:encodes :BreachBit ;
|
|
34
|
+
:zeroState :VoltageLow ;
|
|
35
|
+
:oneState :VoltageHigh .
|
|
36
|
+
|
|
37
|
+
:nursePager a :InformationMedium ;
|
|
38
|
+
:encodes :BreachBit ;
|
|
39
|
+
:zeroState :CodeNormal ;
|
|
40
|
+
:oneState :CodeBreach .
|
|
41
|
+
|
|
42
|
+
:incidentBoard a :InformationMedium ;
|
|
43
|
+
:encodes :BreachBit ;
|
|
44
|
+
:zeroState :BoardNormal ;
|
|
45
|
+
:oneState :BoardBreach .
|
|
46
|
+
|
|
47
|
+
# ---------------------------------------------------
|
|
48
|
+
# Contrast medium with superinformation-like behavior
|
|
49
|
+
# ---------------------------------------------------
|
|
50
|
+
|
|
51
|
+
:specimenSeal a :SuperinformationMedium ;
|
|
52
|
+
:encodes :SealVariable ;
|
|
53
|
+
:state :SealAlpha ;
|
|
54
|
+
:state :SealBeta ;
|
|
55
|
+
:state :SealGamma .
|
|
56
|
+
|
|
57
|
+
# ----------------------------------------------------------------
|
|
58
|
+
# CAN rules — what becomes possible for the classical breach token
|
|
59
|
+
# ----------------------------------------------------------------
|
|
60
|
+
|
|
61
|
+
# Information media support computation-like preparation, permutation,
|
|
62
|
+
# distinguishability, and local cloning for the designated variable.
|
|
63
|
+
{ ?M a :InformationMedium ;
|
|
64
|
+
:encodes ?V ;
|
|
65
|
+
:zeroState ?Z ;
|
|
66
|
+
:oneState ?O . }
|
|
67
|
+
=>
|
|
68
|
+
{
|
|
69
|
+
?M a :ComputationMedium .
|
|
70
|
+
?M :distinguishes ?V .
|
|
71
|
+
?M :can :PrepareInformationStates .
|
|
72
|
+
?M :can :LocalPermutation .
|
|
73
|
+
?M :can :LocalClone .
|
|
74
|
+
|
|
75
|
+
[ a :PossibleTask ;
|
|
76
|
+
:kind :Prepare ;
|
|
77
|
+
:on ?M ;
|
|
78
|
+
:variable ?V ;
|
|
79
|
+
:targetState ?Z ] .
|
|
80
|
+
|
|
81
|
+
[ a :PossibleTask ;
|
|
82
|
+
:kind :Prepare ;
|
|
83
|
+
:on ?M ;
|
|
84
|
+
:variable ?V ;
|
|
85
|
+
:targetState ?O ] .
|
|
86
|
+
|
|
87
|
+
[ a :PossibleTask ;
|
|
88
|
+
:kind :Permute ;
|
|
89
|
+
:on ?M ;
|
|
90
|
+
:variable ?V ;
|
|
91
|
+
:fromState ?Z ;
|
|
92
|
+
:toState ?O ] .
|
|
93
|
+
|
|
94
|
+
[ a :PossibleTask ;
|
|
95
|
+
:kind :Permute ;
|
|
96
|
+
:on ?M ;
|
|
97
|
+
:variable ?V ;
|
|
98
|
+
:fromState ?O ;
|
|
99
|
+
:toState ?Z ] .
|
|
100
|
+
|
|
101
|
+
[ a :PossibleTask ;
|
|
102
|
+
:kind :CloneLocal ;
|
|
103
|
+
:on ?M ;
|
|
104
|
+
:variable ?V ] .
|
|
105
|
+
} .
|
|
106
|
+
|
|
107
|
+
# If both directions of a permutation are possible, reversible computation is possible.
|
|
108
|
+
{ [ a :PossibleTask ;
|
|
109
|
+
:kind :Permute ;
|
|
110
|
+
:on ?M ;
|
|
111
|
+
:variable ?V ;
|
|
112
|
+
:fromState ?X ;
|
|
113
|
+
:toState ?Y ] .
|
|
114
|
+
[ a :PossibleTask ;
|
|
115
|
+
:kind :Permute ;
|
|
116
|
+
:on ?M ;
|
|
117
|
+
:variable ?V ;
|
|
118
|
+
:fromState ?Y ;
|
|
119
|
+
:toState ?X ] . }
|
|
120
|
+
=>
|
|
121
|
+
{ [ a :PossibleTask ;
|
|
122
|
+
:kind :ReversePermute ;
|
|
123
|
+
:on ?M ;
|
|
124
|
+
:variable ?V ] . } .
|
|
125
|
+
|
|
126
|
+
# Interoperability-style copying across unlike media carrying the same variable.
|
|
127
|
+
{ ?A a :InformationMedium ; :encodes ?V .
|
|
128
|
+
?B a :InformationMedium ; :encodes ?V . }
|
|
129
|
+
=>
|
|
130
|
+
{ [ a :PossibleTask ;
|
|
131
|
+
:kind :Copy ;
|
|
132
|
+
:from ?A ;
|
|
133
|
+
:to ?B ;
|
|
134
|
+
:variable ?V ] . } .
|
|
135
|
+
|
|
136
|
+
# Measurement into any information medium that carries the same variable.
|
|
137
|
+
{ ?A :distinguishes ?V .
|
|
138
|
+
?B a :InformationMedium ;
|
|
139
|
+
:encodes ?V . }
|
|
140
|
+
=>
|
|
141
|
+
{ [ a :PossibleTask ;
|
|
142
|
+
:kind :Measure ;
|
|
143
|
+
:from ?A ;
|
|
144
|
+
:to ?B ;
|
|
145
|
+
:variable ?V ] . } .
|
|
146
|
+
|
|
147
|
+
# Serial composition of possible tasks.
|
|
148
|
+
{ [ a :PossibleTask ;
|
|
149
|
+
:kind :Copy ;
|
|
150
|
+
:from ?A ;
|
|
151
|
+
:to ?B ;
|
|
152
|
+
:variable ?V ] .
|
|
153
|
+
[ a :PossibleTask ;
|
|
154
|
+
:kind :Measure ;
|
|
155
|
+
:from ?B ;
|
|
156
|
+
:to ?C ;
|
|
157
|
+
:variable ?V ] . }
|
|
158
|
+
=>
|
|
159
|
+
{ [ a :PossibleTask ;
|
|
160
|
+
:kind :SerialNetwork ;
|
|
161
|
+
:from ?A ;
|
|
162
|
+
:via ?B ;
|
|
163
|
+
:to ?C ;
|
|
164
|
+
:variable ?V ] . } .
|
|
165
|
+
|
|
166
|
+
# Parallel composition of possible tasks.
|
|
167
|
+
{ [ a :PossibleTask ;
|
|
168
|
+
:kind :Copy ;
|
|
169
|
+
:from ?A ;
|
|
170
|
+
:to ?B ;
|
|
171
|
+
:variable ?V ] .
|
|
172
|
+
[ a :PossibleTask ;
|
|
173
|
+
:kind :Copy ;
|
|
174
|
+
:from ?A ;
|
|
175
|
+
:to ?C ;
|
|
176
|
+
:variable ?V ] . }
|
|
177
|
+
=>
|
|
178
|
+
{ [ a :PossibleTask ;
|
|
179
|
+
:kind :ParallelNetwork ;
|
|
180
|
+
:source ?A ;
|
|
181
|
+
:left ?B ;
|
|
182
|
+
:right ?C ;
|
|
183
|
+
:variable ?V ] . } .
|
|
184
|
+
|
|
185
|
+
# -------------------------------------------------------------
|
|
186
|
+
# CAN'T rules — what becomes impossible for the provenance seal
|
|
187
|
+
# -------------------------------------------------------------
|
|
188
|
+
|
|
189
|
+
# A superinformation medium cannot have all of its states universally cloned.
|
|
190
|
+
{ ?M a :SuperinformationMedium ;
|
|
191
|
+
:encodes ?V . }
|
|
192
|
+
=>
|
|
193
|
+
{
|
|
194
|
+
?M :cannot :UniversalClone .
|
|
195
|
+
[ a :ImpossibleTask ;
|
|
196
|
+
:kind :CloneAllStates ;
|
|
197
|
+
:on ?M ;
|
|
198
|
+
:variable ?V ] .
|
|
199
|
+
} .
|
|
200
|
+
|
|
201
|
+
# If universal cloning is unavailable, unrestricted parallel fan-out is unavailable.
|
|
202
|
+
{ ?M :cannot :UniversalClone . }
|
|
203
|
+
=>
|
|
204
|
+
{ ?M :cannot :UnrestrictedParallelFanOut . } .
|
|
205
|
+
|
|
206
|
+
# ------
|
|
207
|
+
# Checks
|
|
208
|
+
# ------
|
|
209
|
+
|
|
210
|
+
# Positive checks for the classical breach token.
|
|
211
|
+
{ :doorBeacon a :InformationMedium . }
|
|
212
|
+
=> { :case :checkC1 :Passed . } .
|
|
213
|
+
|
|
214
|
+
{ :containmentPLC a :InformationMedium . }
|
|
215
|
+
=> { :case :checkC2 :Passed . } .
|
|
216
|
+
|
|
217
|
+
{ :nursePager a :InformationMedium . }
|
|
218
|
+
=> { :case :checkC3 :Passed . } .
|
|
219
|
+
|
|
220
|
+
{ :incidentBoard a :InformationMedium . }
|
|
221
|
+
=> { :case :checkC4 :Passed . } .
|
|
222
|
+
|
|
223
|
+
{ :doorBeacon :distinguishes :BreachBit . }
|
|
224
|
+
=> { :case :checkC5 :Passed . } .
|
|
225
|
+
|
|
226
|
+
{ [ a :PossibleTask ;
|
|
227
|
+
:kind :Prepare ;
|
|
228
|
+
:on :nursePager ;
|
|
229
|
+
:variable :BreachBit ;
|
|
230
|
+
:targetState :CodeBreach ] . }
|
|
231
|
+
=> { :case :checkC6 :Passed . } .
|
|
232
|
+
|
|
233
|
+
{ [ a :PossibleTask ;
|
|
234
|
+
:kind :Permute ;
|
|
235
|
+
:on :doorBeacon ;
|
|
236
|
+
:variable :BreachBit ;
|
|
237
|
+
:fromState :SafeGreen ;
|
|
238
|
+
:toState :BreachRed ] . }
|
|
239
|
+
=> { :case :checkC7 :Passed . } .
|
|
240
|
+
|
|
241
|
+
{ [ a :PossibleTask ;
|
|
242
|
+
:kind :ReversePermute ;
|
|
243
|
+
:on :doorBeacon ;
|
|
244
|
+
:variable :BreachBit ] . }
|
|
245
|
+
=> { :case :checkC8 :Passed . } .
|
|
246
|
+
|
|
247
|
+
{ [ a :PossibleTask ;
|
|
248
|
+
:kind :CloneLocal ;
|
|
249
|
+
:on :containmentPLC ;
|
|
250
|
+
:variable :BreachBit ] . }
|
|
251
|
+
=> { :case :checkC9 :Passed . } .
|
|
252
|
+
|
|
253
|
+
{ [ a :PossibleTask ;
|
|
254
|
+
:kind :Copy ;
|
|
255
|
+
:from :doorBeacon ;
|
|
256
|
+
:to :containmentPLC ;
|
|
257
|
+
:variable :BreachBit ] . }
|
|
258
|
+
=> { :case :checkC10 :Passed . } .
|
|
259
|
+
|
|
260
|
+
{ [ a :PossibleTask ;
|
|
261
|
+
:kind :Copy ;
|
|
262
|
+
:from :containmentPLC ;
|
|
263
|
+
:to :nursePager ;
|
|
264
|
+
:variable :BreachBit ] . }
|
|
265
|
+
=> { :case :checkC11 :Passed . } .
|
|
266
|
+
|
|
267
|
+
{ [ a :PossibleTask ;
|
|
268
|
+
:kind :Measure ;
|
|
269
|
+
:from :nursePager ;
|
|
270
|
+
:to :incidentBoard ;
|
|
271
|
+
:variable :BreachBit ] . }
|
|
272
|
+
=> { :case :checkC12 :Passed . } .
|
|
273
|
+
|
|
274
|
+
{ [ a :PossibleTask ;
|
|
275
|
+
:kind :SerialNetwork ;
|
|
276
|
+
:from :doorBeacon ;
|
|
277
|
+
:via :containmentPLC ;
|
|
278
|
+
:to :incidentBoard ;
|
|
279
|
+
:variable :BreachBit ] . }
|
|
280
|
+
=> { :case :checkC13 :Passed . } .
|
|
281
|
+
|
|
282
|
+
{ [ a :PossibleTask ;
|
|
283
|
+
:kind :ParallelNetwork ;
|
|
284
|
+
:source :containmentPLC ;
|
|
285
|
+
:left :nursePager ;
|
|
286
|
+
:right :incidentBoard ;
|
|
287
|
+
:variable :BreachBit ] . }
|
|
288
|
+
=> { :case :checkC14 :Passed . } .
|
|
289
|
+
|
|
290
|
+
# Negative checks for the provenance seal.
|
|
291
|
+
{ [ a :ImpossibleTask ;
|
|
292
|
+
:kind :CloneAllStates ;
|
|
293
|
+
:on :specimenSeal ;
|
|
294
|
+
:variable :SealVariable ] . }
|
|
295
|
+
=> { :case :checkC15 :Passed . } .
|
|
296
|
+
|
|
297
|
+
{ :specimenSeal :cannot :UniversalClone . }
|
|
298
|
+
=> { :case :checkC16 :Passed . } .
|
|
299
|
+
|
|
300
|
+
{ :specimenSeal :cannot :UnrestrictedParallelFanOut . }
|
|
301
|
+
=> { :case :checkC17 :Passed . } .
|
|
302
|
+
|
|
303
|
+
# ----------------
|
|
304
|
+
# ARC-style report
|
|
305
|
+
# ----------------
|
|
306
|
+
|
|
307
|
+
{ :case :checkC1 :Passed .
|
|
308
|
+
:case :checkC2 :Passed .
|
|
309
|
+
:case :checkC3 :Passed .
|
|
310
|
+
:case :checkC4 :Passed .
|
|
311
|
+
:case :checkC5 :Passed .
|
|
312
|
+
:case :checkC6 :Passed .
|
|
313
|
+
:case :checkC7 :Passed .
|
|
314
|
+
:case :checkC8 :Passed .
|
|
315
|
+
:case :checkC9 :Passed .
|
|
316
|
+
:case :checkC10 :Passed .
|
|
317
|
+
:case :checkC11 :Passed .
|
|
318
|
+
:case :checkC12 :Passed .
|
|
319
|
+
:case :checkC13 :Passed .
|
|
320
|
+
:case :checkC14 :Passed .
|
|
321
|
+
:case :checkC15 :Passed .
|
|
322
|
+
:case :checkC16 :Passed .
|
|
323
|
+
:case :checkC17 :Passed . }
|
|
324
|
+
=>
|
|
325
|
+
{
|
|
326
|
+
:out log:outputString """ACT isolation-breach token — broad constructor-theory coverage case
|
|
327
|
+
|
|
328
|
+
Answer
|
|
329
|
+
YES for the classical isolation-breach token.
|
|
330
|
+
NO for universal cloning and unrestricted fan-out of the quantum provenance seal.
|
|
331
|
+
|
|
332
|
+
Reason Why
|
|
333
|
+
The isolation-breach token is treated as an abstract information variable carried by unlike classical media: a door beacon, a containment PLC, a nurse pager, and an incident board. Because those substrates are information media for the same variable, the token can be prepared, permuted, reversed, cloned locally, copied across media, measured into an output record, and composed into serial and parallel task networks. By contrast, the specimen seal is treated as a superinformation medium, so cloning all of its states is impossible and unrestricted parallel fan-out is blocked.
|
|
334
|
+
|
|
335
|
+
Check
|
|
336
|
+
C1 OK - the door beacon is an information medium
|
|
337
|
+
C2 OK - the containment PLC is an information medium
|
|
338
|
+
C3 OK - the nurse pager is an information medium
|
|
339
|
+
C4 OK - the incident board is an information medium
|
|
340
|
+
C5 OK - the door beacon distinguishes the breach bit
|
|
341
|
+
C6 OK - the breach state can be prepared on the nurse pager
|
|
342
|
+
C7 OK - permutation from safe to breach is possible on the door beacon
|
|
343
|
+
C8 OK - the door beacon supports reversible permutation
|
|
344
|
+
C9 OK - local cloning of the breach bit is possible on the containment PLC
|
|
345
|
+
C10 OK - the breach bit can be copied from door beacon to containment PLC
|
|
346
|
+
C11 OK - the breach bit can be copied from containment PLC to nurse pager
|
|
347
|
+
C12 OK - the breach bit can be measured from nurse pager into the incident board
|
|
348
|
+
C13 OK - a serial network from door beacon via containment PLC to incident board is possible
|
|
349
|
+
C14 OK - a parallel network from containment PLC to nurse pager and incident board is possible
|
|
350
|
+
C15 OK - cloning all states of the specimen seal is an impossible task
|
|
351
|
+
C16 OK - the specimen seal cannot be universally cloned
|
|
352
|
+
C17 OK - the specimen seal cannot support unrestricted parallel fan-out
|
|
353
|
+
""" .
|
|
354
|
+
} .
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
# =========================================================================
|
|
2
|
+
# ACT photosynthetic exciton transfer
|
|
3
|
+
#
|
|
4
|
+
# Applied constructor-theory case:
|
|
5
|
+
# A photosynthetic antenna must deliver an electronic excitation to a
|
|
6
|
+
# reaction center before it is lost.
|
|
7
|
+
#
|
|
8
|
+
# This example is intentionally careful:
|
|
9
|
+
# it does NOT assume that long-lived electronic coherence is required.
|
|
10
|
+
# Instead it models a more modest and defensible claim:
|
|
11
|
+
#
|
|
12
|
+
# - a tuned complex CAN exploit short-lived excitonic/vibronic assistance
|
|
13
|
+
# to make reaction-center delivery possible;
|
|
14
|
+
# - a detuned, strongly decohered contrast complex CAN'T achieve the
|
|
15
|
+
# same transfer task efficiently in the same regime.
|
|
16
|
+
#
|
|
17
|
+
# The example is ACT-style because it expresses the application in terms
|
|
18
|
+
# of possible and impossible tasks.
|
|
19
|
+
# =========================================================================
|
|
20
|
+
|
|
21
|
+
@prefix : <http://example.org/act/photosynthesis/> .
|
|
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 tuned photosynthetic antenna deliver excitation efficiently to a reaction center by short-lived quantum-assisted transfer, while a detuned contrast complex cannot?" .
|
|
27
|
+
|
|
28
|
+
# -------------------------
|
|
29
|
+
# Shared application target
|
|
30
|
+
# -------------------------
|
|
31
|
+
|
|
32
|
+
:reactionCenter a :ReactionCenter .
|
|
33
|
+
:harvestTask a :ExcitationDeliveryTask ;
|
|
34
|
+
:target :reactionCenter ;
|
|
35
|
+
:lossChannel :ExcitonRecombination .
|
|
36
|
+
|
|
37
|
+
# -------------------------------
|
|
38
|
+
# Device A: tuned antenna complex
|
|
39
|
+
# -------------------------------
|
|
40
|
+
|
|
41
|
+
# This complex has the structural ingredients usually invoked in careful,
|
|
42
|
+
# modern discussions of quantum-assisted transfer:
|
|
43
|
+
# - coupled excitonic states
|
|
44
|
+
# - some delocalization
|
|
45
|
+
# - a vibronic bridge
|
|
46
|
+
# - a downhill energetic route
|
|
47
|
+
# - short, not long-lived, coherence
|
|
48
|
+
# - moderate rather than overwhelming dephasing
|
|
49
|
+
:tunedAntenna a :LightHarvestingComplex ;
|
|
50
|
+
:encodes :ExcitonPathway ;
|
|
51
|
+
:excitonCoupling :Strong ;
|
|
52
|
+
:stateDelocalization :Present ;
|
|
53
|
+
:vibronicBridge :Tuned ;
|
|
54
|
+
:energyLandscape :DownhillToReactionCenter ;
|
|
55
|
+
:electronicCoherenceLifetime :Short ;
|
|
56
|
+
:dephasing :Moderate ;
|
|
57
|
+
:connectedTo :reactionCenter .
|
|
58
|
+
|
|
59
|
+
# ----------------------------------
|
|
60
|
+
# Device B: detuned contrast complex
|
|
61
|
+
# ----------------------------------
|
|
62
|
+
|
|
63
|
+
# This one lacks the helpful alignment:
|
|
64
|
+
# - weaker coupling
|
|
65
|
+
# - no useful delocalization
|
|
66
|
+
# - no vibronic bridge
|
|
67
|
+
# - a trapping mismatch
|
|
68
|
+
# - strong dephasing
|
|
69
|
+
:detunedAntenna a :LightHarvestingComplex ;
|
|
70
|
+
:encodes :ExcitonPathway ;
|
|
71
|
+
:excitonCoupling :Weak ;
|
|
72
|
+
:stateDelocalization :Absent ;
|
|
73
|
+
:vibronicBridge :Absent ;
|
|
74
|
+
:energyLandscape :TrappingMismatch ;
|
|
75
|
+
:electronicCoherenceLifetime :VeryShort ;
|
|
76
|
+
:dephasing :Strong ;
|
|
77
|
+
:connectedTo :reactionCenter .
|
|
78
|
+
|
|
79
|
+
# ---------------------------------
|
|
80
|
+
# CAN rules — what becomes possible
|
|
81
|
+
# ---------------------------------
|
|
82
|
+
|
|
83
|
+
# Strong excitonic coupling plus some delocalization makes
|
|
84
|
+
# coherent pathway sampling possible.
|
|
85
|
+
{ ?C a :LightHarvestingComplex ;
|
|
86
|
+
:excitonCoupling :Strong ;
|
|
87
|
+
:stateDelocalization :Present . }
|
|
88
|
+
=>
|
|
89
|
+
{ ?C :can :CoherentPathwaySampling . } .
|
|
90
|
+
|
|
91
|
+
# A tuned vibronic bridge plus non-overwhelming dephasing
|
|
92
|
+
# makes vibronically assisted transfer possible.
|
|
93
|
+
{ ?C a :LightHarvestingComplex ;
|
|
94
|
+
:vibronicBridge :Tuned ;
|
|
95
|
+
:dephasing :Moderate . }
|
|
96
|
+
=>
|
|
97
|
+
{ ?C :can :VibronicallyAssistedTransfer . } .
|
|
98
|
+
|
|
99
|
+
# This is the careful "science of can" claim:
|
|
100
|
+
# short-lived electronic coherence is enough for a useful
|
|
101
|
+
# transfer contribution when the bridge and landscape are
|
|
102
|
+
# favorable. Long-lived coherence is not required here.
|
|
103
|
+
{ ?C a :LightHarvestingComplex ;
|
|
104
|
+
:electronicCoherenceLifetime :Short ;
|
|
105
|
+
:energyLandscape :DownhillToReactionCenter . }
|
|
106
|
+
=>
|
|
107
|
+
{ ?C :can :ShortLivedQuantumAssistance . } .
|
|
108
|
+
|
|
109
|
+
# Efficient exciton transfer is possible when coherent
|
|
110
|
+
# pathway sampling, vibronic assistance, and a downhill
|
|
111
|
+
# energetic route are all available.
|
|
112
|
+
{ ?C :can :CoherentPathwaySampling .
|
|
113
|
+
?C :can :VibronicallyAssistedTransfer .
|
|
114
|
+
?C :can :ShortLivedQuantumAssistance .
|
|
115
|
+
?C :energyLandscape :DownhillToReactionCenter . }
|
|
116
|
+
=>
|
|
117
|
+
{ ?C :can :EfficientExcitonTransfer . } .
|
|
118
|
+
|
|
119
|
+
# If efficient transfer is possible and the antenna is
|
|
120
|
+
# connected to the reaction center, reaction-center delivery
|
|
121
|
+
# is possible.
|
|
122
|
+
{ ?C :can :EfficientExcitonTransfer ;
|
|
123
|
+
:connectedTo ?RC .
|
|
124
|
+
?RC a :ReactionCenter . }
|
|
125
|
+
=>
|
|
126
|
+
{ ?C :can :DeliverExcitationToReactionCenter . } .
|
|
127
|
+
|
|
128
|
+
# -------------------------------------
|
|
129
|
+
# CAN'T rules — what becomes impossible
|
|
130
|
+
# -------------------------------------
|
|
131
|
+
|
|
132
|
+
# Weak coupling and absent delocalization block coherent
|
|
133
|
+
# pathway sampling.
|
|
134
|
+
{ ?C a :LightHarvestingComplex ;
|
|
135
|
+
:excitonCoupling :Weak ;
|
|
136
|
+
:stateDelocalization :Absent . }
|
|
137
|
+
=>
|
|
138
|
+
{ ?C :cannot :CoherentPathwaySampling . } .
|
|
139
|
+
|
|
140
|
+
# No vibronic bridge and strong dephasing block vibronically
|
|
141
|
+
# assisted transfer.
|
|
142
|
+
{ ?C a :LightHarvestingComplex ;
|
|
143
|
+
:vibronicBridge :Absent ;
|
|
144
|
+
:dephasing :Strong . }
|
|
145
|
+
=>
|
|
146
|
+
{ ?C :cannot :VibronicallyAssistedTransfer . } .
|
|
147
|
+
|
|
148
|
+
# A trapping mismatch blocks directed downhill delivery.
|
|
149
|
+
{ ?C a :LightHarvestingComplex ;
|
|
150
|
+
:energyLandscape :TrappingMismatch . }
|
|
151
|
+
=>
|
|
152
|
+
{ ?C :cannot :DirectedReactionCenterTransfer . } .
|
|
153
|
+
|
|
154
|
+
# If the complex cannot sample pathways coherently and
|
|
155
|
+
# cannot use vibronic assistance, efficient transfer is not
|
|
156
|
+
# achievable in this operating picture.
|
|
157
|
+
{ ?C :cannot :CoherentPathwaySampling .
|
|
158
|
+
?C :cannot :VibronicallyAssistedTransfer . }
|
|
159
|
+
=>
|
|
160
|
+
{ ?C :cannot :EfficientExcitonTransfer . } .
|
|
161
|
+
|
|
162
|
+
# Even if some transfer happens, a trapping mismatch blocks
|
|
163
|
+
# efficient delivery to the reaction center in this case.
|
|
164
|
+
{ ?C :cannot :DirectedReactionCenterTransfer . }
|
|
165
|
+
=>
|
|
166
|
+
{ ?C :cannot :DeliverExcitationToReactionCenter . } .
|
|
167
|
+
|
|
168
|
+
{ ?C :cannot :EfficientExcitonTransfer . }
|
|
169
|
+
=>
|
|
170
|
+
{ ?C :cannot :DeliverExcitationToReactionCenter . } .
|
|
171
|
+
|
|
172
|
+
# ------
|
|
173
|
+
# Checks
|
|
174
|
+
# ------
|
|
175
|
+
|
|
176
|
+
# Positive checks for the tuned complex.
|
|
177
|
+
{ :tunedAntenna :can :CoherentPathwaySampling . }
|
|
178
|
+
=> { :case :checkC1 :Passed . } .
|
|
179
|
+
|
|
180
|
+
{ :tunedAntenna :can :VibronicallyAssistedTransfer . }
|
|
181
|
+
=> { :case :checkC2 :Passed . } .
|
|
182
|
+
|
|
183
|
+
{ :tunedAntenna :can :ShortLivedQuantumAssistance . }
|
|
184
|
+
=> { :case :checkC3 :Passed . } .
|
|
185
|
+
|
|
186
|
+
{ :tunedAntenna :can :EfficientExcitonTransfer . }
|
|
187
|
+
=> { :case :checkC4 :Passed . } .
|
|
188
|
+
|
|
189
|
+
{ :tunedAntenna :can :DeliverExcitationToReactionCenter . }
|
|
190
|
+
=> { :case :checkC5 :Passed . } .
|
|
191
|
+
|
|
192
|
+
# Negative checks for the detuned complex.
|
|
193
|
+
{ :detunedAntenna :cannot :CoherentPathwaySampling . }
|
|
194
|
+
=> { :case :checkC6 :Passed . } .
|
|
195
|
+
|
|
196
|
+
{ :detunedAntenna :cannot :VibronicallyAssistedTransfer . }
|
|
197
|
+
=> { :case :checkC7 :Passed . } .
|
|
198
|
+
|
|
199
|
+
{ :detunedAntenna :cannot :DirectedReactionCenterTransfer . }
|
|
200
|
+
=> { :case :checkC8 :Passed . } .
|
|
201
|
+
|
|
202
|
+
{ :detunedAntenna :cannot :EfficientExcitonTransfer . }
|
|
203
|
+
=> { :case :checkC9 :Passed . } .
|
|
204
|
+
|
|
205
|
+
{ :detunedAntenna :cannot :DeliverExcitationToReactionCenter . }
|
|
206
|
+
=> { :case :checkC10 :Passed . } .
|
|
207
|
+
|
|
208
|
+
# ----------------
|
|
209
|
+
# ARC-style output
|
|
210
|
+
# ----------------
|
|
211
|
+
|
|
212
|
+
{ :case :checkC1 :Passed .
|
|
213
|
+
:case :checkC2 :Passed .
|
|
214
|
+
:case :checkC3 :Passed .
|
|
215
|
+
:case :checkC4 :Passed .
|
|
216
|
+
:case :checkC5 :Passed .
|
|
217
|
+
:case :checkC6 :Passed .
|
|
218
|
+
:case :checkC7 :Passed .
|
|
219
|
+
:case :checkC8 :Passed .
|
|
220
|
+
:case :checkC9 :Passed .
|
|
221
|
+
:case :checkC10 :Passed . }
|
|
222
|
+
=>
|
|
223
|
+
{
|
|
224
|
+
:out log:outputString """ACT photosynthetic exciton transfer
|
|
225
|
+
|
|
226
|
+
Answer
|
|
227
|
+
YES for the tuned antenna complex.
|
|
228
|
+
NO for the detuned, strongly decohered contrast complex.
|
|
229
|
+
|
|
230
|
+
Reason Why
|
|
231
|
+
The tuned complex can sample exciton pathways coherently, use vibronically assisted transfer, and exploit short-lived quantum assistance along a downhill route to the reaction center. That makes efficient exciton transfer and reaction-center delivery possible in this case. The detuned contrast complex lacks the same alignment: coherent pathway sampling is blocked, vibronic assistance is unavailable, and the energy landscape is mismatched, so efficient reaction-center delivery is not possible in the same operating picture.
|
|
232
|
+
|
|
233
|
+
Check
|
|
234
|
+
C1 OK - the tuned complex can sample exciton pathways coherently
|
|
235
|
+
C2 OK - the tuned complex can use vibronically assisted transfer
|
|
236
|
+
C3 OK - short-lived quantum assistance is enough in the tuned downhill regime
|
|
237
|
+
C4 OK - efficient exciton transfer is possible in the tuned complex
|
|
238
|
+
C5 OK - the tuned complex can deliver excitation to the reaction center
|
|
239
|
+
C6 OK - the detuned complex cannot sample pathways coherently
|
|
240
|
+
C7 OK - the detuned complex cannot use vibronically assisted transfer
|
|
241
|
+
C8 OK - the detuned complex cannot achieve directed reaction-center transfer
|
|
242
|
+
C9 OK - the detuned complex cannot achieve efficient exciton transfer
|
|
243
|
+
C10 OK - the detuned complex cannot deliver excitation efficiently to the reaction center
|
|
244
|
+
""" .
|
|
245
|
+
} .
|