Structure util_probTheory


Source File Identifier index Theory binding index

signature util_probTheory =
sig
  type thm = Thm.thm
  
  (*  Definitions  *)
    val disjoint_def : thm
    val from_def : thm
    val lg_def : thm
    val logr_def : thm
    val minimal_def : thm
    val pair_def : thm
    val powr_def : thm
    val prod_sets_def : thm
  
  (*  Theorems  *)
    val DISJOINT_COUNT_FROM : thm
    val DISJOINT_FROM_COUNT : thm
    val EQ_T_IMP : thm
    val FROM_0 : thm
    val GBIGUNION_IMAGE : thm
    val INF_CLOSE : thm
    val INF_DEF_ALT : thm
    val INF_GREATER : thm
    val INF_LE : thm
    val IN_FROM : thm
    val IN_PAIR : thm
    val IN_PROD_SETS : thm
    val IN_o : thm
    val LE_INF : thm
    val LOGR_MONO_LE : thm
    val LOGR_MONO_LE_IMP : thm
    val MINIMAL_EQ : thm
    val MINIMAL_EQ_IMP : thm
    val MINIMAL_EXISTS : thm
    val MINIMAL_EXISTS0 : thm
    val MINIMAL_EXISTS_IMP : thm
    val MINIMAL_SUC : thm
    val MINIMAL_SUC_IMP : thm
    val NUM_2D_BIJ : thm
    val NUM_2D_BIJ_INV : thm
    val NUM_2D_BIJ_NZ : thm
    val NUM_2D_BIJ_NZ_ALT : thm
    val NUM_2D_BIJ_NZ_ALT2 : thm
    val NUM_2D_BIJ_NZ_ALT2_INV : thm
    val NUM_2D_BIJ_NZ_ALT_INV : thm
    val NUM_2D_BIJ_NZ_INV : thm
    val PAIRED_BETA_THM : thm
    val PAIR_UNIV : thm
    val POW_HALF_MONO : thm
    val POW_HALF_POS : thm
    val POW_HALF_SMALL : thm
    val POW_NEG_ODD : thm
    val POW_POS_EVEN : thm
    val PREIMAGE_REAL_COMPL1 : thm
    val PREIMAGE_REAL_COMPL2 : thm
    val PREIMAGE_REAL_COMPL3 : thm
    val PREIMAGE_REAL_COMPL4 : thm
    val REAL_LE_LT_MUL : thm
    val REAL_LE_RDIV_EQ_NEG : thm
    val REAL_LT_LE_MUL : thm
    val REAL_LT_LMUL_0_NEG : thm
    val REAL_LT_LMUL_NEG_0 : thm
    val REAL_LT_LMUL_NEG_0_NEG : thm
    val REAL_LT_RDIV_EQ_NEG : thm
    val REAL_LT_RMUL_0_NEG : thm
    val REAL_LT_RMUL_NEG_0 : thm
    val REAL_LT_RMUL_NEG_0_NEG : thm
    val REAL_MUL_IDEMPOT : thm
    val REAL_NEG_NZ : thm
    val REAL_SUP_LE_X : thm
    val REAL_X_LE_SUP : thm
    val UNION_COUNT_FROM : thm
    val UNION_FROM_COUNT : thm
    val disjointD : thm
    val disjointI : thm
    val disjoint_empty : thm
    val disjoint_sing : thm
    val disjoint_union : thm
    val finite_enumeration_of_sets_has_max_non_empty : thm
    val lg_1 : thm
    val lg_2 : thm
    val lg_inv : thm
    val lg_mul : thm
    val lg_nonzero : thm
    val lg_pow : thm
    val logr_1 : thm
    val logr_div : thm
    val logr_inv : thm
    val logr_mul : thm
    val neg_lg : thm
    val neg_logr : thm
  
  val util_prob_grammars : type_grammar.grammar * term_grammar.grammar
