src/HOL/Analysis/Function_Topology.thy
changeset 76838 04c7ec38874e
parent 76821 337c2265d8a2
child 78200 264f2b69d09c
equal deleted inserted replaced
76837:d908a7d3ed1b 76838:04c7ec38874e
   333 
   333 
   334 corollary openin_product_topology_alt:
   334 corollary openin_product_topology_alt:
   335   "openin (product_topology X I) S \<longleftrightarrow>
   335   "openin (product_topology X I) S \<longleftrightarrow>
   336     (\<forall>x \<in> S. \<exists>U. finite {i \<in> I. U i \<noteq> topspace(X i)} \<and>
   336     (\<forall>x \<in> S. \<exists>U. finite {i \<in> I. U i \<noteq> topspace(X i)} \<and>
   337                  (\<forall>i \<in> I. openin (X i) (U i)) \<and> x \<in> Pi\<^sub>E I U \<and> Pi\<^sub>E I U \<subseteq> S)"
   337                  (\<forall>i \<in> I. openin (X i) (U i)) \<and> x \<in> Pi\<^sub>E I U \<and> Pi\<^sub>E I U \<subseteq> S)"
   338 sledgehammer [isar_proofs, provers = "cvc4 z3 spass e vampire verit", timeout = 77]
       
   339   unfolding openin_product_topology arbitrary_union_of_alt product_topology_base_alt topspace_product_topology
   338   unfolding openin_product_topology arbitrary_union_of_alt product_topology_base_alt topspace_product_topology
   340   apply safe
   339   by (smt (verit, best))
   341   apply (drule bspec; blast)+
       
   342   done
       
   343 
   340 
   344 lemma closure_of_product_topology:
   341 lemma closure_of_product_topology:
   345   "(product_topology X I) closure_of (PiE I S) = PiE I (\<lambda>i. (X i) closure_of (S i))"
   342   "(product_topology X I) closure_of (PiE I S) = PiE I (\<lambda>i. (X i) closure_of (S i))"
   346 proof -
   343 proof -
   347   have *: "(\<forall>T. f \<in> T \<and> openin (product_topology X I) T \<longrightarrow> (\<exists>y\<in>Pi\<^sub>E I S. y \<in> T))
   344   have *: "(\<forall>T. f \<in> T \<and> openin (product_topology X I) T \<longrightarrow> (\<exists>y\<in>Pi\<^sub>E I S. y \<in> T))