Structure intExtensionTheory


Source File Identifier index Theory binding index

signature intExtensionTheory =
sig
  type thm = Thm.thm
  
  (*  Definitions  *)
    val SGN_def : thm
  
  (*  Theorems  *)
    val ABS_EQ_MUL_SGN : thm
    val ABS_SGN : thm
    val INT_ABS_CALCULATE_0 : thm
    val INT_ABS_CALCULATE_NEG : thm
    val INT_ABS_CALCULATE_POS : thm
    val INT_ABS_NOT0POS : thm
    val INT_EQ_RMUL_EXP : thm
    val INT_GT0_IMP_NOT0 : thm
    val INT_GT_RMUL_EXP : thm
    val INT_LT_ADD_NEG : thm
    val INT_LT_RMUL_EXP : thm
    val INT_MUL_POS_SIGN : thm
    val INT_NE_IMP_LTGT : thm
    val INT_NOT0_MUL : thm
    val INT_NOT0_SGNNOT0 : thm
    val INT_NOTGT_IMP_EQLT : thm
    val INT_NOTLTEQ_GT : thm
    val INT_NOTPOS0_NEG : thm
    val INT_SGN_CASES : thm
    val INT_SGN_CLAUSES : thm
    val INT_SGN_MUL2 : thm
    val INT_SGN_NOTPOSNEG : thm
    val INT_SGN_TOTAL : thm
    val LESS_IMP_NOT_0 : thm
    val MUL_ABS_SGN : thm
    val SGN_MUL_Num : thm
  
  val intExtension_grammars : type_grammar.grammar * term_grammar.grammar
(*
   [EVAL_numRing] Parent theory of "intExtension"
   
   [Omega] Parent theory of "intExtension"
   
   [int_arith] Parent theory of "intExtension"
   
   [integerRing] Parent theory of "intExtension"
   
   [SGN_def]  Definition
      
      ⊢ ∀x. SGN x = if x = 0 then 0 else if x < 0 then -1 else 1
   
   [ABS_EQ_MUL_SGN]  Theorem
      
      ⊢ ABS x = x * SGN x
   
   [ABS_SGN]  Theorem
      
      ⊢ ABS (SGN i) = if i = 0 then 0 else 1
   
   [INT_ABS_CALCULATE_0]  Theorem
      
      ⊢ ABS 0 = 0
   
   [INT_ABS_CALCULATE_NEG]  Theorem
      
      ⊢ ∀a. a < 0 ⇒ ABS a = -a
   
   [INT_ABS_CALCULATE_POS]  Theorem
      
      ⊢ ∀a. 0 < a ⇒ ABS a = a
   
   [INT_ABS_NOT0POS]  Theorem
      
      ⊢ ∀p. p ≠ 0 ⇒ 0 < ABS p
   
   [INT_EQ_RMUL_EXP]  Theorem
      
      ⊢ ∀a b n. 0 < n ⇒ (a = b ⇔ a * n = b * n)
   
   [INT_GT0_IMP_NOT0]  Theorem
      
      ⊢ ∀a. 0 < a ⇒ a ≠ 0
   
   [INT_GT_RMUL_EXP]  Theorem
      
      ⊢ ∀a b n. 0 < n ⇒ (a > b ⇔ a * n > b * n)
   
   [INT_LT_ADD_NEG]  Theorem
      
      ⊢ ∀x y. x < 0 ∧ y < 0 ⇒ x + y < 0
   
   [INT_LT_RMUL_EXP]  Theorem
      
      ⊢ ∀a b n. 0 < n ⇒ (a < b ⇔ a * n < b * n)
   
   [INT_MUL_POS_SIGN]  Theorem
      
      ⊢ ∀a b. 0 < a ⇒ 0 < b ⇒ 0 < a * b
   
   [INT_NE_IMP_LTGT]  Theorem
      
      ⊢ ∀x. x ≠ 0 ⇔ 0 < x ∨ x < 0
   
   [INT_NOT0_MUL]  Theorem
      
      ⊢ ∀a b. a ≠ 0 ⇒ b ≠ 0 ⇒ a * b ≠ 0
   
   [INT_NOT0_SGNNOT0]  Theorem
      
      ⊢ ∀x. x ≠ 0 ⇒ SGN x ≠ 0
   
   [INT_NOTGT_IMP_EQLT]  Theorem
      
      ⊢ ∀n. ¬(n < 0) ⇔ 0 = n ∨ 0 < n
   
   [INT_NOTLTEQ_GT]  Theorem
      
      ⊢ ∀a. ¬(a < 0) ⇒ a ≠ 0 ⇒ 0 < a
   
   [INT_NOTPOS0_NEG]  Theorem
      
      ⊢ ∀a. ¬(0 < a) ⇒ a ≠ 0 ⇒ 0 < -a
   
   [INT_SGN_CASES]  Theorem
      
      ⊢ ∀a P.
          (SGN a = -1 ∧ a < 0 ⇒ P) ∧ (SGN a = 0 ∧ a = 0 ⇒ P) ∧
          (SGN a = 1 ∧ 0 < a ⇒ P) ⇒
          P
   
   [INT_SGN_CLAUSES]  Theorem
      
      ⊢ ∀x. (SGN x = -1 ⇔ x < 0) ∧ (SGN x = 0 ⇔ x = 0) ∧
            (SGN x = 1 ⇔ 0 < x)
   
   [INT_SGN_MUL2]  Theorem
      
      ⊢ ∀x y. SGN (x * y) = SGN x * SGN y
   
   [INT_SGN_NOTPOSNEG]  Theorem
      
      ⊢ ∀x. SGN x ≠ -1 ⇒ SGN x ≠ 1 ⇒ SGN x = 0
   
   [INT_SGN_TOTAL]  Theorem
      
      ⊢ ∀a. SGN a = -1 ∨ SGN a = 0 ∨ SGN a = 1
   
   [LESS_IMP_NOT_0]  Theorem
      
      ⊢ ∀n. 0 < n ⇒ n ≠ 0
   
   [MUL_ABS_SGN]  Theorem
      
      ⊢ ABS x * SGN x = x
   
   [SGN_MUL_Num]  Theorem
      
      ⊢ SGN i * &Num i = i
   
   
*)
end


Source File Identifier index Theory binding index

HOL 4, Trindemossen-1