simple_if \(\mathrm{simple\_if}\) — Polymorphic Non-Dependent Conditional Functional Symbol (simple_if, AST Constructor: EIf)
Polymorphic non-dependent conditional simple_if(Tₑ, b, t₁, t₂) returning t₁ when b = ⊤ and t₂ when b = ⊥ (Entry DefSimpleConditional (3.23)).
| Field | Mathematical & Kernel Specification (MKTD1 / MKTD2) |
|---|---|
| Symbol |
simple_if
\(\mathrm{simple\_if}\)
|
| Category | Functional Symbol (Polymorphic Conditional Operator) |
| SML AST Constructor | EIf of (UCol * 'Truth_EXP * 'a * 'a) [in datatype EXP, typetheory.ML:806] |
| Constructor Arguments | 1. Target type Tₑ : Type; 2. Condition b : Bool; 3. True branch t₁ : Tₑ; 4. False branch t₂ : Tₑ |
| Metatype / Signature | (T : Type) × Bool × T × T → T |
| Binder Status | No — 4-ary Polymorphic Functional Symbol |
| Defining Kernel Entries (ML Labels) | See Related Symbols & Kernel Entries below. |
| LaTeX Form | \mathrm{simple\_if} |
| How to Understand It | SML AST Constructor: |
| Canonical Law / Usage | (simple_if(Tₑ, ⊤, t₁, t₂) = t₁) ∧ (simple_if(Tₑ, ⊥, t₁, t₂) = t₂) |
| Related Symbols & Kernel Entries |