Theorems |
ADD1 : !m. SUC m = m + 1ADD_0 : !m. m + 0 = mADD_ASSOC : !m n p. m + n + p = (m + n) + pADD_EQ_0 : !m n. m + n = 0 <=> m = 0 /\ n = 0ADD_SUC : !m n. m + SUC n = SUC (m + n)ADD_SYM : !m n. m + n = n + mBOUNDS_IGNORE : !p q. (?b. !i. p i <= q i + b) <=> (?b n. !i. n <= i ==> p i <= q i + b)EQ_ADD_LCANCEL : !m n p. m + n = m + p <=> n = pEQ_ADD_LCANCEL_0 : !m n. m + n = m <=> n = 0EQ_ADD_RCANCEL : !p m n. m + p = n + p <=> m = nEQ_ADD_RCANCEL_0 : !m n. m + n = n <=> m = 0LET_ADD2 : !m n p q. m <= p /\ n < q ==> m + n < p + qLE_ADD : !m n. m <= m + nLE_ADD2 : !m n p q. m <= p /\ n <= q ==> m + n <= p + qLE_ADDR : !m n. n <= m + nLE_ADD_LCANCEL : !m n p. m + n <= m + p <=> n <= pLE_ADD_LCANCEL_0 : !m n. m + n <= m <=> n = 0LE_ADD_RCANCEL : !m n p. n + m <= p + m <=> n <= pLE_ADD_RCANCEL_0 : !m n. n + m <= m <=> n = 0LE_EXISTS : !m n. m <= n <=> (?d. n = m + d)LE_INDUCT : !p. (!m. p m m) /\ (!m n. m <= n /\ p m n ==> p m (SUC n))
==> (!m n. m <= n ==> p m n)LTE_ADD2 : !m n p q. m < p /\ n <= q ==> m + n < p + qLT_ADD : !m n. m < m + n <=> 0 < nLT_ADD2 : !m n p q. m < p /\ n < q ==> m + n < p + qLT_ADDR : !m n. n < m + n <=> 0 < mLT_ADD_LCANCEL : !m n p. m + n < m + p <=> n < pLT_ADD_LCANCEL_0 : !m n. ~(m + n < m)LT_ADD_RCANCEL : !m n p. n + m < p + m <=> n < pLT_ADD_RCANCEL_0 : !m n. ~(n + m < m)LT_EXISTS : !m n. m < n <=> (?d. n = m + SUC d)MAX_ADD_LCANCEL : !m n p. MAX (m + n) (m + p) = m + MAX n pMAX_ADD_RCANCEL : !m n p. MAX (n + m) (p + m) = MAX n p + mMIN_ADD_LCANCEL : !m n p. MIN (m + n) (m + p) = m + MIN n pMIN_ADD_RCANCEL : !m n p. MIN (n + m) (p + m) = MIN n p + m |