packages feed

phino-0.0.154: test-resources/evaluate-packs/fires-a-formation-again-where-the-budget-stalled-it.yaml

# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# yamllint disable rule:line-length
# The memo of '--acyclic=plausible' tells no stall the step budget made to a
# firing that has spent fewer steps than the stalled one. 'L_pair' first
# reduces 'x', whose firing brings 'p' down, which reaches the formation 'f'
# through 'q' and fires it so deep that the budget runs out before 'arg'
# comes down, so the firing gets stuck. Before #1514 the stall was kept bare,
# and a later firing of the same formation, where the budget is enough, was
# told it with nothing answered in between. Now the 'evaluate' line of
# 'L_pair' fires 'f' again at a shallower site, which brings 'arg' down and
# answers (#1521, #1874).
symbolic: |
  - Ξ»: L_outer
    dataize:
      𝛿1: ΞΎ.arg
    𝑛: ⟦ Ξ» ‍ 𝜎 ⟧
  - Ξ»: L_wrap
    dataize:
      𝛿1: ΞΎ.w
    𝑛: ⟦ Ξ» ‍ 𝜎 ⟧
  - Ξ»: L_pair
    morph:
      𝑛1: $.x
      𝑛2: $.f
    evaluate:
      𝑛3: 𝑛2
    𝑛: ⟦ Ο† ↦ 𝑛3 ⟧
location: 'Q.r'
partial: true
acyclic: plausible
steps: 12
input: >
  ⟦ r ↦ ⟦
      x ↦ ⟦ w ↦ Ξ¦.p, Ξ» ‍ L_wrap ⟧.Ο†,
      f ↦ Ξ¦.f,
      Ξ» ‍ L_pair ⟧.Ο†,
    p ↦ ⟦ Ο† ↦ Ξ¦.q ⟧,
    q ↦ ⟦ Ο† ↦ Ξ¦.f ⟧,
    f ↦ ⟦ arg ↦ Ξ¦.c, Ξ» ‍ L_outer ⟧,
    c ↦ ⟦ Ο† ↦ Ξ¦.d ⟧,
    d ↦ ⟦ Ο† ↦ Ξ¦.e ⟧,
    e ↦ ⟦ Ξ” ‍ 01- ⟧ ⟧
result: '𝜎1:λ'
protocol: |
  𝕄(Ξ¦.r):
    𝔼(L_pair):
      𝕄(Ξ¦.a🌡0):
        𝔼(L_wrap):
          𝔻(Ξ¦.a🌡1):
            𝔼(L_outer):
              𝔻(Ξ¦.a🌡2):
                𝕄(Ξ¦.a🌡2):
                  starved(12)
              stuck(L_outer)
          stuck(L_outer)
      𝑛1Β·1 := ⟦ w ↦ Ξ¦.p, Ξ» ‍ L_wrap ⟧.Ο†  # 𝕄(ΞΎ.x)
      𝑛2Β·1 := ⟦ arg ↦ Ξ¦.c, Ξ» ‍ L_outer ⟧  # 𝕄(ΞΎ.f)
      𝔼(L_outer):  # 𝔼(𝑛2)
        𝔻(Ξ¦.a🌡4):
          𝛿·4Β·1 := 01-
        𝛿1Β·4 := 𝛿·4Β·1  # 𝔻(ΞΎ.arg)
        𝑛·4Β·1 := 𝜎1:Ξ»  # 𝑛
        𝑛·4Β·2 := 𝜎1:Ξ»  # 𝕄(𝑛·4Β·1)
      𝑛3Β·1 := 𝑛·4Β·2  # 𝔼(𝑛2)
      𝑛·1Β·1 := 𝜎1:Ξ»:Ο†  # 𝑛
      𝑛·1Β·2 := 𝜎1:Ξ»:Ο†  # 𝕄(𝑛·1Β·1)