packages feed

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)