src/HOL/Analysis/Sum_Topology.thy
author paulson <lp15@cam.ac.uk>
Wed, 16 Apr 2025 21:13:27 +0100
changeset 82520 1b17f0a41aa3
parent 78037 37894dff0111
permissions -rw-r--r--
tidied more proofs
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
77939
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
     1
section\<open>Disjoint sum of arbitarily many spaces\<close>
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
     2
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
     3
theory Sum_Topology
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
     4
  imports Abstract_Topology
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
     5
begin
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
     6
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
     7
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
     8
definition sum_topology :: "('a \<Rightarrow> 'b topology) \<Rightarrow> 'a set \<Rightarrow> ('a \<times> 'b) topology" where
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
     9
  "sum_topology X I \<equiv>
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    10
    topology (\<lambda>U. U \<subseteq> Sigma I (topspace \<circ> X) \<and> (\<forall>i \<in> I. openin (X i) {x. (i,x) \<in> U}))"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    11
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    12
lemma is_sum_topology: "istopology (\<lambda>U. U \<subseteq> Sigma I (topspace \<circ> X) \<and> (\<forall>i\<in>I. openin (X i) {x. (i, x) \<in> U}))"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    13
proof -
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    14
  have 1: "{x. (i, x) \<in> S \<inter> T} = {x. (i, x) \<in> S} \<inter> {x::'b. (i, x) \<in> T}" for S T and i::'a
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    15
    by auto
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    16
  have 2: "{x. (i, x) \<in> \<Union> \<K>} = (\<Union>K\<in>\<K>. {x::'b. (i, x) \<in> K})" for \<K> and i::'a
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    17
    by auto
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    18
  show ?thesis
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    19
    unfolding istopology_def 1 2 by blast
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    20
qed
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    21
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    22
lemma openin_sum_topology:
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    23
   "openin (sum_topology X I) U \<longleftrightarrow>
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    24
        U \<subseteq> Sigma I (topspace \<circ> X) \<and> (\<forall>i \<in> I. openin (X i) {x. (i,x) \<in> U})"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    25
  by (auto simp: sum_topology_def is_sum_topology)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    26
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    27
lemma openin_disjoint_union:
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    28
   "openin (sum_topology X I) (Sigma I U) \<longleftrightarrow> (\<forall>i \<in> I. openin (X i) (U i))"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    29
  using openin_subset by (force simp: openin_sum_topology)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    30
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    31
lemma topspace_sum_topology [simp]:
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    32
   "topspace(sum_topology X I) = Sigma I (topspace \<circ> X)"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    33
  by (metis comp_apply openin_disjoint_union openin_subset openin_sum_topology openin_topspace subset_antisym)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    34
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    35
lemma openin_sum_topology_alt:
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    36
   "openin (sum_topology X I) U \<longleftrightarrow> (\<exists>T. U = Sigma I T \<and> (\<forall>i \<in> I. openin (X i) (T i)))"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    37
  by (bestsimp simp: openin_sum_topology dest: openin_subset)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    38
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    39
lemma forall_openin_sum_topology:
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    40
   "(\<forall>U. openin (sum_topology X I) U \<longrightarrow> P U) \<longleftrightarrow> (\<forall>T. (\<forall>i \<in> I. openin (X i) (T i)) \<longrightarrow> P(Sigma I T))"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    41
  by (auto simp: openin_sum_topology_alt)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    42
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    43
lemma exists_openin_sum_topology:
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    44
   "(\<exists>U. openin (sum_topology X I) U \<and> P U) \<longleftrightarrow>
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    45
    (\<exists>T. (\<forall>i \<in> I. openin (X i) (T i)) \<and> P(Sigma I T))"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    46
  by (auto simp: openin_sum_topology_alt)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    47
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    48
lemma closedin_sum_topology:
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    49
   "closedin (sum_topology X I) U \<longleftrightarrow> U \<subseteq> Sigma I (topspace \<circ> X) \<and> (\<forall>i \<in> I. closedin (X i) {x. (i,x) \<in> U})"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    50
     (is "?lhs = ?rhs")
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    51
proof
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    52
  assume L: ?lhs
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    53
  then have U: "U \<subseteq> Sigma I (topspace \<circ> X)"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    54
    using closedin_subset by fastforce
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    55
  then have "\<forall>i\<in>I. {x. (i, x) \<in> U} \<subseteq> topspace (X i)"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    56
    by fastforce
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    57
  moreover have "openin (X i) (topspace (X i) - {x. (i, x) \<in> U})" if "i\<in>I" for i
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    58
    apply (subst openin_subopen)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    59
    using L that unfolding closedin_def openin_sum_topology
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    60
    by (bestsimp simp: o_def subset_iff)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    61
  ultimately show ?rhs
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    62
    by (simp add: U closedin_def)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    63
