phino-0.0.152: test-resources/evaluate-packs/tells-two-symbols-of-one-datum-apart-between-firings.yaml
# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# yamllint disable rule:line-length
# The memo of '--acyclic=plausible' keeps an answer by the operands a firing
# brought down, and a symbol is an operand of its own: every symbol dataizes
# to the one manufactured datum, so two firings over two symbols come down to
# the same bytes, yet they stand for two values nobody worked out. A memo
# keyed on the bytes would answer the second firing with the symbol the first
# one minted and make the two values one; this one keys on the symbol, so each
# firing mints a symbol of its own.
symbolic: |
- Ξ»: L_dataized
dataize:
πΏ1: $.target
π: Ξ¦.bytes( Ο β¦ β¦ Ξ» β€ π β§ )
deep: true
acyclic: plausible
input: >
β¦ bytes(Ο) β¦ β¦β§,
dataized(target) β¦ L_dataized:Ξ»,
x β¦ Ξ¦.dataized( target β¦ Ξ¦.bytes( Ο β¦ π1:Ξ» ) ),
y β¦ Ξ¦.dataized( target β¦ Ξ¦.bytes( Ο β¦ π2:Ξ» ) ) β§
result: >
β¦ bytes(Ο) β¦ β¦β§,
dataized(target) β¦ L_dataized:Ξ»,
x β¦ β¦ Ο β¦ π3:Ξ» β§,
y β¦ β¦ Ο β¦ π4:Ξ» β§ β§
protocol: |
π(Ξ¦):
π(Ξ¦.x):
πΒ·0Β·1 := Ξ¦.bytes( Ο β¦ π1:Ξ» )
πΒ·0Β·2 := Ξ¦.dataized( target β¦ πΒ·0Β·1 )
πΌ(L_dataized):
π»(Ξ¦.aπ΅0):
π(Ξ¦.aπ΅0):
πΒ·1Β·1 := Ξ¦.bytes( Ο β¦ π1:Ξ» )
πΏ1Β·1 := π»(π1:Ξ») # π»(ΞΎ.target)
πΒ·1Β·2 := Ξ¦.bytes( Ο β¦ π3:Ξ» ) # π
π(πΒ·1Β·2):
πΒ·1Β·3 := Ξ¦.bytes( Ο β¦ π3:Ξ» )
πΒ·1Β·4 := πΒ·1Β·3 # π(πΒ·1Β·2)
π(Ξ¦.y):
πΒ·0Β·3 := Ξ¦.bytes( Ο β¦ π2:Ξ» )
πΒ·0Β·4 := Ξ¦.dataized( target β¦ πΒ·0Β·3 )
πΌ(L_dataized):
π»(Ξ¦.aπ΅1):
π(Ξ¦.aπ΅1):
πΒ·2Β·1 := Ξ¦.bytes( Ο β¦ π2:Ξ» )
πΏ1Β·2 := π»(π2:Ξ») # π»(ΞΎ.target)
πΒ·2Β·2 := Ξ¦.bytes( Ο β¦ π4:Ξ» ) # π
π(πΒ·2Β·2):
πΒ·2Β·3 := Ξ¦.bytes( Ο β¦ π4:Ξ» )
πΒ·2Β·4 := πΒ·2Β·3 # π(πΒ·2Β·2)