diff -r 88eb92a52f9b -r d8045bc0544e src/HOL/Probability/Projective_Family.thy --- a/src/HOL/Probability/Projective_Family.thy Fri Nov 03 10:55:15 2023 +0100 +++ b/src/HOL/Probability/Projective_Family.thy Fri Nov 03 16:20:06 2023 +0000 @@ -9,7 +9,10 @@ imports Giry_Monad begin -lemma vimage_restrict_preseve_mono: +(** Something strange going on here regarding the syntax \(n := x) vs fun_upd \ n x + See nn_integral_eP, etc. **) + +lemma vimage_restrict_preserve_mono: assumes J: "J \ I" and sets: "A \ (\\<^sub>E i\J. S i)" "B \ (\\<^sub>E i\J. S i)" and ne: "(\\<^sub>E i\I. S i) \ {}" and eq: "(\x. restrict x J) -` A \ (\\<^sub>E i\I. S i) \ (\x. restrict x J) -` B \ (\\<^sub>E i\I. S i)" @@ -56,7 +59,7 @@ assumes "J \ L" "L \ I" and sets: "X \ sets (Pi\<^sub>M J M)" "Y \ sets (Pi\<^sub>M J M)" assumes "emb L J X \ emb L J Y" shows "X \ Y" -proof (rule vimage_restrict_preseve_mono) +proof (rule vimage_restrict_preserve_mono) show "X \ (\\<^sub>E i\J. space (M i))" "Y \ (\\<^sub>E i\J. space (M i))" using sets[THEN sets.sets_into_space] by (auto simp: space_PiM) show "(\\<^sub>E i\L. space (M i)) \ {}" @@ -286,11 +289,11 @@ lemma space_eP: "x \ space (PiM {0.. space (eP n x) = space (PiM {0.. space (PiM {0.. sets (eP n x) = sets (PiM {0.. space (PiM {0.. prob_space (eP n x)" unfolding eP_def @@ -298,13 +301,13 @@ lemma nn_integral_eP: "\ \ space (PiM {0.. f \ borel_measurable (PiM {0.. - (\\<^sup>+x. f x \eP n \) = (\\<^sup>+x. f (\(n := x)) \P n \)" + (\\<^sup>+x. f x \eP n \) = (\\<^sup>+x. f (fun_upd \ n x) \P n \)" unfolding eP_def by (subst nn_integral_distr) (auto intro!: measurable_fun_upd[where J="{0..[simp]: "\ \ space (PiM {0.. sets (PiM {0.. A = P n \ ((\x. \(n := x)) -` A \ space (M n))" + shows "eP n \ A = P n \ ((\x. fun_upd \ n x) -` A \ space (M n))" using nn_integral_eP[of \ n "indicator A"] apply (simp add: sets_eP nn_integral_indicator[symmetric] sets_P del: nn_integral_indicator) apply (subst nn_integral_indicator[symmetric]) @@ -485,7 +488,7 @@ { fix \ n assume \: "\ \ space (PiM {0..i. ?C' i \ borel_measurable (P n \)" using \[measurable, simp] measurable_fun_upd[where J="{0... ?C' (Suc i) x \ ?C' i x" for i proof (rule AE_I2) fix x assume "x \ space (P n \)" - with \ have \': "\(n := x) \ space (PiM {0.. have \': "fun_upd \ n x \ space (PiM {0..] space_PiM PiE_iff extensional_def) with \ show "?C' (Suc i) x \ ?C' i x" apply (subst emeasure_C[symmetric, of i "Suc i"]) @@ -534,7 +537,7 @@ then obtain x where "x \ space (M n)" "0 < (INF i. ?C' i x)" by (auto dest: frequently_ex) from this(2)[THEN less_INF_D, of 0] this(2) - have "\x. \(n := x) \ X (Suc n) \ 0 < (INF i. ?C' i x)" + have "\x. fun_upd \ n x \ X (Suc n) \ 0 < (INF i. ?C' i x)" by (intro exI[of _ x]) (simp split: split_indicator_asm) } note step = this