next
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    64
  assume R: ?rhs
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    65
  then have "openin (X i) {x. (i, x) \<in> topspace (sum_topology X I) - U}" if "i\<in>I" for i
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    66
    apply (subst openin_subopen)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    67
    using that unfolding closedin_def openin_sum_topology
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    68
    by (bestsimp simp: o_def subset_iff)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    69
  then show ?lhs
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    70
    by (simp add: R closedin_def openin_sum_topology)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    71
qed
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    72
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    73
lemma closedin_disjoint_union:
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    74
   "closedin (sum_topology X I) (Sigma I U) \<longleftrightarrow> (\<forall>i \<in> I. closedin (X i) (U i))"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    75
  using closedin_subset by (force simp: closedin_sum_topology)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    76
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    77
lemma closedin_sum_topology_alt:
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    78
   "closedin (sum_topology X I) U \<longleftrightarrow> (\<exists>T. U = Sigma I T \<and> (\<forall>i \<in> I. closedin (X i) (T i)))"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    79
  using closedin_subset unfolding closedin_sum_topology by auto blast
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    80
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    81
lemma forall_closedin_sum_topology:
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    82
   "(\<forall>U. closedin (sum_topology X I) U \<longrightarrow> P U) \<longleftrightarrow>
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    83
        (\<forall>t. (\<forall>i \<in> I. closedin (X i) (t i)) \<longrightarrow> P(Sigma I t))"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    84
  by (metis closedin_sum_topology_alt)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    85
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    86
lemma exists_closedin_sum_topology:
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    87
   "(\<exists>U. closedin (sum_topology X I) U \<and> P U) \<longleftrightarrow>
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    88
    (\<exists>T. (\<forall>i \<in> I. closedin (X i) (T i)) \<and> P(Sigma I T))"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    89
  by (simp add: closedin_sum_topology_alt) blast
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    90
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    91
lemma open_map_component_injection:
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    92
   "i \<in> I \<Longrightarrow> open_map (X i) (sum_topology X I) (\<lambda>x. (i,x))"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    93
  unfolding open_map_def openin_sum_topology
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    94
  using openin_subset openin_subopen by (force simp: image_iff)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    95
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    96
lemma closed_map_component_injection:
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    97
  assumes "i \<in> I"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    98
  shows "closed_map(X i) (sum_topology X I) (\<lambda>x. (i,x))"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
    99
proof -
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   100
  have "closedin (X j) {x. j = i \<and> x \<in> U}"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   101
    if "\<And>U S. closedin U S \<Longrightarrow> S \<subseteq> topspace U" and "closedin (X i) U" and "j \<in> I" for U j
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   102
    using that by (cases "j=i") auto
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   103
  then show ?thesis
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   104
    using closedin_subset assms by (force simp: closed_map_def closedin_sum_topology image_iff)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   105
qed
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   106
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   107
lemma continuous_map_component_injection:
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   108
   "i \<in> I \<Longrightarrow> continuous_map(X i) (sum_topology X I) (\<lambda>x. (i,x))"
82520
1b17f0a41aa3 tidied more proofs
paulson <lp15@cam.ac.uk>
parents: 78037
diff changeset
   109
  by (auto simp: continuous_map_def openin_sum_topology Collect_conj_eq openin_Int)
77939
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   110
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   111
lemma subtopology_sum_topology:
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   112
  "subtopology (sum_topology X I) (Sigma I S) =
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   113
        sum_topology (\<lambda>i. subtopology (X i) (S i)) I"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   114
  unfolding topology_eq
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   115
proof (intro strip iffI)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   116
  fix T
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   117
  assume *: "openin (subtopology (sum_topology X I) (Sigma I S)) T"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   118
  then obtain U where U: "\<forall>i\<in>I. openin (X i) (U i) \<and> T = Sigma I U \<inter> Sigma I S" 
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   119
    by (auto simp: openin_subtopology openin_sum_topology_alt)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   120
  have "T = (SIGMA i:I. U i \<inter> S i)"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   121
  proof
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   122
    show "T \<subseteq> (SIGMA i:I. U i \<inter> S i)"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   123
      by (metis "*" SigmaE Sigma_Int_distrib2 U openin_imp_subset subset_iff)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   124
    show "(SIGMA i:I. U i \<inter> S i) \<subseteq> T"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   125
      using U by fastforce
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   126
  qed
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   127
  then show "openin (sum_topology (\<lambda>i. subtopology (X i) (S i)) I) T"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   128
    by (simp add: U openin_disjoint_union openin_subtopology_Int)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   129
