Skip to content

Commit

Permalink
Reapply "ContinuousSMul for subfield intermediate fields"
Browse files Browse the repository at this point in the history
This reverts commit ff465bf.
  • Loading branch information
jjdishere committed Oct 23, 2024
1 parent 8c75884 commit fa5a1b2
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 1 deletion.
4 changes: 4 additions & 0 deletions Mathlib/Topology/Algebra/Algebra.lean
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@ theorem continuousSMul_of_algebraMap [TopologicalSemiring A] (h : Continuous (al
ContinuousSMul R A :=
⟨(continuous_algebraMap_iff_smul R A).1 h⟩

instance Subalgebra.continuousSMul (S : Subalgebra R A) (X) [TopologicalSpace X] [MulAction A X]
[ContinuousSMul A X] : ContinuousSMul S X :=
Subsemiring.continuousSMul S.toSubsemiring X

section
variable [ContinuousSMul R A]

Expand Down
26 changes: 25 additions & 1 deletion Mathlib/Topology/Algebra/Field.lean
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Copyright (c) 2021 Patrick Massot. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Patrick Massot, Kim Morrison
-/
import Mathlib.Algebra.Field.Subfield
import Mathlib.FieldTheory.Adjoin
import Mathlib.Algebra.GroupWithZero.Divisibility
import Mathlib.Topology.Algebra.GroupWithZero
import Mathlib.Topology.Algebra.Ring.Basic
Expand Down Expand Up @@ -149,3 +149,27 @@ theorem IsPreconnected.eq_of_sq_eq [Field 𝕜] [HasContinuousInv₀ 𝕜] [Cont
(iff_of_eq (iff_false _)).2 (hg_ne _)] at hy' ⊢ <;> assumption

end Preconnected

section ContinuousSMul

variable {F : Type*} [DivisionRing F] [TopologicalSpace F] [TopologicalRing F]

variable {K L : Type*} [Field K] [Field L] [Algebra K L]
[TopologicalSpace L] [TopologicalRing L]

variable (X : Type*) [TopologicalSpace X]
[MulAction L X] [ContinuousSMul L X]
[MulAction F X] [ContinuousSMul F X]

instance Subfield.continuousSMul (M : Subfield F) : ContinuousSMul M X :=
Subring.continuousSMul M.toSubring X

instance IntermediateField.continuousSMul (M : IntermediateField K L) : ContinuousSMul M X :=
M.toSubfield.continuousSMul X

instance IntermediateField.botContinuousSMul (M : IntermediateField K L) :
ContinuousSMul (⊥ : IntermediateField K L) M :=
Inducing.continuousSMul (X := L) (N := (⊥ : IntermediateField K L)) (Y := M)
(M := (⊥ : IntermediateField K L)) inducing_subtype_val continuous_id rfl

end ContinuousSMul
8 changes: 8 additions & 0 deletions Mathlib/Topology/Algebra/Ring/Basic.lean
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,10 @@ namespace Subsemiring
instance topologicalSemiring (S : Subsemiring α) : TopologicalSemiring S :=
{ S.toSubmonoid.continuousMul, S.toAddSubmonoid.continuousAdd with }

instance continuousSMul (s : Subsemiring α) (X) [TopologicalSpace X] [MulAction α X]
[ContinuousSMul α X] : ContinuousSMul s X :=
Submonoid.continuousSMul

end Subsemiring

/-- The (topological-space) closure of a subsemiring of a topological semiring is
Expand Down Expand Up @@ -234,6 +238,10 @@ variable [Ring α] [TopologicalRing α]
instance Subring.instTopologicalRing (S : Subring α) : TopologicalRing S :=
{ S.toSubmonoid.continuousMul, inferInstanceAs (TopologicalAddGroup S.toAddSubgroup) with }

instance Subring.continuousSMul (s : Subring α) (X) [TopologicalSpace X] [MulAction α X]
[ContinuousSMul α X] : ContinuousSMul s X :=
Subsemiring.continuousSMul s.toSubsemiring X

/-- The (topological-space) closure of a subring of a topological ring is
itself a subring. -/
def Subring.topologicalClosure (S : Subring α) : Subring α :=
Expand Down

0 comments on commit fa5a1b2

Please sign in to comment.