- SUC_NOT
-
|- !n. ~(0 = SUC n)
- ADD_0
-
|- !m. m + 0 = m
- ADD_SUC
-
|- !m n. SUC (m + n) = m + SUC n
- ADD_CLAUSES
-
|- (0 + m = m) /\
(m + 0 = m) /\
(SUC m + n = SUC (m + n)) /\
(m + SUC n = SUC (m + n))
- ADD_SYM
-
|- !m n. m + n = n + m
- num_CASES
-
|- !m. (m = 0) \/ (?n. m = SUC n)
- LESS_MONO_REV
-
|- !m n. SUC m < SUC n ==> m < n
- LESS_MONO_EQ
-
|- !m n. SUC m < SUC n = m < n
- SUC_SUB1
-
|- !m. SUC m - 1 = m
- PRE_SUB1
-
|- !m. PRE m = m - 1
- LESS_ADD
-
|- !m n. n < m ==> (?p. p + n = m)
- SUB_0
-
|- !m. (0 - m = 0) /\ (m - 0 = m)
- LESS_TRANS
-
|- !m n p. m < n /\ n < p ==> m < p
- ADD1
-
|- !m. SUC m = m + 1
- LESS_ANTISYM
-
|- !m n. ~(m < n /\ n < m)
- LESS_LESS_SUC
-
|- !m n. ~(m < n /\ n < SUC m)
- FUN_EQ_LEMMA
-
|- !f x1 x2. f x1 /\ ~(f x2) ==> ~(x1 = x2)
- LESS_OR
-
|- !m n. m < n ==> SUC m <= n
- OR_LESS
-
|- !m n. SUC m <= n ==> m < n
- LESS_EQ
-
|- !m n. m < n = SUC m <= n
- LESS_SUC_EQ_COR
-
|- !m n. m < n /\ ~(SUC m = n) ==> SUC m < n
- LESS_NOT_SUC
-
|- !m n. m < n /\ ~(n = SUC m) ==> SUC m < n
- LESS_0_CASES
-
|- !m. (0 = m) \/ 0 < m
- LESS_CASES_IMP
-
|- !m n. ~(m < n) /\ ~(m = n) ==> n < m
- LESS_CASES
-
|- !m n. m < n \/ n <= m
- ADD_INV_0
-
|- !m n. (m + n = m) ==> (n = 0)
- LESS_EQ_ADD
-
|- !m n. m <= m + n
- LESS_EQ_SUC_REFL
-
|- !m. m <= SUC m
- LESS_ADD_NONZERO
-
|- !m n. ~(n = 0) ==> m < m + n
- LESS_EQ_ANTISYM
-
|- !m n. ~(m < n /\ n <= m)
- NOT_LESS
-
|- !m n. ~(m < n) = n <= m
- SUB_EQ_0
-
|- !m n. (m - n = 0) = m <= n
- ADD_ASSOC
-
|- !m n p. m + n + p = (m + n) + p
- MULT_0
-
|- !m. m * 0 = 0
- MULT_SUC
-
|- !m n. m * SUC n = m + m * n
- MULT_LEFT_1
-
|- !m. 1 * m = m
- MULT_RIGHT_1
-
|- !m. m * 1 = m
- MULT_CLAUSES
-
|- !m n.
(0 * m = 0) /\
(m * 0 = 0) /\
(1 * m = m) /\
(m * 1 = m) /\
(SUC m * n = m * n + n) /\
(m * SUC n = m + m * n)
- MULT_SYM
-
|- !m n. m * n = n * m
- RIGHT_ADD_DISTRIB
-
|- !m n p. (m + n) * p = m * p + n * p
- LEFT_ADD_DISTRIB
-
|- !m n p. p * (m + n) = p * m + p * n
- MULT_ASSOC
-
|- !m n p. m * n * p = (m * n) * p
- SUB_ADD
-
|- !m n. n <= m ==> ((m - n) + n = m)
- PRE_SUB
-
|- !m n. PRE (m - n) = PRE m - n
- ADD_EQ_0
-
|- !m n. (m + n = 0) = (m = 0) /\ (n = 0)
- ADD_INV_0_EQ
-
|- !m n. (m + n = m) = n = 0
- PRE_SUC_EQ
-
|- !m n. 0 < n ==> ((m = PRE n) = SUC m = n)
- INV_PRE_EQ
-
|- !m n. 0 < m /\ 0 < n ==> ((PRE m = PRE n) = m = n)
- LESS_SUC_NOT
-
|- !m n. m < n ==> ~(n < SUC m)
- ADD_EQ_SUB
-
|- !m n p. n <= p ==> ((m + n = p) = m = p - n)
- LESS_MONO_ADD
-
|- !m n p. m < n ==> m + p < n + p
- LESS_MONO_ADD_INV
-
|- !m n p. m + p < n + p ==> m < n
- LESS_MONO_ADD_EQ
-
|- !m n p. m + p < n + p = m < n
- EQ_MONO_ADD_EQ
-
|- !m n p. (m + p = n + p) = m = n
- LESS_EQ_MONO_ADD_EQ
-
|- !m n p. m + p <= n + p = m <= n
- LESS_EQ_TRANS
-
|- !m n p. m <= n /\ n <= p ==> m <= p
- LESS_EQ_LESS_EQ_MONO
-
|- !m n p q. m <= p /\ n <= q ==> m + n <= p + q
- LESS_EQ_REFL
-
|- !m. m <= m
- LESS_IMP_LESS_OR_EQ
-
|- !m n. m < n ==> m <= n
- LESS_MONO_MULT
-
|- !m n p. m <= n ==> m * p <= n * p
- RIGHT_SUB_DISTRIB
-
|- !m n p. (m - n) * p = m * p - n * p
- LEFT_SUB_DISTRIB
-
|- !m n p. p * (m - n) = p * m - p * n
- LESS_ADD_1
-
|- !m n. n < m ==> (?p. m = n + p + 1)
- EXP_ADD
-
|- !p q n. n EXP (p + q) = n EXP p * n EXP q
- NOT_ODD_EQ_EVEN
-
|- !n m. ~(SUC (n + n) = m + m)
- MULT_SUC_EQ
-
|- !p m n. (n * SUC p = m * SUC p) = n = m
- MULT_EXP_MONO
-
|- !p q n m. (n * SUC q EXP p = m * SUC q EXP p) = n = m
- LESS_EQUAL_ANTISYM
-
|- !n m. n <= m /\ m <= n ==> (n = m)
- LESS_ADD_SUC
-
|- !m n. m < m + SUC n
- ZERO_LESS_EQ
-
|- !n. 0 <= n
- LESS_EQ_MONO
-
|- !n m. SUC n <= SUC m = n <= m
- LESS_OR_EQ_ADD
-
|- !n m. n < m \/ (?p. n = p + m)
- WOP
-
|- !P. (?n. P n) ==> (?n. P n /\ (!m. m < n ==> ~(P m)))
- GEN_INDUCTION
-
|- !P. P 0 /\ (!n. (!m. m < n ==> P m) ==> P n) ==> (!n. P n)
- DA
-
|- !k n. 0 < n ==> (?r q. (k = q * n + r) /\ r < n)
- MOD_ONE
-
|- !k. k MOD SUC 0 = 0
- DIV_LESS_EQ
-
|- !n. 0 < n ==> (!k. k DIV n <= k)
- DIV_UNIQUE
-
|- !n k q. (?r. (k = q * n + r) /\ r < n) ==> (k DIV n = q)
- MOD_UNIQUE
-
|- !n k r. (?q. (k = q * n + r) /\ r < n) ==> (k MOD n = r)
- DIV_MULT
-
|- !n r. r < n ==> (!q. (q * n + r) DIV n = q)
- LESS_MOD
-
|- !n k. k < n ==> (k MOD n = k)
- MOD_EQ_0
-
|- !n. 0 < n ==> (!k. (k * n) MOD n = 0)
- ZERO_MOD
-
|- !n. 0 < n ==> (0 MOD n = 0)
- ZERO_DIV
-
|- !n. 0 < n ==> (0 DIV n = 0)
- MOD_MULT
-
|- !n r. r < n ==> (!q. (q * n + r) MOD n = r)
- MOD_TIMES
-
|- !n. 0 < n ==> (!q r. (q * n + r) MOD n = r MOD n)
- MOD_PLUS
-
|- !n. 0 < n ==> (!j k. (j MOD n + k MOD n) MOD n = (j + k) MOD n)
- MOD_MOD
-
|- !n. 0 < n ==> (!k. (k MOD n) MOD n = k MOD n)
- SUB_MONO_EQ
-
|- !n m. SUC n - SUC m = n - m
- SUB_PLUS
-
|- !a b c. a - (b + c) = (a - b) - c
- INV_PRE_LESS
-
|- !m. 0 < m ==> (!n. PRE m < PRE n = m < n)
- INV_PRE_LESS_EQ
-
|- !n. 0 < n ==> (!m. PRE m <= PRE n = m <= n)
- SUB_LESS_EQ
-
|- !n m. n - m <= n
- SUB_EQ_EQ_0
-
|- !m n. (m - n = m) = (m = 0) \/ (n = 0)
- SUB_LESS_0
-
|- !n m. m < n = 0 < n - m
- SUB_LESS_OR
-
|- !m n. n < m ==> n <= m - 1
- LESS_SUB_ADD_LESS
-
|- !n m i. i < n - m ==> i + m < n
- TIMES2
-
|- !n. 2 * n = n + n
- LESS_MULT_MONO
-
|- !m i n. SUC n * m < SUC n * i = m < i
- MULT_MONO_EQ
-
|- !m i n. (SUC n * m = SUC n * i) = m = i
- ADD_SUB
-
|- !a c. (a + c) - c = a
- LESS_EQ_ADD_SUB
-
|- !c b. c <= b ==> (!a. (a + b) - c = a + (b - c))
- SUB_EQUAL_0
-
|- !c. c - c = 0
- LESS_EQ_SUB_LESS
-
|- !a b. b <= a ==> (!c. a - b < c = a < b + c)
- NOT_SUC_LESS_EQ
-
|- !n m. ~(SUC n <= m) = m <= n
- SUB_SUB
-
|- !b c. c <= b ==> (!a. a - b - c = (a + c) - b)
- LESS_IMP_LESS_ADD
-
|- !n m. n < m ==> (!p. n < m + p)
- LESS_EQ_IMP_LESS_SUC
-
|- !n m. n <= m ==> n < SUC m
- SUB_LESS_EQ_ADD
-
|- !m p. m <= p ==> (!n. p - m <= n = p <= m + n)
- SUB_CANCEL
-
|- !p n m. n <= p /\ m <= p ==> ((p - n = p - m) = n = m)
- CANCEL_SUB
-
|- !p n m. p <= n /\ p <= m ==> ((n - p = m - p) = n = m)
- NOT_EXP_0
-
|- !m n. ~(SUC n EXP m = 0)
- ZERO_LESS_EXP
-
|- !m n. 0 < SUC n EXP m
- ODD_OR_EVEN
-
|- !n. ?m. (n = SUC (SUC 0) * m) \/ (n = SUC (SUC 0) * m + 1)
- LESS_EXP_SUC_MONO
-
|- !n m. SUC (SUC m) EXP n < SUC (SUC m) EXP SUC n
- LESS_LESS_CASES
-
|- !m n. (m = n) \/ m < n \/ n < m
- GREATER_EQ
-
|- !n m. n >= m = m <= n
- LESS_EQ_CASES
-
|- !m n. m <= n \/ n <= m
- LESS_EQUAL_ADD
-
|- !m n. m <= n ==> (?p. n = m + p)
- LESS_EQ_EXISTS
-
|- !m n. m <= n = (?p. n = m + p)
- NOT_LESS_EQUAL
-
|- !m n. ~(m <= n) = n < m
- LESS_EQ_0
-
|- !n. n <= 0 = n = 0
- MULT_EQ_0
-
|- !m n. (m * n = 0) = (m = 0) \/ (n = 0)
- LESS_MULT2
-
|- !m n. 0 < m /\ 0 < n ==> 0 < m * n
- LESS_EQ_LESS_TRANS
-
|- !m n p. m <= n /\ n < p ==> m < p
- LESS_LESS_EQ_TRANS
-
|- !m n p. m < n /\ n <= p ==> m < p
- FACT_LESS
-
|- !n. 0 < FACT n
- EVEN_ODD
-
|- !n. EVEN n = ~(ODD n)
- ODD_EVEN
-
|- !n. ODD n = ~(EVEN n)
- EVEN_OR_ODD
-
|- !n. EVEN n \/ ODD n
- EVEN_AND_ODD
-
|- !n. ~(EVEN n /\ ODD n)
- EVEN_ADD
-
|- !m n. EVEN (m + n) = EVEN m = EVEN n
- EVEN_MULT
-
|- !m n. EVEN (m * n) = EVEN m \/ EVEN n
- ODD_ADD
-
|- !m n. ODD (m + n) = ~(ODD m = ODD n)
- ODD_MULT
-
|- !m n. ODD (m * n) = ODD m /\ ODD n
- EVEN_DOUBLE
-
|- !n. EVEN (2 * n)
- ODD_DOUBLE
-
|- !n. ODD (SUC (2 * n))
- EVEN_ODD_EXISTS
-
|- !n. (EVEN n ==> (?m. n = 2 * m)) /\ (ODD n ==> (?m. n = SUC (2 * m)))
- EVEN_EXISTS
-
|- !n. EVEN n = (?m. n = 2 * m)
- ODD_EXISTS
-
|- !n. ODD n = (?m. n = SUC (2 * m))
- EQ_LESS_EQ
-
|- !m n. (m = n) = m <= n /\ n <= m
- ADD_MONO_LESS_EQ
-
|- !m n p. m + n <= m + p = n <= p
- NOT_SUC_LESS_EQ_0
-
|- !n. ~(SUC n <= 0)
- NOT_LEQ
-
|- !m n. ~(m <= n) = SUC n <= m
- NOT_NUM_EQ
-
|- !m n. ~(m = n) = SUC m <= n \/ SUC n <= m
- NOT_GREATER
-
|- !m n. ~(m > n) = m <= n
- NOT_GREATER_EQ
-
|- !m n. ~(m >= n) = SUC m <= n
- SUC_ONE_ADD
-
|- !n. SUC n = 1 + n
- SUC_ADD_SYM
-
|- !m n. SUC (m + n) = SUC n + m
- NOT_SUC_ADD_LESS_EQ
-
|- !m n. ~(SUC (m + n) <= m)
- MULT_LESS_EQ_SUC
-
|- !m n p. m <= n = SUC p * m <= SUC p * n
- SUB_LEFT_ADD
-
|- !m n p. m + (n - p) = ((n <= p) => m | ((m + n) - p))
- SUB_RIGHT_ADD
-
|- !m n p. (m - n) + p = ((m <= n) => p | ((m + p) - n))
- SUB_LEFT_SUB
-
|- !m n p. m - n - p = ((n <= p) => m | ((m + p) - n))
- SUB_RIGHT_SUB
-
|- !m n p. (m - n) - p = m - (n + p)
- SUB_LEFT_SUC
-
|- !m n. SUC (m - n) = ((m <= n) => (SUC 0) | (SUC m - n))
- SUB_LEFT_LESS_EQ
-
|- !m n p. m <= n - p = m + p <= n \/ m <= 0
- SUB_RIGHT_LESS_EQ
-
|- !m n p. m - n <= p = m <= n + p
- SUB_LEFT_LESS
-
|- !m n p. m < n - p = m + p < n
- SUB_RIGHT_LESS
-
|- !m n p. m - n < p = m < n + p /\ 0 < p
- SUB_LEFT_GREATER_EQ
-
|- !m n p. m >= n - p = m + p >= n
- SUB_RIGHT_GREATER_EQ
-
|- !m n p. m - n >= p = m >= n + p \/ 0 >= p
- SUB_LEFT_GREATER
-
|- !m n p. m > n - p = m + p > n /\ m > 0
- SUB_RIGHT_GREATER
-
|- !m n p. m - n > p = m > n + p
- SUB_LEFT_EQ
-
|- !m n p. (m = n - p) = (m + p = n) \/ m <= 0 /\ n <= p
- SUB_RIGHT_EQ
-
|- !m n p. (m - n = p) = (m = n + p) \/ m <= n /\ p <= 0