packages feed

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)