Structure realaxTheory


Source File Identifier index Theory binding index

signature realaxTheory =
sig
  type thm = Thm.thm
  
  (*  Definitions  *)
    val hreal_of_real : thm
    val real_0 : thm
    val real_1 : thm
    val real_ABS_def : thm
    val real_REP_def : thm
    val real_TY_DEF : thm
    val real_abs : thm
    val real_add : thm
    val real_bijections : thm
    val real_div : thm
    val real_ge : thm
    val real_gt : thm
    val real_inv : thm
    val real_lte : thm
    val real_max : thm
    val real_min : thm
    val real_mul : thm
    val real_neg : thm
    val real_of_hreal : thm
    val real_of_num : thm
    val real_pow : thm
    val real_sub : thm
  
  (*  Theorems  *)
    val REAL : thm
    val REAL_0 : thm
    val REAL_1 : thm
    val REAL_10 : thm
    val REAL_10' : thm
    val REAL_ABS_NEG : thm
    val REAL_ABS_NUM : thm
    val REAL_ADD : thm
    val REAL_ADD_AC : thm
    val REAL_ADD_ASSOC : thm
    val REAL_ADD_LDISTRIB : thm
    val REAL_ADD_LID : thm
    val REAL_ADD_LID' : thm
    val REAL_ADD_LINV : thm
    val REAL_ADD_LINV' : thm
    val REAL_ADD_RDISTRIB : thm
    val REAL_ADD_RID : thm
    val REAL_ADD_RINV : thm
    val REAL_ADD_SYM : thm
    val REAL_BIJ : thm
    val REAL_ENTIRE : thm
    val REAL_EQ_ADD_LCANCEL : thm
    val REAL_EQ_ADD_RCANCEL : thm
    val REAL_INJ : thm
    val REAL_INV_0 : thm
    val REAL_INV_0' : thm
    val REAL_ISO : thm
    val REAL_ISO_EQ : thm
    val REAL_LDISTRIB : thm
    val REAL_LE : thm
    val REAL_LET_ADD : thm
    val REAL_LET_TOTAL : thm
    val REAL_LET_TRANS : thm
    val REAL_LE_01 : thm
    val REAL_LE_ADD : thm
    val REAL_LE_ADDR : thm
    val REAL_LE_ANTISYM : thm
    val REAL_LE_LADD : thm
    val REAL_LE_LADD_IMP : thm
    val REAL_LE_LNEG : thm
    val REAL_LE_LT : thm
    val REAL_LE_MUL : thm
    val REAL_LE_NEG2 : thm
    val REAL_LE_NEGTOTAL : thm
    val REAL_LE_RADD : thm
    val REAL_LE_REFL : thm
    val REAL_LE_RNEG : thm
    val REAL_LE_SQUARE : thm
    val REAL_LE_TOTAL : thm
    val REAL_LE_TRANS : thm
    val REAL_LNEG_UNIQ : thm
    val REAL_LTE_ADD : thm
    val REAL_LTE_ANTISYM : thm
    val REAL_LTE_TOTAL : thm
    val REAL_LTE_TRANS : thm
    val REAL_LT_01 : thm
    val REAL_LT_ADD : thm
    val REAL_LT_ADDR : thm
    val REAL_LT_ANTISYM : thm
    val REAL_LT_GT : thm
    val REAL_LT_IADD : thm
    val REAL_LT_IMP_LE : thm
    val REAL_LT_LADD : thm
    val REAL_LT_LADD_IMP : thm
    val REAL_LT_LE : thm
    val REAL_LT_MUL : thm
    val REAL_LT_MUL' : thm
    val REAL_LT_NEGTOTAL : thm
    val REAL_LT_NZ : thm
    val REAL_LT_RADD : thm
    val REAL_LT_REFL : thm
    val REAL_LT_TOTAL : thm
    val REAL_LT_TRANS : thm
    val REAL_MUL : thm
    val REAL_MUL_AC : thm
    val REAL_MUL_ASSOC : thm
    val REAL_MUL_LID : thm
    val REAL_MUL_LID' : thm
    val REAL_MUL_LINV : thm
    val REAL_MUL_LINV' : thm
    val REAL_MUL_LNEG : thm
    val REAL_MUL_LZERO : thm
    val REAL_MUL_RID : thm
    val REAL_MUL_RNEG : thm
    val REAL_MUL_RZERO : thm
    val REAL_MUL_SYM : thm
    val REAL_NEG_0 : thm
    val REAL_NEG_ADD : thm
    val REAL_NEG_LMUL : thm
    val REAL_NEG_LT0 : thm
    val REAL_NEG_NEG : thm
    val REAL_NEG_RMUL : thm
    val REAL_NEG_SUB : thm
    val REAL_NOT_LE : thm
    val REAL_NOT_LT : thm
    val REAL_OF_NUM_ADD : thm
    val REAL_OF_NUM_EQ : thm
    val REAL_OF_NUM_LE : thm
    val REAL_OF_NUM_MUL : thm
    val REAL_OF_NUM_POW : thm
    val REAL_OF_NUM_SUB : thm
    val REAL_POLY_CLAUSES : thm
    val REAL_POLY_NEG_CLAUSES : thm
    val REAL_POS : thm
    val REAL_POS_LT : thm
    val REAL_POW_2 : thm
    val REAL_POW_NEG : thm
    val REAL_RDISTRIB : thm
    val REAL_RNEG_UNIQ : thm
    val REAL_SUB_0 : thm
    val REAL_SUB_LE : thm
    val REAL_SUB_LT : thm
    val REAL_SUP_ALLPOS : thm
    val REAL_SUP_ALLPOS' : thm
    val real_ABS_REP_CLASS : thm
    val real_QUOTIENT : thm
    val real_lt : thm
  
  val realax_grammars : type_grammar.grammar * term_grammar.grammar
