packages feed

phino-0.0.152: test-resources/evaluate-packs/fires-a-sibling-at-the-depth-the-head-pass-began-at.yaml

# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# yamllint disable rule:line-length
# The head pass of 𝕄 takes four steps through the four Ο† layers of 'Ξ¦.e'
# before it reads 'eq' of the inner formation, whose 'Ο†' reads its sibling
# 'm'. Under '--deep' the head pass fires 'm' first and writes its answer back
# (#1727). Before #1731 it fired 'm' at the depth of its fourth step, so the
# firing ran out of ten steps, and 'L_dataized' fired three times without
# reaching the answer. Now the head pass fires 'm' at the depth it began at,
# the way the deep walk at the end of 𝕄 fires it, and 'm' fires once.
symbolic: |
  - Ξ»: L_dataized
    dataize:
      𝛿1: $.target
    𝑛: Ξ¦.bytes( Ο† ↦ ⟦ Ξ» ‍ 𝜎 ⟧ )
location: 'Q.e'
deep: true
partial: true
acyclic: plausible
steps: 10
input: >
  ⟦ bytes(Ο†) ↦ ⟦ eq(ρ, b) ↦ L_bytes_eq:Ξ» ⟧,
    dataized(target) ↦ L_dataized:Ξ»,
    e ↦ ⟦ Ο† ↦ ⟦ Ο† ↦ ⟦ Ο† ↦ ⟦ Ο† ↦ m, m ↦ Ξ¦.dataized( target ↦ Ξ¦.bytes( Ο† ↦ 𝜎1:Ξ» ) ) ⟧ ⟧ ⟧ ⟧.eq ⟧
result: '⟦ b ↦ βˆ…, Ξ» ‍ L_bytes_eq ⟧'
protocol: |
  𝕄(Ξ¦.e):
    𝑛·0Β·1 := Ξ¦.dataized( target ↦ Ξ¦.bytes( Ο† ↦ 𝜎1:Ξ» ) )
    𝔼(L_dataized):
      𝔻(Ξ¦.a🌡0):
        𝕄(Ξ¦.a🌡0):
          𝑛·1Β·1 := Ξ¦.bytes( Ο† ↦ 𝜎1:Ξ» )
      𝛿1Β·1 := 𝔻(𝜎1:Ξ»)  # 𝔻(ΞΎ.target)
      𝑛·1Β·2 := Ξ¦.bytes( Ο† ↦ 𝜎2:Ξ» )  # 𝑛
      𝕄(𝑛·1Β·2):
        𝑛·1Β·3 := Ξ¦.bytes( Ο† ↦ 𝜎2:Ξ» )
      𝑛·1Β·4 := 𝑛·1Β·3  # 𝕄(𝑛·1Β·2)