packages feed

phino-0.0.82: resources/dataization.yaml

# SPDX-FileCopyrightText: Copyright (c) 2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# Dataization 𝔻 β€” applied top-to-bottom, first matching clause wins. The input
# is always a normal form: a non-NF expression matches no clause.

- name: delta
  description: '𝔻(⟦𝐡1, Ξ” ‍ Ξ΄, 𝐡2⟧) ⟿ Ξ΄'
  match: ⟦𝐡1, Ξ” ‍ Ξ΄, 𝐡2⟧
  then: Ξ΄

- name: box
  description: '𝔻(⟦𝐡1, Ο† ↦ e, 𝐡2⟧) ⟿ 𝔻(𝒩(π’ž(e))) if [Ξ”, Ξ»] ∩ (𝐡1 βˆͺ 𝐡2) = βˆ…'
  match: ⟦𝐡1, Ο† ↦ 𝑒, 𝐡2⟧
  where:
    - meta: 𝑒1
      function: contextualize
      args:
        - 𝑒
        - ⟦𝐡1, Ο† ↦ 𝑒, 𝐡2⟧
  when:
    disjoint:
      - [Ξ”, Ξ»]
      - [𝐡1, 𝐡2]
  then:
    dataize:
      normalize: 𝑒1

- name: fire
  description: '𝔻(⟦𝐡1, Ξ» ‍ F, 𝐡2⟧) ⟿ 𝔻(𝒩(𝔼(⟦𝐡1, Ξ» ‍ F, 𝐡2⟧)))'
  match: ⟦𝐡1, λ ‍ !F, 𝐡2⟧
  where:
    - meta: 𝑒
      function: lambda
      args:
        - ⟦𝐡1, λ ‍ !F, 𝐡2⟧
  then:
    dataize:
      normalize: 𝑒

- name: none
  description: '𝔻(⟦𝐡⟧) ⟿ nothing'
  match: ⟦𝐡⟧
  then: nothing

- name: bott
  description: '𝔻(βŠ₯) ⟿ nothing'
  match: βŠ₯
  then: nothing

- name: norm
  description: '𝔻(n) ⟿ 𝔻(𝕄(n)) otherwise'
  match: 𝑛
  then:
    dataize:
      morph: 𝑛