phino-0.0.156: test-resources/evaluate-packs/fails-on-a-remint-step-given-two-terms.yaml
# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# yamllint disable rule:line-length
# A 'remint' step mints one symbol for one term, so a step handing it two terms
# is refused the moment the rule matches, instead of minting for either (#1909).
symbolic: |
- Ξ»: L_shrink
morph:
π1: $.x
rewrite:
π2:
of: π1
rules:
- name: small-pair
pattern: β¦ !B1, head β¦ π1, tail β¦ π2, !B2 β§
result: β¦ !B1, head β¦ π3, !B2 β§
where:
- meta: π3
function: remint
args: [π1, π2]
π: π2
location: 'Q.y'
input: 'β¦ y β¦ β¦ x β¦ β¦ head β¦ β¦ Ξ» β€ π1 β§, tail β¦ β¦ Ξ» β€ π2 β§ β§, Ξ» β€ L_shrink β§.head β§'
fails: 'Function remint() requires exactly 1 argument as expression'
protocol: |
π(Ξ¦.y):
πΌ(L_shrink):
π1Β·1 := β¦ head β¦ π1:Ξ», tail β¦ π2:Ξ» β§ # π(ΞΎ.x)