next
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   130
  fix T
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   131
  assume *: "openin (sum_topology (\<lambda>i. subtopology (X i) (S i)) I) T"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   132
  then obtain U where "\<forall>i\<in>I. \<exists>T. openin (X i) T \<and> U i = T \<inter> S i" and Teq: "T = Sigma I U"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   133
    by (auto simp: openin_subtopology openin_sum_topology_alt)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   134
  then obtain B where "\<And>i. i\<in>I \<Longrightarrow> openin (X i) (B i) \<and> U i = B i \<inter> S i"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   135
    by metis
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   136
  then show "openin (subtopology (sum_topology X I) (Sigma I S)) T"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   137
    by (auto simp: openin_subtopology openin_sum_topology_alt Teq)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   138
qed
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   139
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   140
lemma embedding_map_component_injection:
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   141
   "i \<in> I \<Longrightarrow> embedding_map (X i) (sum_topology X I) (\<lambda>x. (i,x))"
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   142
  by (metis injective_open_imp_embedding_map continuous_map_component_injection
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   143
            open_map_component_injection inj_onI prod.inject)
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   144
78037
37894dff0111 More material from the HOL Light metric space library
paulson <lp15@cam.ac.uk>
parents: 77939
diff changeset
   145
lemma topological_property_of_sum_component:
37894dff0111 More material from the HOL Light metric space library
paulson <lp15@cam.ac.uk>
parents: 77939
diff changeset
   146
  assumes major: "P (sum_topology X I)"
37894dff0111 More material from the HOL Light metric space library
paulson <lp15@cam.ac.uk>
parents: 77939
diff changeset
   147
    and minor: "\<And>X S. \<lbrakk>P X; closedin X S; openin X S\<rbrakk> \<Longrightarrow> P(subtopology X S)"
37894dff0111 More material from the HOL Light metric space library
paulson <lp15@cam.ac.uk>
parents: 77939
diff changeset
   148
    and PQ:  "\<And>X Y. X homeomorphic_space Y \<Longrightarrow> (P X \<longleftrightarrow> Q Y)"
37894dff0111 More material from the HOL Light metric space library
paulson <lp15@cam.ac.uk>
parents: 77939
diff changeset
   149
  shows "(\<forall>i \<in> I. Q(X i))"
37894dff0111 More material from the HOL Light metric space library
paulson <lp15@cam.ac.uk>
parents: 77939
diff changeset
   150
proof -
37894dff0111 More material from the HOL Light metric space library
paulson <lp15@cam.ac.uk>
parents: 77939
diff changeset
   151
  have "Q(X i)" if "i \<in> I" for i
37894dff0111 More material from the HOL Light metric space library
paulson <lp15@cam.ac.uk>
parents: 77939
diff changeset
   152
  proof -
82520
1b17f0a41aa3 tidied more proofs
paulson <lp15@cam.ac.uk>
parents: 78037
diff changeset
   153
    have "closed_map (X i) (sum_topology X I) (Pair i)"
1b17f0a41aa3 tidied more proofs
paulson <lp15@cam.ac.uk>
parents: 78037
diff changeset
   154
      by (simp add: closed_map_component_injection that)
1b17f0a41aa3 tidied more proofs
paulson <lp15@cam.ac.uk>
parents: 78037
diff changeset
   155
    moreover have "open_map (X i) (sum_topology X I) (Pair i)"
1b17f0a41aa3 tidied more proofs
paulson <lp15@cam.ac.uk>
parents: 78037
diff changeset
   156
      by (simp add: open_map_component_injection that)
1b17f0a41aa3 tidied more proofs
paulson <lp15@cam.ac.uk>
parents: 78037
diff changeset
   157
    ultimately have "P(subtopology (sum_topology X I) (Pair i ` topspace (X i)))"
1b17f0a41aa3 tidied more proofs
paulson <lp15@cam.ac.uk>
parents: 78037
diff changeset
   158
      by (simp add: closed_map_def major minor open_map_def)
78037
37894dff0111 More material from the HOL Light metric space library
paulson <lp15@cam.ac.uk>
parents: 77939
diff changeset
   159
    then show ?thesis
37894dff0111 More material from the HOL Light metric space library
paulson <lp15@cam.ac.uk>
parents: 77939
diff changeset
   160
      by (metis PQ embedding_map_component_injection embedding_map_imp_homeomorphic_space homeomorphic_space_sym that)
37894dff0111 More material from the HOL Light metric space library
paulson <lp15@cam.ac.uk>
parents: 77939
diff changeset
   161
  qed
37894dff0111 More material from the HOL Light metric space library
paulson <lp15@cam.ac.uk>
parents: 77939
diff changeset
   162
  then show ?thesis by metis
37894dff0111 More material from the HOL Light metric space library
paulson <lp15@cam.ac.uk>
parents: 77939
diff changeset
   163
qed
37894dff0111 More material from the HOL Light metric space library
paulson <lp15@cam.ac.uk>
parents: 77939
diff changeset
   164
77939
98879407d33c Two new theories containing material ported from HOL Light about abstract topology
paulson <lp15@cam.ac.uk>
parents:
diff changeset
   165
end