(*
   [real_sigma] Parent theory of "util_prob"
   
   [disjoint_def]  Definition
      
      ⊢ ∀A. disjoint A ⇔ ∀a b. a ∈ A ∧ b ∈ A ∧ a ≠ b ⇒ DISJOINT a b
   
   [from_def]  Definition
      
      ⊢ ∀n. from n = {m | n ≤ m}
   
   [lg_def]  Definition
      
      ⊢ ∀x. lg x = logr 2 x
   
   [logr_def]  Definition
      
      ⊢ ∀a x. logr a x = ln x / ln a
   
   [minimal_def]  Definition
      
      ⊢ ∀p. minimal p = @n. p n ∧ ∀m. m < n ⇒ ¬p m
   
   [pair_def]  Definition
      
      ⊢ ∀X Y. pair X Y = (λ(x,y). x ∈ X ∧ y ∈ Y)
   
   [powr_def]  Definition
      
      ⊢ ∀x a. x powr a = exp (a * ln x)
   
   [prod_sets_def]  Definition
      
      ⊢ ∀a b. prod_sets a b = {s × t | s ∈ a ∧ t ∈ b}
   
   [DISJOINT_COUNT_FROM]  Theorem
      
      ⊢ ∀n. DISJOINT (count n) (from n)
   
   [DISJOINT_FROM_COUNT]  Theorem
      
      ⊢ ∀n. DISJOINT (from n) (count n)
   
   [EQ_T_IMP]  Theorem
      
      ⊢ ∀x. x ⇔ T ⇒ x
   
   [FROM_0]  Theorem
      
      ⊢ from 0 = 𝕌(:num)
   
   [GBIGUNION_IMAGE]  Theorem
      
      ⊢ ∀s p n. {s | ∃n. p s n} = BIGUNION (IMAGE (λn. {s | p s n}) 𝕌(:γ))
   
   [INF_CLOSE]  Theorem
      
      ⊢ ∀p e. (∃x. x ∈ p) ∧ 0 < e ⇒ ∃x. x ∈ p ∧ x < inf p + e
   
   [INF_DEF_ALT]  Theorem
      
      ⊢ ∀p. inf p = -sup (λr. -r ∈ p)
   
   [INF_GREATER]  Theorem
      
      ⊢ ∀p z. (∃x. x ∈ p) ∧ inf p < z ⇒ ∃x. x ∈ p ∧ x < z
   
   [INF_LE]  Theorem
      
      ⊢ ∀p r. (∃z. ∀x. x ∈ p ⇒ z ≤ x) ∧ (∃x. x ∈ p ∧ x ≤ r) ⇒ inf p ≤ r
   
   [IN_FROM]  Theorem
      
      ⊢ ∀m n. m ∈ from n ⇔ n ≤ m
   
   [IN_PAIR]  Theorem
      
      ⊢ ∀x X Y. x ∈ pair X Y ⇔ FST x ∈ X ∧ SND x ∈ Y
   
   [IN_PROD_SETS]  Theorem
      
      ⊢ ∀s a b. s ∈ prod_sets a b ⇔ ∃t u. (s = t × u) ∧ t ∈ a ∧ u ∈ b
   
   [IN_o]  Theorem
      
      ⊢ ∀x f s. x ∈ s ∘ f ⇔ f x ∈ s
   
   [LE_INF]  Theorem
      
      ⊢ ∀p r. (∃x. x ∈ p) ∧ (∀x. x ∈ p ⇒ r ≤ x) ⇒ r ≤ inf p
   
   [LOGR_MONO_LE]  Theorem
      
      ⊢ ∀x y b. 0 < x ∧ 0 < y ∧ 1 < b ⇒ (logr b x ≤ logr b y ⇔ x ≤ y)
   
   [LOGR_MONO_LE_IMP]  Theorem
      
      ⊢ ∀x y b. 0 < x ∧ x ≤ y ∧ 1 ≤ b ⇒ logr b x ≤ logr b y
   
   [MINIMAL_EQ]  Theorem
      
      ⊢ ∀p m. p m ∧ (m = minimal p) ⇔ p m ∧ ∀n. n < m ⇒ ¬p n
   
   [MINIMAL_EQ_IMP]  Theorem
      
      ⊢ ∀m p. p m ∧ (∀n. n < m ⇒ ¬p n) ⇒ (m = minimal p)
   
   [MINIMAL_EXISTS]  Theorem
      
      ⊢ ∀P. (∃n. P n) ⇔ P (minimal P) ∧ ∀n. n < minimal P ⇒ ¬P n
   
   [MINIMAL_EXISTS0]  Theorem
      
      ⊢ (∃n. P n) ⇔ ∃n. P n ∧ ∀m. m < n ⇒ ¬P m
   
   [MINIMAL_EXISTS_IMP]  Theorem
      
      ⊢ ∀P. (∃n. P n) ⇒ ∃m. P m ∧ ∀n. n < m ⇒ ¬P n
   
   [MINIMAL_SUC]  Theorem
      
      ⊢ ∀n p.
            (SUC n = minimal p) ∧ p (SUC n) ⇔
            ¬p 0 ∧ (n = minimal (p ∘ SUC)) ∧ p (SUC n)
   
   [MINIMAL_SUC_IMP]  Theorem
      
      ⊢ ∀n p.
            p (SUC n) ∧ ¬p 0 ∧ (n = minimal (p ∘ SUC)) ⇒
            (SUC n = minimal p)
   
   [NUM_2D_BIJ]  Theorem
      
      ⊢ ∃f. BIJ f (𝕌(:num) × 𝕌(:num)) 𝕌(:num)
   
   [NUM_2D_BIJ_INV]  Theorem
      
      ⊢ ∃f. BIJ f 𝕌(:num) (𝕌(:num) × 𝕌(:num))
   
   [NUM_2D_BIJ_NZ]  Theorem
      
      ⊢ ∃f. BIJ f (𝕌(:num) × (𝕌(:num) DIFF {0})) 𝕌(:num)
   
   [NUM_2D_BIJ_NZ_ALT]  Theorem
      
      ⊢ ∃f. BIJ f (𝕌(:num) × 𝕌(:num)) (𝕌(:num) DIFF {0})
   
   [NUM_2D_BIJ_NZ_ALT2]  Theorem
      
      ⊢ ∃f. BIJ f ((𝕌(:num) DIFF {0}) × (𝕌(:num) DIFF {0})) 𝕌(:num)
   
   [NUM_2D_BIJ_NZ_ALT2_INV]  Theorem
      
      ⊢ ∃f. BIJ f 𝕌(:num) ((𝕌(:num) DIFF {0}) × (𝕌(:num) DIFF {0}))
   
   [NUM_2D_BIJ_NZ_ALT_INV]  Theorem
      
      ⊢ ∃f. BIJ f (𝕌(:num) DIFF {0}) (𝕌(:num) × 𝕌(:num))
   
   [NUM_2D_BIJ_NZ_INV]  Theorem
      
      ⊢ ∃f. BIJ f 𝕌(:num) (𝕌(:num) × (𝕌(:num) DIFF {0}))
   
   [PAIRED_BETA_THM]  Theorem
      
      ⊢ ∀f z. UNCURRY f z = f (FST z) (SND z)
   
   [PAIR_UNIV]  Theorem
      
      ⊢ pair 𝕌(:α) 𝕌(:β) = 𝕌(:α # β)
   
   [POW_HALF_MONO]  Theorem
      
      ⊢ ∀m n. m ≤ n ⇒ (1 / 2) pow n ≤ (1 / 2) pow m
   
   [POW_HALF_POS]  Theorem
      
      ⊢ ∀n. 0 < (1 / 2) pow n
   
   [POW_HALF_SMALL]  Theorem
      
      ⊢ ∀e. 0 < e ⇒ ∃n. (1 / 2) pow n < e
   
   [POW_NEG_ODD]  Theorem
      
      ⊢ ∀x. x < 0 ⇒ (x pow n < 0 ⇔ ODD n)
   
   [POW_POS_EVEN]  Theorem
      
      ⊢ ∀x. x < 0 ⇒ (0 < x pow n ⇔ EVEN n)
   
   [PREIMAGE_REAL_COMPL1]  Theorem
      
      ⊢ ∀c. COMPL {x | c < x} = {x | x ≤ c}
   
   [PREIMAGE_REAL_COMPL2]  Theorem
      
      ⊢ ∀c. COMPL {x | c ≤ x} = {x | x < c}
   
   [PREIMAGE_REAL_COMPL3]  Theorem
      
      ⊢ ∀c. COMPL {x | x ≤ c} = {x | c < x}
   
   [PREIMAGE_REAL_COMPL4]  Theorem
      
      ⊢ ∀c. COMPL {x | x < c} = {x | c ≤ x}
   
   [REAL_LE_LT_MUL]  Theorem
      
      ⊢ ∀x y. 0 ≤ x ∧ 0 < y ⇒ 0 ≤ x * y
   
   [REAL_LE_RDIV_EQ_NEG]  Theorem
      
      ⊢ ∀x y z. z < 0 ⇒ (y / z ≤ x ⇔ x * z ≤ y)
   
   [REAL_LT_LE_MUL]  Theorem
      
      ⊢ ∀x y. 0 < x ∧ 0 ≤ y ⇒ 0 ≤ x * y
   
   [REAL_LT_LMUL_0_NEG]  Theorem
      
      ⊢ ∀x y. 0 < x * y ∧ x < 0 ⇒ y < 0
   
   [REAL_LT_LMUL_NEG_0]  Theorem
      
      ⊢ ∀x y. x * y < 0 ∧ 0 < x ⇒ y < 0
   
   [REAL_LT_LMUL_NEG_0_NEG]  Theorem
      
      ⊢ ∀x y. x * y < 0 ∧ x < 0 ⇒ 0 < y
   
   [REAL_LT_RDIV_EQ_NEG]  Theorem
      
      ⊢ ∀x y z. z < 0 ⇒ (y / z < x ⇔ x * z < y)
   
   [REAL_LT_RMUL_0_NEG]  Theorem
      
      ⊢ ∀x y. 0 < x * y ∧ y < 0 ⇒ x < 0
   
   [REAL_LT_RMUL_NEG_0]  Theorem
      
      ⊢ ∀x y. x * y < 0 ∧ 0 < y ⇒ x < 0
   
   [REAL_LT_RMUL_NEG_0_NEG]  Theorem
      
      ⊢ ∀x y. x * y < 0 ∧ y < 0 ⇒ 0 < x
   
   [REAL_MUL_IDEMPOT]  Theorem
      
      ⊢ ∀r. (r * r = r) ⇔ (r = 0) ∨ (r = 1)
   
   [REAL_NEG_NZ]  Theorem
      
      ⊢ ∀x. x < 0 ⇒ x ≠ 0
   
   [REAL_SUP_LE_X]  Theorem
      
      ⊢ ∀P x. (∃r. P r) ∧ (∀r. P r ⇒ r ≤ x) ⇒ sup P ≤ x
   
   [REAL_X_LE_SUP]  Theorem
      
      ⊢ ∀P x.
            (∃r. P r) ∧ (∃z. ∀r. P r ⇒ r ≤ z) ∧ (∃r. P r ∧ x ≤ r) ⇒
            x ≤ sup P
   
   [UNION_COUNT_FROM]  Theorem
      
      ⊢ ∀n. count n ∪ from n = 𝕌(:num)
   
   [UNION_FROM_COUNT]  Theorem
      
      ⊢ ∀n. from n ∪ count n = 𝕌(:num)
   
   [disjointD]  Theorem
      
      ⊢ ∀A a b. disjoint A ⇒ a ∈ A ⇒ b ∈ A ⇒ a ≠ b ⇒ DISJOINT a b
   
   [disjointI]  Theorem
      
      ⊢ ∀A. (∀a b. a ∈ A ⇒ b ∈ A ⇒ a ≠ b ⇒ DISJOINT a b) ⇒ disjoint A
   
   [disjoint_empty]  Theorem
      
      ⊢ disjoint ∅
   
   [disjoint_sing]  Theorem
      
      ⊢ ∀a. disjoint {a}
   
   [disjoint_union]  Theorem
      
      ⊢ ∀A B.
            disjoint A ∧ disjoint B ∧ (BIGUNION A ∩ BIGUNION B = ∅) ⇒
            disjoint (A ∪ B)
   
   [finite_enumeration_of_sets_has_max_non_empty]  Theorem
      
      ⊢ ∀f s.
            FINITE s ∧ (∀x. f x ∈ s) ∧ (∀m n. m ≠ n ⇒ DISJOINT (f m) (f n)) ⇒
            ∃N. ∀n. n ≥ N ⇒ (f n = ∅)
   
   [lg_1]  Theorem
      
      ⊢ lg 1 = 0
   
   [lg_2]  Theorem
      
      ⊢ lg 2 = 1
   
   [lg_inv]  Theorem
      
      ⊢ ∀x. 0 < x ⇒ (lg x⁻¹ = -lg x)
   
   [lg_mul]  Theorem
      
      ⊢ ∀x y. 0 < x ∧ 0 < y ⇒ (lg (x * y) = lg x + lg y)
   
   [lg_nonzero]  Theorem
      
      ⊢ ∀x. x ≠ 0 ∧ 0 ≤ x ⇒ (lg x ≠ 0 ⇔ x ≠ 1)
   
   [lg_pow]  Theorem
      
      ⊢ ∀n. lg (2 pow n) = &n
   
   [logr_1]  Theorem
      
      ⊢ ∀b. logr b 1 = 0
   
   [logr_div]  Theorem
      
      ⊢ ∀b x y. 0 < x ∧ 0 < y ⇒ (logr b (x / y) = logr b x − logr b y)
   
   [logr_inv]  Theorem
      
      ⊢ ∀b x. 0 < x ⇒ (logr b x⁻¹ = -logr b x)
   
   [logr_mul]  Theorem
      
      ⊢ ∀b x y. 0 < x ∧ 0 < y ⇒ (logr b (x * y) = logr b x + logr b y)
   
   [neg_lg]  Theorem
      
      ⊢ ∀x. 0 < x ⇒ (-lg x = lg x⁻¹)
   
   [neg_logr]  Theorem
      
      ⊢ ∀b x. 0 < x ⇒ (-logr b x = logr b x⁻¹)
   
   
*)
end


Source File Identifier index Theory binding index

HOL 4, Kananaskis-13