Theorems |
DIST_ADD2 : !m n p q. dist (m + n) (p + q) <= dist m p + dist n qDIST_ADD2_REV : !m n p q. dist m p <= dist (m + n) (p + q) + dist n qDIST_ADDBOUND : !m n. dist m n <= m + nDIST_CASES : !m n p. dist m n = p <=> m + p = n \/ n + p = mDIST_DIST_SUC : !m n. dist (dist m n) (dist m (n + 1)) = 1DIST_ELIM_THM : !p x y. p (dist x y) <=> (!d. (x = y + d ==> p d) /\ (y = x + d ==> p d))DIST_EQ_0 : !m n. dist m n = 0 <=> m = nDIST_LADD : !m n p. dist (m + n) (m + p) = dist n pDIST_LADD_0 : !m n. dist (m + n) m = nDIST_LE_CASES : !m n p. dist m n <= p <=> m <= n + p /\ n <= m + pDIST_LMUL : !m n p. m * dist n p = dist (m * n) (m * p)DIST_LZERO : !n. dist 0 n = nDIST_RADD : !p m n. dist (m + p) (n + p) = dist m nDIST_RADD_0 : !m n. dist m (m + n) = nDIST_REFL : !n. dist n n = 0DIST_RMUL : !p m n. dist m n * p = dist (m * p) (n * p)DIST_RZERO : !n. dist n 0 = nDIST_SUC : !m n. dist (SUC m) (SUC n) = dist m nDIST_SYM : !m n. dist m n = dist n mDIST_TRIANGLE : !m n p. dist m p <= dist m n + dist n pDIST_TRIANGLES_LE : !m n p q r s. dist m n <= r /\ dist p q <= s ==> dist m p <= dist n q + r + sDIST_TRIANGLE_LE : !m n p q. dist m n + dist n p <= q ==> dist m p <= q |