| Type | Arity |
|---|---|
| num | 0 |
| Constant | Type |
| 0 | :num |
| ABS_num | :ind -> num |
| IS_NUM_REP | :ind -> bool |
| REP_num | :num -> ind |
| SUC | :num -> num |
| SUC_REP | :ind -> ind |
| ZERO_REP | :ind |
|- ONE_ONE SUC_REP ∧ ¬ONTO SUC_REP
|- ∀y. ZERO_REP ≠ SUC_REP y
|- ∀m. IS_NUM_REP m ⇔ ∀P. P ZERO_REP ∧ (∀n. P n ⇒ P (SUC_REP n)) ⇒ P m
|- ∃rep. TYPE_DEFINITION IS_NUM_REP rep
|- (∀a. ABS_num (REP_num a) = a) ∧ ∀r. IS_NUM_REP r ⇔ (REP_num (ABS_num r) = r)
|- 0 = ABS_num ZERO_REP
|- ∀m. SUC m = ABS_num (SUC_REP (REP_num m))
|- ∀n. SUC n ≠ 0
|- ∀m n. (SUC m = SUC n) ⇒ (m = n)
|- ∀P. P 0 ∧ (∀n. P n ⇒ P (SUC n)) ⇒ ∀n. P n