equal
deleted
inserted
replaced
1551 using Bseq_monoseq_convergent[of "f \<circ> r"] by (auto simp: convergent_def) |
1551 using Bseq_monoseq_convergent[of "f \<circ> r"] by (auto simp: convergent_def) |
1552 qed |
1552 qed |
1553 |
1553 |
1554 lemma compact_lemma_general: |
1554 lemma compact_lemma_general: |
1555 fixes f :: "nat \<Rightarrow> 'a" |
1555 fixes f :: "nat \<Rightarrow> 'a" |
1556 fixes proj::"'a \<Rightarrow> 'b \<Rightarrow> 'c::heine_borel" (infixl "proj" 60) |
1556 fixes proj::"'a \<Rightarrow> 'b \<Rightarrow> 'c::heine_borel" (infixl \<open>proj\<close> 60) |
1557 fixes unproj:: "('b \<Rightarrow> 'c) \<Rightarrow> 'a" |
1557 fixes unproj:: "('b \<Rightarrow> 'c) \<Rightarrow> 'a" |
1558 assumes finite_basis: "finite basis" |
1558 assumes finite_basis: "finite basis" |
1559 assumes bounded_proj: "\<And>k. k \<in> basis \<Longrightarrow> bounded ((\<lambda>x. x proj k) ` range f)" |
1559 assumes bounded_proj: "\<And>k. k \<in> basis \<Longrightarrow> bounded ((\<lambda>x. x proj k) ` range f)" |
1560 assumes proj_unproj: "\<And>e k. k \<in> basis \<Longrightarrow> (unproj e) proj k = e k" |
1560 assumes proj_unproj: "\<And>e k. k \<in> basis \<Longrightarrow> (unproj e) proj k = e k" |
1561 assumes unproj_proj: "\<And>x. unproj (\<lambda>k. x proj k) = x" |
1561 assumes unproj_proj: "\<And>x. unproj (\<lambda>k. x proj k) = x" |