Subfields #
Let K
be a field. This file defines the "bundled" subfield type Subfield K
, a type
whose terms correspond to subfields of K
. This is the preferred way to talk
about subfields in mathlib. Unbundled subfields (s : Set K
and IsSubfield s
)
are not in this file, and they will ultimately be deprecated.
We prove that subfields are a complete lattice, and that you can map
(pushforward) and
comap
(pull back) them along ring homomorphisms.
We define the closure
construction from Set R
to Subfield R
, sending a subset of R
to the subfield it generates, and prove that it is a Galois insertion.
Main definitions #
Notation used here:
(K : Type u) [Field K] (L : Type u) [Field L] (f g : K →+* L)
(A : Subfield K) (B : Subfield L) (s : Set K)
-
Subfield R
: the type of subfields of a ringR
. -
instance : CompleteLattice (Subfield R)
: the complete lattice structure on the subfields. -
Subfield.closure
: subfield closure of a set, i.e., the smallest subfield that includes the set. -
Subfield.gi
:closure : Set M → Subfield M
and coercion(↑) : Subfield M → Set M
form aGaloisInsertion
. -
comap f B : Subfield K
: the preimage of a subfieldB
along the ring homomorphismf
-
map f A : Subfield L
: the image of a subfieldA
along the ring homomorphismf
. -
prod A B : Subfield (K × L)
: the product of subfields -
f.fieldRange : Subfield B
: the range of the ring homomorphismf
. -
eqLocusField f g : Subfield K
: given ring homomorphismsf g : K →+* R
, the subfield ofK
wheref x = g x
Implementation notes #
A subfield is implemented as a subring which is closed under ⁻¹
.
Lattice inclusion (e.g. ≤
and ⊓
) is used rather than set notation (⊆
and ∩
), although
∈
is defined as membership of a subfield's underlying set.
Tags #
subfield, subfields
SubfieldClass S K
states S
is a type of subsets s ⊆ K
closed under field operations.
Instances
A subfield contains 1
, products and inverses.
Be assured that we're not actually proving that subfields are subgroups:
SubgroupClass
is really an abbreviation of SubgroupWithOrWithoutZeroClass
.
Equations
- SubfieldClass.instRatCastSubtypeMemInstMembership s = { ratCast := fun x => { val := ↑x, property := (_ : ↑x ∈ s) } }
Equations
- SubfieldClass.instSMulRatSubtypeMemInstMembership s = { smul := fun a x => { val := a • ↑x, property := (_ : a • ↑x ∈ s) } }
A subfield inherits a field structure
Equations
- One or more equations did not get rendered due to their size.
A subfield of a LinearOrderedField
is a LinearOrderedField
.
Equations
- One or more equations did not get rendered due to their size.
- carrier : Set K
- one_mem' : 1 ∈ s.carrier
- zero_mem' : 0 ∈ s.carrier
A subfield is closed under multiplicative inverses.
Subfield R
is the type of subfields of R
. A subfield of R
is a subset s
that is a
multiplicative submonoid and an additive subgroup. Note in particular that it shares the
same 0 and 1 as R.
Instances For
The underlying AddSubgroup
of a subfield.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A Subring
containing inverses is a Subfield
.
Equations
- Subring.toSubfield s hinv = { toSubring := { toSubsemiring := s.toSubsemiring, neg_mem' := (_ : ∀ {x : K}, x ∈ s.carrier → -x ∈ s.carrier) }, inv_mem' := hinv }
Instances For
Product of a multiset of elements in a subfield is in the subfield.
Equations
Equations
- Subfield.instPowSubtypeMemSubfieldInstMembershipInstSetLikeSubfieldInt s = { pow := fun x z => { val := ↑(x ^ z), property := (_ : ↑x ^ z ∈ s) } }
A subfield of a LinearOrderedField
is a LinearOrderedField
.
Equations
- One or more equations did not get rendered due to their size.
Equations
Partial order #
top #
comap #
map #
range #
The range of a ring homomorphism, as a subfield of the target. See Note [range copy pattern].
Equations
- RingHom.fieldRange f = Subfield.copy (Subfield.map f ⊤) (Set.range ↑f) (_ : Set.range ↑f = ↑f '' Set.univ)
Instances For
The range of a morphism of fields is a fintype, if the domain is a fintype.
Note that this instance can cause a diamond with Subtype.Fintype
if L
is also a fintype.
Equations
inf #
Subfields of a ring form a complete lattice.
Equations
- One or more equations did not get rendered due to their size.
subfield closure of a subset #
The subfield generated by a set includes the set.
An induction principle for closure membership. If p
holds for 1
, and all elements
of s
, and is preserved under addition, negation, and multiplication, then p
holds for all
elements of the closure of s
.
closure
forms a Galois insertion with the coercion to set.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Closure of a subfield S
equals S
.
The underlying set of a non-empty directed sSup of subfields is just a union of the subfields. Note that this fails without the directedness assumption (the union of two subfields is typically not a subfield)
Restriction of a ring homomorphism to its range interpreted as a subfield.
Equations
Instances For
The image under a ring homomorphism of the subfield generated by a set equals the subfield generated by the image of the set.
The ring homomorphism associated to an inclusion of subfields.
Equations
- Subfield.inclusion h = RingHom.codRestrict (Subfield.subtype S) T (_ : ∀ (x : { x // x ∈ S }), ↑(Subfield.subtype S) x ∈ T)