# HG changeset patch # User hoelzl # Date 1349863950 -7200 # Node ID 3c7b5988e09409caff2433746ddfe4b07a0b98e6 # Parent dd719cdeca8f03065e71806f9fbf6bcd8e848182 indep_vars does not need sigma-sets diff -r dd719cdeca8f -r 3c7b5988e094 src/HOL/Probability/Independent_Family.thy --- a/src/HOL/Probability/Independent_Family.thy Wed Oct 10 12:12:29 2012 +0200 +++ b/src/HOL/Probability/Independent_Family.thy Wed Oct 10 12:12:30 2012 +0200 @@ -47,14 +47,6 @@ definition (in prob_space) "indep_event A B \ indep_events (bool_case A B) UNIV" -definition (in prob_space) - "indep_vars M' X I \ - (\i\I. random_variable (M' i) (X i)) \ - indep_sets (\i. sigma_sets (space M) { X i -` A \ space M | A. A \ sets (M' i)}) I" - -definition (in prob_space) - "indep_var Ma A Mb B \ indep_vars (bool_case Ma Mb) (bool_case A B) UNIV" - lemma (in prob_space) indep_sets_cong: "I = J \ (\i. i \ I \ F i = G i) \ indep_sets F I \ indep_sets G J" by (simp add: indep_sets_def, intro conj_cong all_cong imp_cong ball_cong) blast+ @@ -132,16 +124,6 @@ using indep[unfolded indep_set_def, THEN indep_setsD, of UNIV "bool_case a b"] ev by (simp add: ac_simps UNIV_bool) -lemma (in prob_space) indep_var_eq: - "indep_var S X T Y \ - (random_variable S X \ random_variable T Y) \ - indep_set - (sigma_sets (space M) { X -` A \ space M | A. A \ sets S}) - (sigma_sets (space M) { Y -` A \ space M | A. A \ sets T})" - unfolding indep_var_def indep_vars_def indep_set_def UNIV_bool - by (intro arg_cong2[where f="op \"] arg_cong2[where f=indep_sets] ext) - (auto split: bool.split) - lemma (in prob_space) assumes indep: "indep_set A B" shows indep_setD_ev1: "A \ events" @@ -341,18 +323,36 @@ by (rule indep_sets_mono_sets) (intro subsetI sigma_sets.Basic) qed -lemma (in prob_space) - "indep_vars M' X I \ +definition (in prob_space) + indep_vars_def2: "indep_vars M' X I \ (\i\I. random_variable (M' i) (X i)) \ indep_sets (\i. { X i -` A \ space M | A. A \ sets (M' i)}) I" - unfolding indep_vars_def + +definition (in prob_space) + "indep_var Ma A Mb B \ indep_vars (bool_case Ma Mb) (bool_case A B) UNIV" + +lemma (in prob_space) indep_vars_def: + "indep_vars M' X I \ + (\i\I. random_variable (M' i) (X i)) \ + indep_sets (\i. sigma_sets (space M) { X i -` A \ space M | A. A \ sets (M' i)}) I" + unfolding indep_vars_def2 apply (rule conj_cong[OF refl]) - apply (rule indep_sets_sigma_sets_iff) + apply (rule indep_sets_sigma_sets_iff[symmetric]) apply (auto simp: Int_stable_def) apply (rule_tac x="A \ Aa" in exI) apply auto done +lemma (in prob_space) indep_var_eq: + "indep_var S X T Y \ + (random_variable S X \ random_variable T Y) \ + indep_set + (sigma_sets (space M) { X -` A \ space M | A. A \ sets S}) + (sigma_sets (space M) { Y -` A \ space M | A. A \ sets T})" + unfolding indep_var_def indep_vars_def indep_set_def UNIV_bool + by (intro arg_cong2[where f="op \"] arg_cong2[where f=indep_sets] ext) + (auto split: bool.split) + lemma (in prob_space) indep_sets2_eq: "indep_set A B \ A \ events \ B \ events \ (\a\A. \b\B. prob (a \ b) = prob a * prob b)" unfolding indep_set_def