phino-0.0.0.75: resources/morphing.yaml
# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# Morphing π β applied top-to-bottom, first matching clause wins.
- name: Mprim
description: 'π(e) βΏ e if e β π«'
match: π
when:
primitive: π
then: π
- name: Mnmz
description: 'π(e) βΏ π(π©(e)) if e β NF'
match: π
when:
not:
nf: π
then:
morph:
normalize: π
- name: Mlambda
description: 'π(β¦π΅1, Ξ» β€ F, π΅2β§ * t) βΏ π(F(β¦π΅1, π΅2β§) * t)'
match: 'β¦π΅1, Ξ» β€ !F, π΅2β§ * !t'
where:
- meta: π
function: lambda
args:
- 'β¦π΅1, Ξ» β€ !F, π΅2β§'
then:
morph: 'π * !t'
- name: Mphi
description: 'π(Ξ¦.Ο * t) βΏ π(e * t) if Ξ¦ β¦ β¦π΅1, Ο β¦ e, π΅2β§'
match: 'Ξ¦.π * !t'
where:
- meta: π
function: global
args:
- π
then:
morph: 'π * !t'
- name: Mstuck
description: 'π(e) βΏ β₯ otherwise'
match: π
then: β₯