Structure prob_indepTheory


Source File Identifier index Theory binding index

signature prob_indepTheory =
sig
  type thm = Thm.thm
  
  (*  Definitions  *)
    val alg_cover_def : thm
    val alg_cover_set_def : thm
    val indep_def : thm
    val indep_set_def : thm
  
  (*  Theorems  *)
    val ALG_COVER_EXISTS_UNIQUE : thm
    val ALG_COVER_HEAD : thm
    val ALG_COVER_SET_BASIC : thm
    val ALG_COVER_SET_CASES : thm
    val ALG_COVER_SET_CASES_THM : thm
    val ALG_COVER_SET_INDUCTION : thm
    val ALG_COVER_STEP : thm
    val ALG_COVER_TAIL_MEASURABLE : thm
    val ALG_COVER_TAIL_PROB : thm
    val ALG_COVER_TAIL_STEP : thm
    val ALG_COVER_UNIQUE : thm
    val ALG_COVER_UNIV : thm
    val ALG_COVER_WELL_DEFINED : thm
    val BIND_STEP : thm
    val INDEP_BIND : thm
    val INDEP_BIND_SDEST : thm
    val INDEP_INDEP_SET : thm
    val INDEP_INDEP_SET_LEMMA : thm
    val INDEP_MEASURABLE1 : thm
    val INDEP_MEASURABLE2 : thm
    val INDEP_PROB : thm
    val INDEP_SDEST : thm
    val INDEP_SET_BASIC : thm
    val INDEP_SET_DISJOINT_DECOMP : thm
    val INDEP_SET_LIST : thm
    val INDEP_SET_SYM : thm
    val INDEP_UNIT : thm
    val MAP_CONS_TL_FILTER : thm
    val PROB_INDEP_BOUND : thm
  
  val prob_indep_grammars : type_grammar.grammar * term_grammar.grammar
  
  
