@@ -19,34 +19,23 @@ open Units
1919
2020/-- If a submonoid is open in a topological monoid, then its units form an open subset
2121of the units of the monoid. -/
22- @ [to_additive /-- If a subgroup of the additive units is open in a topological additive monoid,
22+ @ [to_additive /-- If a submonoid is open in a topological additive monoid,
2323then its additive units form an open subset of the additive units of the monoid. -/ ]
2424lemma Submonoid.isOpen_units {M : Type *} [TopologicalSpace M] [Monoid M]
2525 {U : Submonoid M} (hU : IsOpen (U : Set M)) : IsOpen (U.units : Set Mˣ) :=
2626 (hU.preimage Units.continuous_val).inter (hU.preimage Units.continuous_coe_inv)
2727
28- /-- The monoid homeomorphism between the units of a product of topological monoids
29- and the product of the units of the monoids . -/
30- @ [to_additive /-- The additive monoid homeomorphism between the additive units of a product of
31- topological additive monoids and the product of the additive units of the monoids . -/ ]
28+ /-- The isomorphism of topological groups between the units of a product and
29+ the product of the units. -/
30+ @ [to_additive /-- The isomorphism of topological additive groups between the additive units of a product
31+ and the product of the additive units. -/ ]
3232def ContinuousMulEquiv.piUnits {ι : Type *}
3333 {M : ι → Type *} [(i : ι) → Monoid (M i)] [(i : ι) → TopologicalSpace (M i)] :
3434 (Π i, M i)ˣ ≃ₜ* Π i, (M i)ˣ where
3535 __ := MulEquiv.piUnits
36- continuous_toFun := by
37- simp only [MulEquiv.toEquiv_eq_coe, Equiv.toFun_as_coe, EquivLike.coe_coe]
38- refine continuous_pi (fun i => ?_)
39- refine Units.continuous_iff.mpr ⟨?_, ?_⟩
40- · simp only [Function.comp_def, MulEquiv.val_piUnits_apply]
41- exact (continuous_apply i).comp' Units.continuous_val
42- · simp only [MulEquiv.val_inv_piUnits_apply, Units.inv_eq_val_inv]
43- exact (continuous_apply i).comp' Units.continuous_coe_inv
44- continuous_invFun := by
45- simp only [MulEquiv.toEquiv_eq_coe, Equiv.invFun_as_coe, MulEquiv.coe_toEquiv_symm]
46- refine Units.continuous_iff.mpr ⟨?_, ?_⟩
47- · refine continuous_pi (fun i => ?_)
48- simp only [Function.comp_def, MulEquiv.val_piUnits_symm_apply]
49- exact Units.continuous_val.comp' (continuous_apply i)
50- · refine continuous_pi (fun i => ?_)
51- simp only [MulEquiv.val_inv_piUnits_symm_apply, Units.inv_eq_val_inv]
52- exact Units.continuous_coe_inv.comp' (continuous_apply i)
36+ continuous_toFun := continuous_pi fun _ ↦ Units.continuous_iff.mpr
37+ ⟨continuous_apply _ |>.comp Units.continuous_val,
38+ continuous_apply _ |>.comp Units.continuous_coe_inv⟩
39+ continuous_invFun := Units.continuous_iff.mpr
40+ ⟨continuous_pi fun _ ↦ Units.continuous_val.comp <| continuous_apply _,
41+ continuous_pi fun _ ↦ Units.continuous_coe_inv.comp <| continuous_apply _⟩
0 commit comments