packages feed

phino-0.0.152: test-resources/evaluate-packs/keeps-the-name-of-an-object-the-walk-computed-inside.yaml

# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# yamllint disable rule:line-length
# The '--deep' walk stands its answers in the place of what it computed, inside
# the bindings of the object it walks, and makes no new object by doing so
# (#1757). The operand of 'L_entry' is the object 'Ξ¦.dbl' made, named 𝑛·1Β·1 by
# its 'applied' line, and the walk computes its 'Ο†' and its 'v' before 𝕄 hands
# it back. It is still 𝑛·1Β·1 then: in the line binding the operand, in the term
# the entry wrote, in the argument 'root' was applied to, and in the formation
# 𝔻 gets into when 'L_root' brings that argument down.
symbolic: |
  - Ξ»: L_entry
    morph:
      𝑛1: $.x
    𝑛: Ξ¦.root( v ↦ 𝑛1 )
  - Ξ»: L_root
    dataize:
      𝛿1: $.v
    𝑛: ⟦ Ξ» ‍ 𝜎 ⟧
  - Ξ»: L_twice
    dataize:
      𝛿1: $.ρ
    𝑛: Ξ¦.num( Ο† ↦ ⟦ Ξ» ‍ 𝜎 ⟧ )
location: 'Q.y'
deep: true
input: >
  ⟦ num ↦ ⟦ Ο† ↦ βˆ…, twice ↦ ⟦ ρ ↦ βˆ…, Ξ» ‍ L_twice ⟧ ⟧,
    dbl ↦ ⟦ v ↦ βˆ…, Ο† ↦ ΞΎ.v.twice ⟧,
    root(v) ↦ ⟦ Ξ» ‍ L_root ⟧,
    y ↦ ⟦ Ξ» ‍ L_entry, x ↦ Ξ¦.dbl( v ↦ Ξ¦.num( Ο† ↦ ⟦ Ξ” ‍ 2A- ⟧ ) ) ⟧ ⟧
result: '𝜎2:λ'
protocol: |
  𝕄(Ξ¦.y):
    𝕄(Ξ¦.y.x):
      𝑛·0Β·1 := Ξ¦.num( Ο† ↦ 2A-:Ξ” )
      𝑛·0Β·2 := Ξ¦.dbl( v ↦ 𝑛·0Β·1 )
    𝔼(L_entry):
      𝕄(Ξ¦.a🌡0):
        𝑛·1Β·1 := Ξ¦.dbl( v ↦ 𝑛·0Β·1 )
        𝕄(Ξ¦.a🌡0.v):
          𝑛·1Β·2 := Ξ¦.num( Ο† ↦ 2A-:Ξ” )
        𝕄(Ξ¦.a🌡0.Ο†):
          𝑛·1Β·3 := Ξ¦.num( Ο† ↦ 2A-:Ξ” )
          𝑛·1Β·4 := Ξ¦.num( Ο† ↦ 2A-:Ξ” )
          𝔼(L_twice):
            𝔻(Ξ¦.a🌡1):
              𝕄(Ξ¦.a🌡1):
                𝑛·2Β·1 := Ξ¦.num( Ο† ↦ 2A-:Ξ” )
              𝛿·2Β·1 := 2A-
            𝛿1Β·2 := 𝛿·2Β·1  # 𝔻(ΞΎ.ρ)
            𝑛·2Β·2 := Ξ¦.num( Ο† ↦ 𝜎1:Ξ» )  # 𝑛
            𝕄(𝑛·2Β·2):
              𝑛·2Β·3 := Ξ¦.num( Ο† ↦ 𝜎1:Ξ» )
            𝑛·2Β·4 := 𝑛·2Β·3  # 𝕄(𝑛·2Β·2)
      𝑛1Β·1 := 𝑛·1Β·1  # 𝕄(ΞΎ.x)
      𝑛·1Β·5 := Ξ¦.root( v ↦ 𝑛·1Β·1 )  # 𝑛
      𝕄(𝑛·1Β·5):
        𝑛·1Β·6 := Ξ¦.root( v ↦ 𝑛·1Β·1 )
      𝑛·1Β·7 := 𝑛·1Β·6  # 𝕄(𝑛·1Β·5)
    𝔼(L_root):
      𝛿1Β·3 := 𝔻(𝜎1:Ξ»)  # 𝔻(ΞΎ.v)
      𝑛·3Β·1 := 𝜎2:Ξ»  # 𝑛
      𝑛·3Β·2 := 𝜎2:Ξ»  # 𝕄(𝑛·3Β·1)