packages feed

phino-0.0.161: test-resources/evaluate-packs/answers-an-operand-that-dataizes-in-circles-with-a-symbol.yaml

# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# A loop met while an operand is being brought down to data, with no frame of 𝕄
# ever handed the same term twice: the body of 'cyc' dispatches 'cyc' again, so
# every round 𝕄 stops at a formation of its own and only 𝔻 β€” 'box'
# contextualizing that body and 'norm' morphing what comes out β€” comes back to
# the term it started from. Before #1290 the guard of '--acyclic' was 𝕄's alone
# and this went round until the step budget ran out; now 𝔻 asks it too. The box
# step answers the copy of 'cyc' it would enter again with a fresh symbol
# (#2226), so the operand comes down to the datum of that symbol and the firing
# answers.
symbolic: |
  - Ξ»: L_outer
    dataize:
      𝛿1: ΞΎ.arg
    𝑛: ⟦ bar ↦ ⟦ Ξ» ‍ 𝜎 ⟧ ⟧
location: 'Q.x'
acyclic: proven
steps: 250
input: >
  ⟦ cyc ↦ ⟦ x ↦ βˆ…, Ο† ↦ Ξ¦.cyc( ΞΎ.x ) ⟧,
    x ↦ ⟦ arg ↦ Ξ¦.cyc( ⟦⟧ ), Ξ» ‍ L_outer ⟧.bar ⟧
result: '𝜎2:λ'
protocol: |
  𝕄(Ξ¦.x):
    𝔼(L_outer):
      𝔻(ΞΎ.arg):
        𝕄(ΞΎ.arg):
          𝑛·1Β·1 := Ξ¦.cyc( x ↦ ⟦⟧ )
          𝑛·1Β·2 := ⟦ x ↦ ⟦⟧, Ο† ↦ Ξ¦.cyc( x ) ⟧
          morphed 𝑛·1Β·3 := 𝑛·1Β·2
        boxed 𝑛·1Β·4 := 𝑛·1Β·3.Ο†
        𝕄(𝑛·1Β·4):
          𝑛·1Β·5 := Ξ¦.cyc( x ↦ ⟦⟧ )
          𝑛·1Β·6 := ⟦ x ↦ ⟦⟧, Ο† ↦ Ξ¦.cyc( x ) ⟧
          morphed 𝑛·1Β·7 := 𝑛·1Β·6
        𝕄(𝑛·1Β·7.x):
          morphed 𝑛·1Β·8 := ⟦⟧
        looped 𝜎1 := Ξ¦.cyc( x ↦ 𝑛·1Β·8 )  # 𝔻(𝑛·1Β·4), proven, repeats 𝑛·1Β·7
        𝛿·1Β·1 := 𝔻(𝜎1:Ξ»)
      𝛿1Β·1 := 𝛿·1Β·1  # 𝔻(ΞΎ.arg)
      𝑛·1Β·9 := 𝜎2:Ξ»:bar  # 𝑛
      𝕄(𝑛·1Β·9):
        morphed 𝑛·1Β·10 := 𝜎2:Ξ»:bar
      𝑛·1Β·11 := 𝑛·1Β·10  # 𝕄(𝑛·1Β·9)
    morphed 𝑛·0Β·1 := 𝜎2:Ξ»