phino-0.0.152: test-resources/evaluate-packs/joins-two-branches-nothing-tells-apart.yaml
# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# yamllint disable rule:line-length
# Two branches nothing tells apart are the answer themselves: there is nothing
# to pick between them, so the join mints no symbol at all and the firing
# answers the very term both of them are. A fork is a branch point in the
# program and not necessarily one in the value it stands for.
symbolic: |
- Ξ»: L_fork
morph:
π1: $.a
π2: $.b
join:
π3: [π1, π2]
π: π3
location: 'Q.y'
input: 'β¦ y β¦ β¦ a β¦ β¦ l β¦ β¦ Ξ» β€ π1 β§ β§, b β¦ β¦ l β¦ β¦ Ξ» β€ π1 β§ β§, Ξ» β€ L_fork β§.l β§'
result: 'π1:Ξ»'
protocol: |
π(Ξ¦.y):
πΌ(L_fork):
π1Β·1 := π1:Ξ»:l # π(ΞΎ.a)
π2Β·1 := π1:Ξ»:l # π(ΞΎ.b)
π3Β·1 := π1:Ξ»:l # [π1, π2]
πΒ·1Β·1 := π1:Ξ»:l # π
πΒ·1Β·2 := π1:Ξ»:l # π(πΒ·1Β·1)