src/HOL/Probability/Projective_Limit.thy
changeset 50884 2b21b4e2d7cb
parent 50252 4aa34bd43228
child 50971 5e3d3d690975
equal deleted inserted replaced
50883:1421884baf5b 50884:2b21b4e2d7cb
    44   using continuous_proj compact by (rule compact_continuous_image)
    44   using continuous_proj compact by (rule compact_continuous_image)
    45 
    45 
    46 end
    46 end
    47 
    47 
    48 lemma compactE':
    48 lemma compactE':
       
    49   fixes S :: "'a :: metric_space set"
    49   assumes "compact S" "\<forall>n\<ge>m. f n \<in> S"
    50   assumes "compact S" "\<forall>n\<ge>m. f n \<in> S"
    50   obtains l r where "l \<in> S" "subseq r" "((f \<circ> r) ---> l) sequentially"
    51   obtains l r where "l \<in> S" "subseq r" "((f \<circ> r) ---> l) sequentially"
    51 proof atomize_elim
    52 proof atomize_elim
    52   have "subseq (op + m)" by (simp add: subseq_def)
    53   have "subseq (op + m)" by (simp add: subseq_def)
    53   have "\<forall>n. (f o (\<lambda>i. m + i)) n \<in> S" using assms by auto
    54   have "\<forall>n. (f o (\<lambda>i. m + i)) n \<in> S" using assms by auto
    54   from compactE[OF `compact S` this] guess l r .
    55   from seq_compactE[OF `compact S`[unfolded compact_eq_seq_compact_metric] this] guess l r .
    55   hence "l \<in> S" "subseq ((\<lambda>i. m + i) o r) \<and> (f \<circ> ((\<lambda>i. m + i) o r)) ----> l"
    56   hence "l \<in> S" "subseq ((\<lambda>i. m + i) o r) \<and> (f \<circ> ((\<lambda>i. m + i) o r)) ----> l"
    56     using subseq_o[OF `subseq (op + m)` `subseq r`] by (auto simp: o_def)
    57     using subseq_o[OF `subseq (op + m)` `subseq r`] by (auto simp: o_def)
    57   thus "\<exists>l r. l \<in> S \<and> subseq r \<and> (f \<circ> r) ----> l" by blast
    58   thus "\<exists>l r. l \<in> S \<and> subseq r \<and> (f \<circ> r) ----> l" by blast
    58 qed
    59 qed
    59 
    60