- not_less
-
|- ~(x < y) = y < x + 1
- elim_eq
-
|- (x = y) = x < y + 1 /\ y < x + 1
- less_to_leq_samel
-
|- !x y. x < y = x <= y + ~1
- less_to_leq_samer
-
|- !x y. x < y = x + 1 <= y
- lt_move_all_right
-
|- !x y. x < y = 0 < y + ~x
- lt_move_all_left
-
|- !x y. x < y = x + ~y < 0
- lt_move_left_left
-
|- !x y z. x < y + z = x + ~y < z
- lt_move_left_right
-
|- !x y z. x + y < z = y < z + ~x
- le_move_right_left
-
|- !x y z. x <= y + z = x + ~z <= y
- le_move_all_right
-
|- !x y. x <= y = 0 <= y + ~x
- eq_move_all_right
-
|- !x y. (x = y) = (0 = y + ~x)
- eq_move_all_left
-
|- !x y. (x = y) = (x + ~y = 0)
- eq_move_left_left
-
|- !x y z. (x = y + z) = (x + ~y = z)
- eq_move_left_right
-
|- !x y z. (x + y = z) = (y = z + ~x)
- eq_move_right_left
-
|- !x y z. (x = y + z) = (x + ~z = y)
- lcm_eliminate
-
|- !P c. (?x. P (c * x)) = ?x. P x /\ c int_divides x
- lt_justify_multiplication
-
|- !n x y. 0 < n ==> (x < y = n * x < n * y)
- eq_justify_multiplication
-
|- !n x y. 0 < n ==> ((x = y) = (n * x = n * y))
- justify_divides
-
|- !n x y. 0 < n ==> (x int_divides y = n * x int_divides n * y)
- justify_divides2
-
|- !n c x y.
n * x int_divides n * y + c =
n * x int_divides n * y + c /\ n int_divides c
- justify_divides3
-
|- !n x c. n int_divides n * x + c = n int_divides c
- INT_SUB_SUB3
-
|- !x y z. x - (y - z) = x + z - y
- move_sub
-
|- !c b a. a - c + b = a + b - c
- can_get_small
-
|- !x y d. 0 < d ==> ?c. 0 < c /\ y - c * d < x
- can_get_big
-
|- !x y d. 0 < d ==> ?c. 0 < c /\ x < y + c * d
- positive_product_implication
-
|- !c d. 0 < c /\ 0 < d ==> 0 < c * d
- restricted_quantification_simp
-
|- !low high x.
low < x /\ x <= high =
low < high /\ ((x = high) \/ low < x /\ x <= high - 1)
- top_and_lessers
-
|- !P d x0. (!x. P x ==> P (x - d)) /\ P x0 ==> !c. 0 < c ==> P (x0 - c * d)
- bot_and_greaters
-
|- !P d x0. (!x. P x ==> P (x + d)) /\ P x0 ==> !c. 0 < c ==> P (x0 + c * d)
- in_additive_range
-
|- !low d x. low < x /\ x <= low + d = ?j. (x = low + j) /\ 0 < j /\ j <= d
- in_subtractive_range
-
|- !high d x.
high - d <= x /\ x < high = ?j. (x = high - j) /\ 0 < j /\ j <= d
- subtract_to_small
-
|- !x d. 0 < d ==> ?k. 0 < x - k * d /\ x - k * d <= d
- add_to_great
-
|- !x d. 0 < d ==> ?k. 0 < x + k * d /\ x + k * d <= d
- INT_LT_ADD_NUMERAL
-
|- !x y.
x < x + $& (NUMERAL (NUMERAL_BIT1 y)) /\
x < x + $& (NUMERAL (NUMERAL_BIT2 y)) /\ ~(x < x + ~$& (NUMERAL y))
- INT_NUM_FORALL
-
|- (!n. P ($& n)) = !x. 0 <= x ==> P x
- INT_NUM_EXISTS
-
|- (?n. P ($& n)) = ?x. 0 <= x /\ P x
- INT_NUM_UEXISTS
-
|- (?!n. P ($& n)) = ?!x. 0 <= x /\ P x
- INT_NUM_SUB
-
|- !n m. $& (n - m) = (if $& n < $& m then 0 else $& n - $& m)
- INT_NUM_COND
-
|- !b n m. $& (if b then n else m) = (if b then $& n else $& m)
- INT_NUM_ODD
-
|- !n. ODD n = ~(2 int_divides $& n)
- INT_NUM_EVEN
-
|- !n. EVEN n = 2 int_divides $& n
- HO_SUB_ELIM
-
|- !P a b.
P ($& (a - b)) = $& b <= $& a /\ P ($& a + ~$& b) \/ $& a < $& b /\ P 0
- CONJ_EQ_ELIM
-
|- !P v e. (v = e) /\ P v = (v = e) /\ P e
- elim_neg_ones
-
|- !x. x + ~1 + 1 = x
- elim_minus_ones
-
|- !x. x + 1 - 1 = x
- INT_NUM_DIVIDES
-
|- !n m. $& n int_divides $& m = divides n m
- INT_LINEAR_GCD
-
|- !n m. ?p q. p * $& n + q * $& m = $& (gcd n m)
- INT_DIVIDES_LRMUL
-
|- !p q r. ~(q = 0) ==> (p * q int_divides r * q = p int_divides r)
- INT_DIVIDES_RELPRIME_MUL
-
|- !p q r. (gcd p q = 1) ==> ($& p int_divides $& q * r = $& p int_divides r)
- gcdthm2
-
|- !m a x b d p q.
(d = gcd a m) /\ ($& d = p * $& a + q * $& m) /\ ~(d = 0) /\ ~(m = 0) /\
~(a = 0) ==>
($& m int_divides $& a * x + b =
$& d int_divides b /\ ?t. x = ~p * (b / $& d) + t * ($& m / $& d))
- gcd1thm
-
|- !m n p q. (p * $& m + q * $& n = 1) ==> (gcd m n = 1)
- gcd21_thm
-
|- !m a x b p q.
(p * $& a + q * $& m = 1) /\ ~(m = 0) /\ ~(a = 0) ==>
($& m int_divides $& a * x + b = ?t. x = ~p * b + t * $& m)
- elim_lt_coeffs1
-
|- !n m x. ~(m = 0) ==> ($& n < $& m * x = $& n / $& m < x)
- elim_lt_coeffs2
-
|- !n m x.
~(m = 0) ==>
($& m * x < $& n =
x < (if $& m int_divides $& n then $& n / $& m else $& n / $& m + 1))
- elim_le_coeffs
-
|- !m n x. 0 < m ==> (0 <= m * x + n = 0 <= x + n / m)
- elim_eq_coeffs
-
|- !m x y.
~(m = 0) ==> (($& m * x = y) = $& m int_divides y /\ (x = y / $& m))
- cooper_lemma_1
-
|- !m n a b u v p q x d.
(d = gcd (u * m) (a * n)) /\
($& d = p * $& u * $& m + q * $& a * $& n) /\ ~(m = 0) /\ ~(n = 0) /\
~(a = 0) /\ ~(u = 0) ==>
($& m int_divides $& a * x + b /\ $& n int_divides $& u * x + v =
$& m * $& n int_divides $& d * x + v * $& m * p + b * $& n * q /\
$& d int_divides $& a * v - $& u * b)
- bmarker_rewrites
-
|- !p q r.
(q /\ bmarker p = bmarker p /\ q) /\
(q /\ bmarker p /\ r = bmarker p /\ q /\ r) /\
((bmarker p /\ q) /\ r = bmarker p /\ q /\ r)
- NOT_INT_DIVIDES
-
|- !c d.
~(c = 0) ==>
(~(c int_divides d) =
?i. 1 <= i /\ i <= ABS c - 1 /\ c int_divides d + i)
- NOT_INT_DIVIDES_POS
-
|- !n d.
~(n = 0) ==>
(~($& n int_divides d) =
?i. (1 <= i /\ i <= $& n - 1) /\ $& n int_divides d + i)
- le_context_rwt1
-
|- 0 <= c + x ==> x <= y ==> (0 <= c + y = T)
- le_context_rwt2
-
|- 0 <= c + x ==> y < ~x ==> (0 <= ~c + y = F)
- le_context_rwt3
-
|- 0 <= c + x ==> x < y ==> ((0 = c + y) = F)
- le_context_rwt4
-
|- 0 <= c + x ==> x < ~y ==> ((0 = ~c + y) = F)
- le_context_rwt5
-
|- 0 <= c + x ==> (0 <= ~c + ~x = (0 = c + x))
- eq_context_rwt1
-
|- (0 = c + x) ==> (0 <= c + y = x <= y)
- eq_context_rwt2
-
|- (0 = c + x) ==> (0 <= ~c + y = ~x <= y)