@@ -3,7 +3,6 @@ Copyright (c) 2022 RΓ©my Degenne. All rights reserved.
3
3
Released under Apache 2.0 license as described in the file LICENSE.
4
4
Authors: RΓ©my Degenne
5
5
-/
6
- import Mathlib.Order.SuccPred.Basic
7
6
import Mathlib.Topology.Order.Basic
8
7
9
8
/-!
@@ -42,70 +41,25 @@ theorem DiscreteTopology.secondCountableTopology_of_encodable {Ξ± : Type*}
42
41
[TopologicalSpace Ξ±] [DiscreteTopology Ξ±] [Countable Ξ±] : SecondCountableTopology Ξ± :=
43
42
DiscreteTopology.secondCountableTopology_of_countable
44
43
45
- theorem bot_topologicalSpace_eq_generateFrom_of_pred_succOrder {Ξ±} [LinearOrder Ξ±] [PredOrder Ξ±]
46
- [SuccOrder Ξ±] [NoMinOrder Ξ±] [NoMaxOrder Ξ±] :
47
- (β₯ : TopologicalSpace Ξ±) = generateFrom { s | β a, s = Ioi a β¨ s = Iio a } := by
48
- refine (eq_bot_of_singletons_open fun a => ?_).symm
49
- have h_singleton_eq_inter : {a} = Iio (succ a) β© Ioi (pred a) := by
50
- suffices h_singleton_eq_inter' : {a} = Iic a β© Ici a by
51
- rw [h_singleton_eq_inter', β Ioi_pred, β Iio_succ]
52
- rw [inter_comm, Ici_inter_Iic, Icc_self a]
53
- rw [h_singleton_eq_inter]
54
- letI := Preorder.topology Ξ±
55
- apply IsOpen.inter
56
- Β· exact isOpen_generateFrom_of_mem β¨succ a, Or.inr rflβ©
57
- Β· exact isOpen_generateFrom_of_mem β¨pred a, Or.inl rflβ©
58
-
59
- theorem discreteTopology_iff_orderTopology_of_pred_succ' [LinearOrder Ξ±] [PredOrder Ξ±]
60
- [SuccOrder Ξ±] [NoMinOrder Ξ±] [NoMaxOrder Ξ±] : DiscreteTopology Ξ± β OrderTopology Ξ± := by
61
- refine β¨fun h => β¨?_β©, fun h => β¨?_β©β©
62
- Β· rw [h.eq_bot]
63
- exact bot_topologicalSpace_eq_generateFrom_of_pred_succOrder
64
- Β· rw [h.topology_eq_generate_intervals]
65
- exact bot_topologicalSpace_eq_generateFrom_of_pred_succOrder.symm
66
-
67
- instance (priority := 100 ) DiscreteTopology.orderTopology_of_pred_succ' [h : DiscreteTopology Ξ±]
68
- [LinearOrder Ξ±] [PredOrder Ξ±] [SuccOrder Ξ±] [NoMinOrder Ξ±] [NoMaxOrder Ξ±] : OrderTopology Ξ± :=
69
- discreteTopology_iff_orderTopology_of_pred_succ'.1 h
70
-
71
44
theorem LinearOrder.bot_topologicalSpace_eq_generateFrom {Ξ±} [LinearOrder Ξ±] [PredOrder Ξ±]
72
45
[SuccOrder Ξ±] : (β₯ : TopologicalSpace Ξ±) = generateFrom { s | β a, s = Ioi a β¨ s = Iio a } := by
73
- refine (eq_bot_of_singletons_open fun a => ?_).symm
74
- have h_singleton_eq_inter : {a} = Iic a β© Ici a := by rw [inter_comm, Ici_inter_Iic, Icc_self a]
75
- by_cases ha_top : IsTop a
76
- Β· rw [ha_top.Iic_eq, inter_comm, inter_univ] at h_singleton_eq_inter
77
- by_cases ha_bot : IsBot a
78
- Β· rw [ha_bot.Ici_eq] at h_singleton_eq_inter
79
- rw [h_singleton_eq_inter]
80
- -- Porting note: Specified instance for `isOpen_univ` explicitly to fix an error.
81
- apply @isOpen_univ _ (generateFrom { s | β a, s = Ioi a β¨ s = Iio a })
82
- Β· rw [isBot_iff_isMin] at ha_bot
83
- rw [β Ioi_pred_of_not_isMin ha_bot] at h_singleton_eq_inter
84
- rw [h_singleton_eq_inter]
85
- exact isOpen_generateFrom_of_mem β¨pred a, Or.inl rflβ©
86
- Β· rw [isTop_iff_isMax] at ha_top
87
- rw [β Iio_succ_of_not_isMax ha_top] at h_singleton_eq_inter
88
- by_cases ha_bot : IsBot a
89
- Β· rw [ha_bot.Ici_eq, inter_univ] at h_singleton_eq_inter
90
- rw [h_singleton_eq_inter]
91
- exact isOpen_generateFrom_of_mem β¨succ a, Or.inr rflβ©
92
- Β· rw [isBot_iff_isMin] at ha_bot
93
- rw [β Ioi_pred_of_not_isMin ha_bot] at h_singleton_eq_inter
94
- rw [h_singleton_eq_inter]
95
- -- Porting note: Specified instance for `IsOpen.inter` explicitly to fix an error.
96
- letI := Preorder.topology Ξ±
97
- apply IsOpen.inter
98
- Β· exact isOpen_generateFrom_of_mem β¨succ a, Or.inr rflβ©
99
- Β· exact isOpen_generateFrom_of_mem β¨pred a, Or.inl rflβ©
46
+ let _ := Preorder.topology Ξ±
47
+ have : OrderTopology Ξ± := β¨rflβ©
48
+ exact DiscreteTopology.of_predOrder_succOrder.eq_bot.symm
49
+
50
+ @[deprecated (since := "2024-11-02")]
51
+ alias bot_topologicalSpace_eq_generateFrom_of_pred_succOrder :=
52
+ LinearOrder.bot_topologicalSpace_eq_generateFrom
100
53
101
54
theorem discreteTopology_iff_orderTopology_of_pred_succ [LinearOrder Ξ±] [PredOrder Ξ±]
102
55
[SuccOrder Ξ±] : DiscreteTopology Ξ± β OrderTopology Ξ± := by
103
- refine β¨fun h => β¨?_β©, fun h => β¨?_β©β©
104
- Β· rw [h.eq_bot]
105
- exact LinearOrder.bot_topologicalSpace_eq_generateFrom
106
- Β· rw [h.topology_eq_generate_intervals]
107
- exact LinearOrder.bot_topologicalSpace_eq_generateFrom.symm
56
+ refine β¨fun h β¦ β¨?_β©, fun h β¦ .of_predOrder_succOrderβ©
57
+ rw [h.eq_bot, LinearOrder.bot_topologicalSpace_eq_generateFrom]
58
+
59
+ @[deprecated (since := "2024-11-02")]
60
+ alias discreteTopology_iff_orderTopology_of_pred_succ' :=
61
+ discreteTopology_iff_orderTopology_of_pred_succ
108
62
109
- instance (priority := 100 ) DiscreteTopology.orderTopology_of_pred_succ [h : DiscreteTopology Ξ±]
110
- [LinearOrder Ξ±] [PredOrder Ξ±] [SuccOrder Ξ±] : OrderTopology Ξ± :=
111
- discreteTopology_iff_orderTopology_of_pred_succ.mp h
63
+ instance OrderTopology.of_discreteTopology [LinearOrder Ξ±] [PredOrder Ξ±] [SuccOrder Ξ±]
64
+ [DiscreteTopology Ξ±] : OrderTopology Ξ± :=
65
+ discreteTopology_iff_orderTopology_of_pred_succ.mp βΉ_βΊ
0 commit comments