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