(*
   [hreal] Parent theory of "realax"
   
   [hreal_of_real]  Definition
      
      ⊢ ∀T1. hreal_of_real T1 = hreal_of_treal (real_REP T1)
   
   [real_0]  Definition
      
      ⊢ real_0 = real_ABS treal_0
   
   [real_1]  Definition
      
      ⊢ real_1 = real_ABS treal_1
   
   [real_ABS_def]  Definition
      
      ⊢ ∀r. real_ABS r = real_ABS_CLASS (treal_eq r)
   
   [real_REP_def]  Definition
      
      ⊢ ∀a. real_REP a = $@ (real_REP_CLASS a)
   
   [real_TY_DEF]  Definition
      
      ⊢ ∃rep. TYPE_DEFINITION (λc. ∃r. treal_eq r r ∧ (c = treal_eq r)) rep
   
   [real_abs]  Definition
      
      ⊢ ∀x. abs x = if 0 ≤ x then x else -x
   
   [real_add]  Definition
      
      ⊢ ∀T1 T2. T1 + T2 = real_ABS (real_REP T1 treal_add real_REP T2)
   
   [real_bijections]  Definition
      
      ⊢ (∀a. real_ABS_CLASS (real_REP_CLASS a) = a) ∧
        ∀r. (λc. ∃r. treal_eq r r ∧ (c = treal_eq r)) r ⇔
            (real_REP_CLASS (real_ABS_CLASS r) = r)
   
   [real_div]  Definition
      
      ⊢ ∀x y. x / y = x * y⁻¹
   
   [real_ge]  Definition
      
      ⊢ ∀x y. x ≥ y ⇔ y ≤ x
   
   [real_gt]  Definition
      
      ⊢ ∀x y. x > y ⇔ y < x
   
   [real_inv]  Definition
      
      ⊢ ∀T1. T1⁻¹ = real_ABS (treal_inv (real_REP T1))
   
   [real_lte]  Definition
      
      ⊢ ∀x y. x ≤ y ⇔ ¬(y < x)
   
   [real_max]  Definition
      
      ⊢ ∀x y. max x y = if x ≤ y then y else x
   
   [real_min]  Definition
      
      ⊢ ∀x y. min x y = if x ≤ y then x else y
   
   [real_mul]  Definition
      
      ⊢ ∀T1 T2. T1 * T2 = real_ABS (real_REP T1 treal_mul real_REP T2)
   
   [real_neg]  Definition
      
      ⊢ ∀T1. -T1 = real_ABS (treal_neg (real_REP T1))
   
   [real_of_hreal]  Definition
      
      ⊢ ∀T1. real_of_hreal T1 = real_ABS (treal_of_hreal T1)
   
   [real_of_num]  Definition
      
      ⊢ (0 = real_0) ∧ ∀n. &SUC n = &n + real_1
   
   [real_pow]  Definition
      
      ⊢ (∀x. x pow 0 = 1) ∧ ∀x n. x pow SUC n = x * x pow n
   
   [real_sub]  Definition
      
      ⊢ ∀x y. x − y = x + -y
   
   [REAL]  Theorem
      
      ⊢ ∀n. &SUC n = &n + 1
   
   [REAL_0]  Theorem
      
      ⊢ real_0 = 0
   
   [REAL_1]  Theorem
      
      ⊢ real_1 = 1
   
   [REAL_10]  Theorem
      
      ⊢ real_1 ≠ real_0
   
   [REAL_10']  Theorem
      
      ⊢ 1 ≠ 0
   
   [REAL_ABS_NEG]  Theorem
      
      ⊢ ∀x. abs (-x) = abs x
   
   [REAL_ABS_NUM]  Theorem
      
      ⊢ ∀n. abs (&n) = &n
   
   [REAL_ADD]  Theorem
      
      ⊢ ∀m n. &m + &n = &(m + n)
   
   [REAL_ADD_AC]  Theorem
      
      ⊢ (m + n = n + m) ∧ (m + n + p = m + (n + p)) ∧
        (m + (n + p) = n + (m + p))
   
   [REAL_ADD_ASSOC]  Theorem
      
      ⊢ ∀x y z. x + (y + z) = x + y + z
   
   [REAL_ADD_LDISTRIB]  Theorem
      
      ⊢ ∀x y z. x * (y + z) = x * y + x * z
   
   [REAL_ADD_LID]  Theorem
      
      ⊢ ∀x. real_0 + x = x
   
   [REAL_ADD_LID']  Theorem
      
      ⊢ ∀x. 0 + x = x
   
   [REAL_ADD_LINV]  Theorem
      
      ⊢ ∀x. -x + x = real_0
   
   [REAL_ADD_LINV']  Theorem
      
      ⊢ ∀x. -x + x = 0
   
   [REAL_ADD_RDISTRIB]  Theorem
      
      ⊢ ∀x y z. (x + y) * z = x * z + y * z
   
   [REAL_ADD_RID]  Theorem
      
      ⊢ ∀x. x + 0 = x
   
   [REAL_ADD_RINV]  Theorem
      
      ⊢ ∀x. x + -x = 0
   
   [REAL_ADD_SYM]  Theorem
      
      ⊢ ∀x y. x + y = y + x
   
   [REAL_BIJ]  Theorem
      
      ⊢ (∀h. hreal_of_real (real_of_hreal h) = h) ∧
        ∀r. real_0 < r ⇔ (real_of_hreal (hreal_of_real r) = r)
   
   [REAL_ENTIRE]  Theorem
      
      ⊢ ∀x y. (x * y = 0) ⇔ (x = 0) ∨ (y = 0)
   
   [REAL_EQ_ADD_LCANCEL]  Theorem
      
      ⊢ ∀x y z. (x + y = x + z) ⇔ (y = z)
   
   [REAL_EQ_ADD_RCANCEL]  Theorem
      
      ⊢ ∀x y z. (x + z = y + z) ⇔ (x = y)
   
   [REAL_INJ]  Theorem
      
      ⊢ ∀m n. (&m = &n) ⇔ (m = n)
   
   [REAL_INV_0]  Theorem
      
      ⊢ real_0⁻¹ = real_0
   
   [REAL_INV_0']  Theorem
      
      ⊢ 0⁻¹ = 0
   
   [REAL_ISO]  Theorem
      
      ⊢ ∀h i. h hreal_lt i ⇒ real_of_hreal h < real_of_hreal i
   
   [REAL_ISO_EQ]  Theorem
      
      ⊢ ∀h i. h hreal_lt i ⇔ real_of_hreal h < real_of_hreal i
   
   [REAL_LDISTRIB]  Theorem
      
      ⊢ ∀x y z. x * (y + z) = x * y + x * z
   
   [REAL_LE]  Theorem
      
      ⊢ ∀m n. &m ≤ &n ⇔ m ≤ n
   
   [REAL_LET_ADD]  Theorem
      
      ⊢ ∀x y. 0 ≤ x ∧ 0 < y ⇒ 0 < x + y
   
   [REAL_LET_TOTAL]  Theorem
      
      ⊢ ∀x y. x ≤ y ∨ y < x
   
   [REAL_LET_TRANS]  Theorem
      
      ⊢ ∀x y z. x ≤ y ∧ y < z ⇒ x < z
   
   [REAL_LE_01]  Theorem
      
      ⊢ 0 ≤ 1
   
   [REAL_LE_ADD]  Theorem
      
      ⊢ ∀x y. 0 ≤ x ∧ 0 ≤ y ⇒ 0 ≤ x + y
   
   [REAL_LE_ADDR]  Theorem
      
      ⊢ ∀x y. x ≤ x + y ⇔ 0 ≤ y
   
   [REAL_LE_ANTISYM]  Theorem
      
      ⊢ ∀x y. x ≤ y ∧ y ≤ x ⇔ (x = y)
   
   [REAL_LE_LADD]  Theorem
      
      ⊢ ∀x y z. x + y ≤ x + z ⇔ y ≤ z
   
   [REAL_LE_LADD_IMP]  Theorem
      
      ⊢ ∀x y z. y ≤ z ⇒ x + y ≤ x + z
   
   [REAL_LE_LNEG]  Theorem
      
      ⊢ ∀x y. -x ≤ y ⇔ 0 ≤ x + y
   
   [REAL_LE_LT]  Theorem
      
      ⊢ ∀x y. x ≤ y ⇔ x < y ∨ (x = y)
   
   [REAL_LE_MUL]  Theorem
      
      ⊢ ∀x y. 0 ≤ x ∧ 0 ≤ y ⇒ 0 ≤ x * y
   
   [REAL_LE_NEG2]  Theorem
      
      ⊢ ∀x y. -x ≤ -y ⇔ y ≤ x
   
   [REAL_LE_NEGTOTAL]  Theorem
      
      ⊢ ∀x. 0 ≤ x ∨ 0 ≤ -x
   
   [REAL_LE_RADD]  Theorem
      
      ⊢ ∀x y z. x + z ≤ y + z ⇔ x ≤ y
   
   [REAL_LE_REFL]  Theorem
      
      ⊢ ∀x. x ≤ x
   
   [REAL_LE_RNEG]  Theorem
      
      ⊢ ∀x y. x ≤ -y ⇔ x + y ≤ 0
   
   [REAL_LE_SQUARE]  Theorem
      
      ⊢ ∀x. 0 ≤ x * x
   
   [REAL_LE_TOTAL]  Theorem
      
      ⊢ ∀x y. x ≤ y ∨ y ≤ x
   
   [REAL_LE_TRANS]  Theorem
      
      ⊢ ∀x y z. x ≤ y ∧ y ≤ z ⇒ x ≤ z
   
   [REAL_LNEG_UNIQ]  Theorem
      
      ⊢ ∀x y. (x + y = 0) ⇔ (x = -y)
   
   [REAL_LTE_ADD]  Theorem
      
      ⊢ ∀x y. 0 < x ∧ 0 ≤ y ⇒ 0 < x + y
   
   [REAL_LTE_ANTISYM]  Theorem
      
      ⊢ ∀x y. ¬(x ≤ y ∧ y < x)
   
   [REAL_LTE_TOTAL]  Theorem
      
      ⊢ ∀x y. x < y ∨ y ≤ x
   
   [REAL_LTE_TRANS]  Theorem
      
      ⊢ ∀x y z. x < y ∧ y ≤ z ⇒ x < z
   
   [REAL_LT_01]  Theorem
      
      ⊢ 0 < 1
   
   [REAL_LT_ADD]  Theorem
      
      ⊢ ∀x y. 0 < x ∧ 0 < y ⇒ 0 < x + y
   
   [REAL_LT_ADDR]  Theorem
      
      ⊢ ∀x y. x < x + y ⇔ 0 < y
   
   [REAL_LT_ANTISYM]  Theorem
      
      ⊢ ∀x y. ¬(x < y ∧ y < x)
   
   [REAL_LT_GT]  Theorem
      
      ⊢ ∀x y. x < y ⇒ ¬(y < x)
   
   [REAL_LT_IADD]  Theorem
      
      ⊢ ∀x y z. y < z ⇒ x + y < x + z
   
   [REAL_LT_IMP_LE]  Theorem
      
      ⊢ ∀x y. x < y ⇒ x ≤ y
   
   [REAL_LT_LADD]  Theorem
      
      ⊢ ∀x y z. x + y < x + z ⇔ y < z
   
   [REAL_LT_LADD_IMP]  Theorem
      
      ⊢ ∀x y z. y < z ⇒ x + y < x + z
   
   [REAL_LT_LE]  Theorem
      
      ⊢ ∀x y. x < y ⇔ x ≤ y ∧ x ≠ y
   
   [REAL_LT_MUL]  Theorem
      
      ⊢ ∀x y. real_0 < x ∧ real_0 < y ⇒ real_0 < x * y
   
   [REAL_LT_MUL']  Theorem
      
      ⊢ ∀x y. 0 < x ∧ 0 < y ⇒ 0 < x * y
   
   [REAL_LT_NEGTOTAL]  Theorem
      
      ⊢ ∀x. (x = 0) ∨ 0 < x ∨ 0 < -x
   
   [REAL_LT_NZ]  Theorem
      
      ⊢ ∀n. &n ≠ 0 ⇔ 0 < &n
   
   [REAL_LT_RADD]  Theorem
      
      ⊢ ∀x y z. x + z < y + z ⇔ x < y
   
   [REAL_LT_REFL]  Theorem
      
      ⊢ ∀x. ¬(x < x)
   
   [REAL_LT_TOTAL]  Theorem
      
      ⊢ ∀x y. (x = y) ∨ x < y ∨ y < x
   
   [REAL_LT_TRANS]  Theorem
      
      ⊢ ∀x y z. x < y ∧ y < z ⇒ x < z
   
   [REAL_MUL]  Theorem
      
      ⊢ ∀m n. &m * &n = &(m * n)
   
   [REAL_MUL_AC]  Theorem
      
      ⊢ (m * n = n * m) ∧ (m * n * p = m * (n * p)) ∧
        (m * (n * p) = n * (m * p))
   
   [REAL_MUL_ASSOC]  Theorem
      
      ⊢ ∀x y z. x * (y * z) = x * y * z
   
   [REAL_MUL_LID]  Theorem
      
      ⊢ ∀x. real_1 * x = x
   
   [REAL_MUL_LID']  Theorem
      
      ⊢ ∀x. 1 * x = x
   
   [REAL_MUL_LINV]  Theorem
      
      ⊢ ∀x. x ≠ real_0 ⇒ (x⁻¹ * x = real_1)
   
   [REAL_MUL_LINV']  Theorem
      
      ⊢ ∀x. x ≠ 0 ⇒ (x⁻¹ * x = 1)
   
   [REAL_MUL_LNEG]  Theorem
      
      ⊢ ∀x y. -x * y = -(x * y)
   
   [REAL_MUL_LZERO]  Theorem
      
      ⊢ ∀x. 0 * x = 0
   
   [REAL_MUL_RID]  Theorem
      
      ⊢ ∀x. x * 1 = x
   
   [REAL_MUL_RNEG]  Theorem
      
      ⊢ ∀x y. x * -y = -(x * y)
   
   [REAL_MUL_RZERO]  Theorem
      
      ⊢ ∀x. x * 0 = 0
   
   [REAL_MUL_SYM]  Theorem
      
      ⊢ ∀x y. x * y = y * x
   
   [REAL_NEG_0]  Theorem
      
      ⊢ -0 = 0
   
   [REAL_NEG_ADD]  Theorem
      
      ⊢ ∀x y. -(x + y) = -x + -y
   
   [REAL_NEG_LMUL]  Theorem
      
      ⊢ ∀x y. -(x * y) = -x * y
   
   [REAL_NEG_LT0]  Theorem
      
      ⊢ ∀x. -x < 0 ⇔ 0 < x
   
   [REAL_NEG_NEG]  Theorem
      
      ⊢ ∀x. --x = x
   
   [REAL_NEG_RMUL]  Theorem
      
      ⊢ ∀x y. -(x * y) = x * -y
   
   [REAL_NEG_SUB]  Theorem
      
      ⊢ ∀x y. -(x − y) = y − x
   
   [REAL_NOT_LE]  Theorem
      
      ⊢ ∀x y. ¬(x ≤ y) ⇔ y < x
   
   [REAL_NOT_LT]  Theorem
      
      ⊢ ∀x y. ¬(x < y) ⇔ y ≤ x
   
   [REAL_OF_NUM_ADD]  Theorem
      
      ⊢ ∀m n. &m + &n = &(m + n)
   
   [REAL_OF_NUM_EQ]  Theorem
      
      ⊢ ∀m n. (&m = &n) ⇔ (m = n)
   
   [REAL_OF_NUM_LE]  Theorem
      
      ⊢ ∀m n. &m ≤ &n ⇔ m ≤ n
   
   [REAL_OF_NUM_MUL]  Theorem
      
      ⊢ ∀m n. &m * &n = &(m * n)
   
   [REAL_OF_NUM_POW]  Theorem
      
      ⊢ ∀x n. &x pow n = &(x ** n)
   
   [REAL_OF_NUM_SUB]  Theorem
      
      ⊢ ∀m n. m ≤ n ⇒ (&(n − m) = &n − &m)
   
   [REAL_POLY_CLAUSES]  Theorem
      
      ⊢ (∀x y z. x + (y + z) = x + y + z) ∧ (∀x y. x + y = y + x) ∧
        (∀x. 0 + x = x) ∧ (∀x y z. x * (y * z) = x * y * z) ∧
        (∀x y. x * y = y * x) ∧ (∀x. 1 * x = x) ∧ (∀x. 0 * x = 0) ∧
        (∀x y z. x * (y + z) = x * y + x * z) ∧ (∀x. x pow 0 = 1) ∧
        ∀x n. x pow SUC n = x * x pow n
   
   [REAL_POLY_NEG_CLAUSES]  Theorem
      
      ⊢ (∀x. -x = -1 * x) ∧ ∀x y. x − y = x + -1 * y
   
   [REAL_POS]  Theorem
      
      ⊢ ∀n. 0 ≤ &n
   
   [REAL_POS_LT]  Theorem
      
      ⊢ ∀n. 0 < &SUC n
   
   [REAL_POW_2]  Theorem
      
      ⊢ ∀x. x pow 2 = x * x
   
   [REAL_POW_NEG]  Theorem
      
      ⊢ ∀x n. -x pow n = if EVEN n then x pow n else -(x pow n)
   
   [REAL_RDISTRIB]  Theorem
      
      ⊢ ∀x y z. (x + y) * z = x * z + y * z
   
   [REAL_RNEG_UNIQ]  Theorem
      
      ⊢ ∀x y. (x + y = 0) ⇔ (y = -x)
   
   [REAL_SUB_0]  Theorem
      
      ⊢ ∀x y. (x − y = 0) ⇔ (x = y)
   
   [REAL_SUB_LE]  Theorem
      
      ⊢ ∀x y. 0 ≤ x − y ⇔ y ≤ x
   
   [REAL_SUB_LT]  Theorem
      
      ⊢ ∀x y. 0 < x − y ⇔ y < x
   
   [REAL_SUP_ALLPOS]  Theorem
      
      ⊢ ∀P. (∀x. P x ⇒ real_0 < x) ∧ (∃x. P x) ∧ (∃z. ∀x. P x ⇒ x < z) ⇒
            ∃s. ∀y. (∃x. P x ∧ y < x) ⇔ y < s
   
   [REAL_SUP_ALLPOS']  Theorem
      
      ⊢ ∀P. (∀x. P x ⇒ 0 < x) ∧ (∃x. P x) ∧ (∃z. ∀x. P x ⇒ x < z) ⇒
            ∃s. ∀y. (∃x. P x ∧ y < x) ⇔ y < s
   
   [real_ABS_REP_CLASS]  Theorem
      
      ⊢ (∀a. real_ABS_CLASS (real_REP_CLASS a) = a) ∧
        ∀c. (∃r. treal_eq r r ∧ (c = treal_eq r)) ⇔
            (real_REP_CLASS (real_ABS_CLASS c) = c)
   
   [real_QUOTIENT]  Theorem
      
      ⊢ QUOTIENT treal_eq real_ABS real_REP
   
   [real_lt]  Theorem
      
      ⊢ ∀y x. x < y ⇔ ¬(y ≤ x)
   
   
*)
end


Source File Identifier index Theory binding index

HOL 4, Trindemossen-1