ifᵈₑₚ / simple_if / IF..FI \(\mathsf{if}_{\mathsf{dep}} \; / \; \mathsf{if}\) — Dependent Conditional Branching (ifᵈₑₚ) & Simple Conditional
Eliminates a Boolean condition b : Bool into a dependent type family Tₑ : Bool → Type (Entry DefDependentConditional (3.24)), where the true branch has type Tₑ(⊤) and the false branch has type Tₑ(⊥).
| Field | Mathematical & Kernel Specification (MKTD1 / MKTD2) |
|---|---|
| Symbol |
ifᵈₑₚ / simple_if / IF..FI
\(\mathsf{if}_{\mathsf{dep}} \; / \; \mathsf{if}\)
|
| Category | Conditionals & Dependent Elimination |
| SML AST Constructor | EIfDep / ifDep_axm_entry [Dependent Conditional, foundations.ML / entries.ML:DefDependentConditional (3.24)] |
| Constructor Arguments | 1. Type family Tₑ : Bool → Type; 2. Condition b : Bool; 3. True branch t₁ : ⟦Tₑ(⊤)⟧; 4. False branch t₂ : ⟦Tₑ(⊥)⟧ |
| Metatype / Signature | ∀(Tₑ : Bool → Type). ∀(b : Bool). Tₑ(⊤) → Tₑ(⊥) → Tₑ(b) |
| Binder Status | No — Dependent Conditional Functional Symbol |
| Defining Kernel Entries (ML Labels) | See Related Symbols & Kernel Entries below. |
| LaTeX Form | \mathsf{if}_{\mathsf{dep}} \; / \; \mathsf{if} |
| How to Understand It | Notation & Semantics of
|
| Canonical Law / Usage | (ifᵈₑₚ(Tₑ, ⊤, t₁, t₂) = t₁) ∧ (ifᵈₑₚ(Tₑ, ⊥, t₁, t₂) = t₂) |
| Related Symbols & Kernel Entries |