(*
   [prob] Parent theory of "prob_indep"
   
   [state_transformer] Parent theory of "prob_indep"
   
   [alg_cover_def]  Definition
      
      |- !l x. alg_cover l x = @b. MEM b l /\ alg_embed b x
   
   [alg_cover_set_def]  Definition
      
      |- !l.
           alg_cover_set l =
           alg_sorted l /\ alg_prefixfree l /\ (algebra_embed l = UNIV)
   
   [indep_def]  Definition
      
      |- !f.
           indep f =
           ?l r.
             alg_cover_set l /\
             !s. f s = (let c = alg_cover l s in (r c,SDROP (LENGTH c) s))
   
   [indep_set_def]  Definition
      
      |- !p q.
           indep_set p q =
           measurable p /\ measurable q /\ (prob (p INTER q) = prob p * prob q)
   
   [ALG_COVER_EXISTS_UNIQUE]  Theorem
      
      |- !l. alg_cover_set l ==> !s. ?!x. MEM x l /\ alg_embed x s
   
   [ALG_COVER_HEAD]  Theorem
      
      |- !l. alg_cover_set l ==> !f. f o alg_cover l = algebra_embed (FILTER f l)
   
   [ALG_COVER_SET_BASIC]  Theorem
      
      |- ~alg_cover_set [] /\ alg_cover_set [[]] /\ alg_cover_set [[T]; [F]]
   
   [ALG_COVER_SET_CASES]  Theorem
      
      |- !P.
           P [[]] /\
           (!l1 l2.
              alg_cover_set l1 /\ alg_cover_set l2 /\
              alg_cover_set (MAP (CONS T) l1 ++ MAP (CONS F) l2) ==>
              P (MAP (CONS T) l1 ++ MAP (CONS F) l2)) ==>
           !l. alg_cover_set l ==> P l
   
   [ALG_COVER_SET_CASES_THM]  Theorem
      
      |- !l.
           alg_cover_set l =
           (l = [[]]) \/
           ?l1 l2.
             alg_cover_set l1 /\ alg_cover_set l2 /\
             (l = MAP (CONS T) l1 ++ MAP (CONS F) l2)
   
   [ALG_COVER_SET_INDUCTION]  Theorem
      
      |- !P.
           P [[]] /\
           (!l1 l2.
              alg_cover_set l1 /\ alg_cover_set l2 /\ P l1 /\ P l2 /\
              alg_cover_set (MAP (CONS T) l1 ++ MAP (CONS F) l2) ==>
              P (MAP (CONS T) l1 ++ MAP (CONS F) l2)) ==>
           !l. alg_cover_set l ==> P l
   
   [ALG_COVER_STEP]  Theorem
      
      |- !l1 l2 h t.
           alg_cover_set l1 /\ alg_cover_set l2 ==>
           (alg_cover (MAP (CONS T) l1 ++ MAP (CONS F) l2) (SCONS h t) =
            (if h then T::alg_cover l1 t else F::alg_cover l2 t))
   
   [ALG_COVER_TAIL_MEASURABLE]  Theorem
      
      |- !l.
           alg_cover_set l ==>
           !q. measurable (q o (\x. SDROP (LENGTH (alg_cover l x)) x)) = measurable q
   
   [ALG_COVER_TAIL_PROB]  Theorem
      
      |- !l.
           alg_cover_set l ==>
           !q.
             measurable q ==>
             (prob (q o (\x. SDROP (LENGTH (alg_cover l x)) x)) = prob q)
   
   [ALG_COVER_TAIL_STEP]  Theorem
      
      |- !l1 l2 q.
           alg_cover_set l1 /\ alg_cover_set l2 ==>
           (q o
            (\x.
               SDROP (LENGTH (alg_cover (MAP (CONS T) l1 ++ MAP (CONS F) l2) x)) x) =
            (\x. SHD x = T) INTER
            q o (\x. SDROP (LENGTH (alg_cover l1 x)) x) o STL UNION
            (\x. SHD x = F) INTER q o (\x. SDROP (LENGTH (alg_cover l2 x)) x) o STL)
   
   [ALG_COVER_UNIQUE]  Theorem
      
      |- !l x s. alg_cover_set l /\ MEM x l /\ alg_embed x s ==> (alg_cover l s = x)
   
   [ALG_COVER_UNIV]  Theorem
      
      |- alg_cover [[]] = K []
   
   [ALG_COVER_WELL_DEFINED]  Theorem
      
      |- !l x.
           alg_cover_set l ==> MEM (alg_cover l x) l /\ alg_embed (alg_cover l x) x
   
   [BIND_STEP]  Theorem
      
      |- !f. BIND SDEST (\k. f o SCONS k) = f
   
   [INDEP_BIND]  Theorem
      
      |- !f g. indep f /\ (!x. indep (g x)) ==> indep (BIND f g)
   
   [INDEP_BIND_SDEST]  Theorem
      
      |- !f. (!x. indep (f x)) ==> indep (BIND SDEST f)
   
   [INDEP_INDEP_SET]  Theorem
      
      |- !f p q. indep f /\ measurable q ==> indep_set (p o FST o f) (q o SND o f)
   
   [INDEP_INDEP_SET_LEMMA]  Theorem
      
      |- !l.
           alg_cover_set l ==>
           !q.
             measurable q ==>
             !x.
               MEM x l ==>
               (prob (alg_embed x INTER q o (\x. SDROP (LENGTH (alg_cover l x)) x)) =
                (1 / 2) pow LENGTH x * prob q)
   
   [INDEP_MEASURABLE1]  Theorem
      
      |- !f p. indep f ==> measurable (p o FST o f)
   
   [INDEP_MEASURABLE2]  Theorem
      
      |- !f q. indep f /\ measurable q ==> measurable (q o SND o f)
   
   [INDEP_PROB]  Theorem
      
      |- !f p q.
           indep f /\ measurable q ==>
           (prob (p o FST o f INTER q o SND o f) = prob (p o FST o f) * prob q)
   
   [INDEP_SDEST]  Theorem
      
      |- indep SDEST
   
   [INDEP_SET_BASIC]  Theorem
      
      |- !p. measurable p ==> indep_set {} p /\ indep_set UNIV p
   
   [INDEP_SET_DISJOINT_DECOMP]  Theorem
      
      |- !p q r.
           indep_set p r /\ indep_set q r /\ (p INTER q = {}) ==>
           indep_set (p UNION q) r
   
   [INDEP_SET_LIST]  Theorem
      
      |- !q l.
           alg_sorted l /\ alg_prefixfree l /\ measurable q /\
           (!x. MEM x l ==> indep_set (alg_embed x) q) ==>
           indep_set (algebra_embed l) q
   
   [INDEP_SET_SYM]  Theorem
      
      |- !p q. indep_set p q = indep_set p q
   
   [INDEP_UNIT]  Theorem
      
      |- !x. indep (UNIT x)
   
   [MAP_CONS_TL_FILTER]  Theorem
      
      |- !l b.
           ~MEM [] l ==>
           (MAP (CONS b) (MAP TL (FILTER (\x. HD x = b) l)) =
            FILTER (\x. HD x = b) l)
   
   [PROB_INDEP_BOUND]  Theorem
      
      |- !f n.
           indep f ==>
           (prob (\s. FST (f s) < SUC n) =
            prob (\s. FST (f s) < n) + prob (\s. FST (f s) = n))
   
   
*)
end


Source File Identifier index Theory binding index


HOL 4,   Kananaskis-3