packages feed

phino-0.0.162: test-resources/evaluate-packs/answers-a-firing-whose-operand-loops.yaml

# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# A loop met while an operand is being brought down to data, one whole run of 𝔻
# below the spine. The operand dispatches 'foo' off a formation of 'L_loop',
# whose firing answers that very formation, so 𝕄 is about to dispatch off it
# again. The cut answers the whole dispatch with a fresh symbol, named by the
# symbol alone, since no fact leads that formation back to the world (#2307).
# The operand comes down to the datum of the symbol and 'L_outer' answers, and
# the dispatch of 'bar' off its answer is what the run parks on.
symbolic: |
  - Ξ»: L_outer
    dataize:
      𝛿1: ΞΎ.arg
    𝑛: ⟦ Ξ» ‍ 𝜎 ⟧
  - Ξ»: L_loop
    𝑛: ⟦ Ξ» ‍ L_loop ⟧
location: 'Q.x'
acyclic: proven
steps: 250
partial: true
input: >
  ⟦ x ↦ ⟦ arg ↦ ⟦ Ξ» ‍ L_loop ⟧.foo, Ξ» ‍ L_outer ⟧.bar ⟧
result: '𝜎2:λ.bar'
protocol: |
  𝕄(Ξ¦.x):
    𝔼(L_outer):
      𝔻(ΞΎ.arg):
        𝕄(ΞΎ.arg):
          𝔼(L_loop):
            𝑛·2Β·1 := L_loop:Ξ»  # 𝑛
            𝕄(𝑛·2Β·1):
              morphed 𝑛·2Β·2 := L_loop:Ξ»
            𝑛·2Β·3 := L_loop:Ξ»  # 𝕄(𝑛·2Β·1)
          looped 𝜎1  # proven, repeats L_loop:λ
          morphed 𝑛·1Β·1 := 𝜎1:Ξ»
        𝛿·1Β·1 := 𝔻(𝜎1:Ξ»)
      𝛿1Β·1 := 𝛿·1Β·1  # 𝔻(ΞΎ.arg)
      𝑛·1Β·2 := 𝜎2:Ξ»  # 𝑛
      𝕄(𝑛·1Β·2):
        morphed 𝑛·1Β·3 := 𝜎2:Ξ»
      𝑛·1Β·4 := 𝑛·1Β·3  # 𝕄(𝑛·1Β·2)
    unanswered 𝜎2  # 𝕄(𝜎2:Ξ»)