Structure real_of_ratTheory
signature real_of_ratTheory =
sig
type thm = Thm.thm
(* Definitions *)
val Q_SET : thm
val real_of_rat_def : thm
(* Theorems *)
val ABS_SQUARE : thm
val ADD_IN_QSET : thm
val DIV_IN_QSET : thm
val INT_BI_INDUCTION : thm
val INT_FLOOR_ADD : thm
val INT_FLOOR_MUL : thm
val INT_FLOOR_REAL_OF_INT : thm
val INV_IN_QSET : thm
val IS_INT_ADD : thm
val IS_INT_ADD2 : thm
val IS_INT_MUL : thm
val IS_INT_NUM : thm
val IS_INT_REAL_OF_INT : thm
val MUL_IN_QSET : thm
val NUM_IN_QSET : thm
val NUM_LT_NEG : thm
val NUM_NEG : thm
val NUM_OPP_SIGNS_COMPARE : thm
val OPP_IN_QSET : thm
val QSET_COUNTABLE : thm
val Q_DENSE_IN_REAL : thm
val Q_DENSE_IN_REAL_LEMMA : thm
val RATND_ADD : thm
val RATND_MUL : thm
val RAT_DIV_LEMMA : thm
val RAT_DIV_PROD : thm
val RAT_OF_INT_SUB : thm
val REAL_IS_INT_LT_LE : thm
val REAL_LT_SUB_SWAP : thm
val REAL_OF_RAT_0 : thm
val REAL_OF_RAT_1 : thm
val REAL_OF_RAT_ADD : thm
val REAL_OF_RAT_DIV : thm
val REAL_OF_RAT_INJ : thm
val REAL_OF_RAT_LE : thm
val REAL_OF_RAT_LT : thm
val REAL_OF_RAT_MAX : thm
val REAL_OF_RAT_MIN : thm
val REAL_OF_RAT_MINV : thm
val REAL_OF_RAT_MUL : thm
val REAL_OF_RAT_NEG : thm
val REAL_OF_RAT_NUM_CLAUSES : thm
val REAL_OF_RAT_OF_INT : thm
val REAL_OF_RAT_OF_NUM : thm
val REAL_OF_RAT_SUB : thm
val REAL_PYTH : thm
val REAL_Q_DENSE : thm
val REAL_RAT_DENSE : thm
val SUB_IN_QSET : thm
val countable_real_rat_set : thm
val q_set_def : thm
val real_rat_set : thm
val real_rat_set_def : thm
val real_of_rat_grammars : type_grammar.grammar * term_grammar.grammar
(*
[intreal] Parent theory of "real_of_rat"
[rat] Parent theory of "real_of_rat"
[Q_SET] Definition
β’ β = IMAGE real_of_rat π(:rat)
[real_of_rat_def] Definition
β’ βq. real_of_rat q = real_of_int (RATN q) / &RATD q
[ABS_SQUARE] Theorem
β’ βi. ABS i * ABS i = i * i
[ADD_IN_QSET] Theorem
β’ βx y. x β β β§ y β β β x + y β β
[DIV_IN_QSET] Theorem
β’ βx y. x β β β§ y β β β§ y β 0 β x / y β β
[INT_BI_INDUCTION] Theorem
β’ βP. P 0 β§ (βx. P x β P (x + 1)) β βx. P x
[INT_FLOOR_ADD] Theorem
β’ is_int x β§ is_int y β βxβ + βyβ = βx + yβ
[INT_FLOOR_MUL] Theorem
β’ is_int x β§ is_int y β βxβ * βyβ = βx * yβ
[INT_FLOOR_REAL_OF_INT] Theorem
β’ βreal_of_int iβ = i
[INV_IN_QSET] Theorem
β’ βx. x β β β§ x β 0 β 1 / x β β
[IS_INT_ADD] Theorem
β’ is_int x β§ is_int y β is_int (x + y)
[IS_INT_ADD2] Theorem
β’ is_int x β§ is_int (x + y) β is_int y
[IS_INT_MUL] Theorem
β’ is_int x β§ is_int y β is_int (x * y)
[IS_INT_NUM] Theorem
β’ is_int (&n)
[IS_INT_REAL_OF_INT] Theorem
β’ is_int x β βi. x = real_of_int i
[MUL_IN_QSET] Theorem
β’ βx y. x β β β§ y β β β x * y β β
[NUM_IN_QSET] Theorem
β’ βn. &n β β β§ -&n β β
[NUM_LT_NEG] Theorem
β’ βi1 i2. i1 β€ 0 β§ i2 β€ 0 β (Num i1 < Num i2 β i2 < i1)
[NUM_NEG] Theorem
β’ Num (-i) = Num i
[NUM_OPP_SIGNS_COMPARE] Theorem
β’ βi1 i2.
i1 β€ 0 β§ 0 β€ i2 β
(Num i1 < Num i2 β 0 < i1 + i2) β§
(Num i2 < Num i1 β i1 + i2 < 0) β§ (Num i1 = Num i2 β i1 + i2 = 0)
[OPP_IN_QSET] Theorem
β’ βx. x β β β -x β β
[QSET_COUNTABLE] Theorem
β’ countable β
[Q_DENSE_IN_REAL] Theorem
β’ βx y. x < y β βr. r β β β§ x < r β§ r < y
[Q_DENSE_IN_REAL_LEMMA] Theorem
β’ βx y. 0 β€ x β§ x < y β βr. r β β β§ x < r β§ r < y
[RATND_ADD] Theorem
β’ rat_of_int (RATN r1 * &RATD r2 + &RATD r1 * RATN r2) /
&(RATD r1 * RATD r2) =
r1 + r2
[RATND_MUL] Theorem
β’ rat_of_int (RATN r1 * RATN r2) / &(RATD r1 * RATD r2) = r1 * r2
[RAT_DIV_LEMMA] Theorem
β’ q1 β 0 β§ q2 β 0 β (p1 / q1 = p2 / q2 β p1 * q2 = p2 * q1)
[RAT_DIV_PROD] Theorem
β’ b β 0 β§ d β 0 β a / b * (c / d) = a * c / (b * d)
[RAT_OF_INT_SUB] Theorem
β’ rat_of_int a β rat_of_int b = rat_of_int (a β b)
[REAL_IS_INT_LT_LE] Theorem
β’ is_int a β§ is_int b β (a < b β a + 1 β€ b)
[REAL_LT_SUB_SWAP] Theorem
β’ a < b β c β c < b β a
[REAL_OF_RAT_0] Theorem
β’ real_of_rat 0 = 0
[REAL_OF_RAT_1] Theorem
β’ real_of_rat 1 = 1
[REAL_OF_RAT_ADD] Theorem
β’ real_of_rat r1 + real_of_rat r2 = real_of_rat (r1 + r2)
[REAL_OF_RAT_DIV] Theorem
β’ r2 β 0 β real_of_rat r1 / real_of_rat r2 = real_of_rat (r1 / r2)
[REAL_OF_RAT_INJ] Theorem
β’ real_of_rat r1 = real_of_rat r2 β r1 = r2
[REAL_OF_RAT_LE] Theorem
β’ real_of_rat r1 β€ real_of_rat r2 β r1 β€ r2
[REAL_OF_RAT_LT] Theorem
β’ real_of_rat r1 < real_of_rat r2 β r1 < r2
[REAL_OF_RAT_MAX] Theorem
β’ max (real_of_rat r) (real_of_rat q) = real_of_rat (rat_max r q)
[REAL_OF_RAT_MIN] Theorem
β’ min (real_of_rat r) (real_of_rat q) = real_of_rat (rat_min r q)
[REAL_OF_RAT_MINV] Theorem
β’ r β 0 β (real_of_rat r)β»ΒΉ = real_of_rat (rat_minv r)
[REAL_OF_RAT_MUL] Theorem
β’ real_of_rat r1 * real_of_rat r2 = real_of_rat (r1 * r2)
[REAL_OF_RAT_NEG] Theorem
β’ -real_of_rat r = real_of_rat (-r)
[REAL_OF_RAT_NUM_CLAUSES] Theorem
β’ (real_of_rat q = &n β q = &n) β§ (real_of_rat q = -&n β q = -&n) β§
(real_of_rat q < &n β q < &n) β§ (real_of_rat q < -&n β q < -&n) β§
(real_of_rat q β€ &n β q β€ &n) β§ (real_of_rat q β€ -&n β q β€ -&n) β§
(&n < real_of_rat q β &n < q) β§ (-&n < real_of_rat q β -&n < q) β§
(&n β€ real_of_rat q β &n β€ q) β§ (-&n β€ real_of_rat q β -&n β€ q)
[REAL_OF_RAT_OF_INT] Theorem
β’ real_of_rat (rat_of_int i) = real_of_int i
[REAL_OF_RAT_OF_NUM] Theorem
β’ real_of_rat (&n) = &n
[REAL_OF_RAT_SUB] Theorem
β’ real_of_rat r1 β real_of_rat r2 = real_of_rat (r1 β r2)
[REAL_PYTH] Theorem
β’ βr1. βx. is_int x β§ r1 < x
[REAL_Q_DENSE] Theorem
β’ βr1 r2. r1 < r2 β βq. r1 < real_of_rat q β§ real_of_rat q < r2
[REAL_RAT_DENSE] Theorem
β’ βx y. x < y β βr. r β β β§ x < r β§ r < y
[SUB_IN_QSET] Theorem
β’ βx y. x β β β§ y β β β x β y β β
[countable_real_rat_set] Theorem
β’ countable β
[q_set_def] Theorem
β’ β =
{x | βa b. x = &a / &b β§ 0 < &b} βͺ
{x | βa b. x = -(&a / &b) β§ 0 < &b}
[real_rat_set] Theorem
β’ β = {r | βq. r = real_of_rat q}
[real_rat_set_def] Theorem
β’ β =
{x | βa b. x = &a / &b β§ 0 < &b} βͺ
{x | βa b. x = -(&a / &b) β§ 0 < &b}
*)
end
HOL 4, Trindemossen-1