@@ -74,7 +74,7 @@ together.
7474
7575noncomputable section
7676
77- open Metric Set
77+ open Metric Set Function
7878
7979namespace Topology
8080
@@ -357,6 +357,60 @@ lemma RelCWComplex.cellFrontier_zero_eq_empty [RelCWComplex C D] {j : cell C 0}
357357 cellFrontier 0 j = ∅ := by
358358 simp [cellFrontier, sphere_eq_empty_of_subsingleton]
359359
360+ lemma RelCWComplex.nonempty_cellFrontier [CWComplex C] {n : ℕ} (hn : n ≠ 0 ) (j : cell C n) :
361+ (cellFrontier n j).Nonempty := by
362+ letI : NeZero n := ⟨hn⟩
363+ use map n j (Pi.single 0 1 )
364+ simp only [cellFrontier, mem_image, mem_sphere_iff_norm, sub_zero]
365+ use Pi.single 0 1 , by simp [Pi.norm_single]
366+
367+ /-- If two 0-cells have the same characteristic image point, they are equal. -/
368+ lemma RelCWComplex.injective_map_zero (C : Set X) [RelCWComplex C D] :
369+ Injective ((map 0 · ![]) : cell C 0 → X) := by
370+ rintro x z h
371+ by_contra hne
372+ exact not_disjoint_iff.mpr ⟨map 0 x ![], by simp [openCell_zero_eq_singleton, h]⟩
373+ <| disjoint_openCell_of_ne (by grind : (⟨0 , x⟩ : Σ n, cell C n) ≠ ⟨0 , z⟩)
374+
375+ @[simp]
376+ lemma RelCWComplex.map_zero_eq_self_iff (C : Set X) [RelCWComplex C D] {x z : cell C 0 } :
377+ map 0 x ![] = map 0 z ![] ↔ x = z :=
378+ ⟨fun h ↦ injective_map_zero C h, fun h ↦ h ▸ rfl⟩
379+
380+ lemma RelCWComplex.closedCell_zero_injective (C : Set X) [RelCWComplex C D] :
381+ Injective (closedCell 0 : cell C 0 → _) := by
382+ intro x y h
383+ rw [closedCell_zero_eq_singleton, closedCell_zero_eq_singleton, singleton_eq_singleton_iff] at h
384+ exact injective_map_zero C h
385+
386+ lemma RelCWComplex.openCell_zero_injective (C : Set X) [RelCWComplex C D] :
387+ Injective (openCell 0 : cell C 0 → _) := by
388+ intro x y h
389+ rw [openCell_zero_eq_singleton, openCell_zero_eq_singleton, singleton_eq_singleton_iff] at h
390+ exact injective_map_zero C h
391+
392+ lemma RelCWComplex.cellFrontier_one_eq [RelCWComplex C D] (e : cell C 1 ) :
393+ cellFrontier 1 e = map 1 e '' {-1 , 1 } := by
394+ rw [cellFrontier]
395+ congr 1
396+ ext f
397+ simp only [mem_sphere_iff_norm, sub_zero, Pi.norm_def, Finset.univ_unique, Fin.default_eq_zero,
398+ Fin.isValue, Finset.sup_singleton, coe_nnnorm, Real.norm_eq_abs, abs_eq (zero_le_one' ℝ),
399+ mem_insert_iff, mem_singleton_iff]
400+ rw [eq_const_of_unique (f := f), ← funext_iff_of_subsingleton (x := 0 ) (y := 0 )]
401+ simp [const_apply, or_comm]
402+
403+ lemma CWComplex.exists_cellFrontier_one_eq [CWComplex C] (e : cell C 1 ) :
404+ ∃ x y : cell C 0 , cellFrontier 1 e = closedCell 0 x ∪ closedCell 0 y := by
405+ obtain ⟨f, h⟩ := cellFrontier_subset_finite_closedCell 1 e
406+ simp only [RelCWComplex.cellFrontier_one_eq, image_pair, Order.lt_one_iff, iUnion_iUnion_eq_left,
407+ RelCWComplex.closedCell_zero_eq_singleton, pair_subset_iff, mem_iUnion, mem_singleton_iff,
408+ exists_prop] at h
409+ obtain ⟨⟨u, hu, hun1⟩, v, hv, hv1⟩ := h
410+ use u, v
411+ simp [RelCWComplex.cellFrontier_one_eq, image_pair, RelCWComplex.closedCell_zero_eq_singleton,
412+ hun1, hv1, pair_comm]
413+
360414lemma RelCWComplex.base_subset_complex [RelCWComplex C D] : D ⊆ C := by
361415 simp_rw [← union]
362416 exact subset_union_left
0 commit comments