Theory "intExtension"

Parents     numRing   integerRing   Omega   int_arith

Signature

Constant Type
SGN :int -> int

Definitions

SGN_def
|- ∀x. SGN x = if x = 0 then 0 else if x < 0 then -1 else 1


Theorems

INT_SGN_TOTAL
|- ∀a. (SGN a = -1) ∨ (SGN a = 0) ∨ (SGN a = 1)
INT_SGN_MUL2
|- ∀x y. SGN (x * y) = SGN x * SGN y
INT_SGN_MUL
|- ∀x1 x2 y1 y2. (SGN x1 = y1) ⇒ (SGN x2 = y2) ⇒ (SGN (x1 * x2) = y1 * y2)
INT_SGN_CLAUSES
|- ∀x.
     ((SGN x = -1) ⇔ x < 0) ∧ ((SGN x = 0) ⇔ (x = 0)) ∧ ((SGN x = 1) ⇔ x > 0)
INT_NOT0_SGNNOT0
|- ∀x. x ≠ 0 ⇒ SGN x ≠ 0
INT_ABS_CALCULATE_POS
|- ∀a. 0 < a ⇒ (ABS a = a)
INT_ABS_CALCULATE_0
|- ABS 0 = 0
INT_ABS_CALCULATE_NEG
|- ∀a. a < 0 ⇒ (ABS a = -a)
INT_GT_RMUL_EXP
|- ∀a b n. 0 < n ⇒ (a > b ⇔ a * n > b * n)
INT_LT_RMUL_EXP
|- ∀a b n. 0 < n ⇒ (a < b ⇔ a * n < b * n)
INT_EQ_RMUL_EXP
|- ∀a b n. 0 < n ⇒ ((a = b) ⇔ (a * n = b * n))
LESS_IMP_NOT_0
|- ∀n. 0 < n ⇒ n ≠ 0
INT_MUL_POS_SIGN
|- ∀a b. 0 < a ⇒ 0 < b ⇒ 0 < a * b
INT_NE_IMP_LTGT
|- ∀x. x ≠ 0 ⇔ 0 < x ∨ x < 0
INT_NOTGT_IMP_EQLT
|- ∀n. ¬(n < 0) ⇔ (0 = n) ∨ 0 < n
INT_NO_ZERODIV
|- ∀x y. (x = 0) ∨ (y = 0) ⇔ (x * y = 0)
INT_NOTPOS0_NEG
|- ∀a. ¬(0 < a) ⇒ a ≠ 0 ⇒ 0 < -a
INT_NOT0_MUL
|- ∀a b. a ≠ 0 ⇒ b ≠ 0 ⇒ a * b ≠ 0
INT_GT0_IMP_NOT0
|- ∀a. 0 < a ⇒ a ≠ 0
INT_NOTLTEQ_GT
|- ∀a. ¬(a < 0) ⇒ a ≠ 0 ⇒ 0 < a
INT_ABS_NOT0POS
|- ∀x. x ≠ 0 ⇒ 0 < ABS x
INT_SGN_NOTPOSNEG
|- ∀x. SGN x ≠ -1 ⇒ SGN x ≠ 1 ⇒ (SGN x = 0)
INT_SGN_CASES
|- ∀a P. ((SGN a = -1) ⇒ P) ∧ ((SGN a = 0) ⇒ P) ∧ ((SGN a = 1) ⇒ P) ⇒ P
INT_LT_ADD_NEG
|- ∀x y. x < 0 ∧ y < 0 ⇒ x + y < 0