Subfields #
Let K be a division ring, for example a field.
This file defines the "bundled" subfield type Subfield K, a type
whose terms correspond to subfields of K. Note we do not require the "subfields" to be
commutative, so they are really sub-division rings / skew fields. 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 K to Subfield K, sending a subset of K
to the subfield it generates, and prove that it is a Galois insertion.
Main definitions #
Notation used here:
(K : Type u) [DivisionRing K] (L : Type u) [DivisionRing L] (f g : K →+* L)
(A : Subfield K) (B : Subfield L) (s : Set K)
-
Subfield K: the type of subfields of a division ringK. -
instance : CompleteLattice (Subfield K): 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 Mand coercion(↑) : Subfield M → Set Mform aGaloisInsertion. -
comap f B : Subfield K: the preimage of a subfieldBalong the ring homomorphismf -
map f A : Subfield L: the image of a subfieldAalong the ring homomorphismf. -
f.fieldRange : Subfield L: the range of the ring homomorphismf. -
eqLocusField f g : Subfield K: given ring homomorphismsf g : K →+* R, the subfield ofKwheref 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
- (_ : SubgroupClass S K) = (_ : SubgroupClass S K)
Equations
- SubfieldClass.instRatCastSubtypeMemInstMembership s = { ratCast := fun (x : ℚ) => { val := ↑x, property := (_ : ↑x ∈ s) } }
A subfield inherits a division ring structure
Equations
- One or more equations did not get rendered due to their size.
A subfield of a field 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.
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.
- carrier : Set K
- one_mem' : 1 ∈ self.carrier
- zero_mem' : 0 ∈ self.carrier
A subfield is closed under multiplicative inverses.
Instances For
The underlying AddSubgroup of a subfield.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- (_ : SubfieldClass (Subfield K) K) = (_ : SubfieldClass (Subfield K) K)
Two subfields are equal if they have the same elements.
Copy of a subfield with a new carrier equal to the old one. Useful to fix definitional
equalities.
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 := s, inv_mem' := hinv }
Instances For
A subfield contains the field's 1.
A subfield contains the field's 0.
A subfield is closed under multiplication.
A subfield is closed under addition.
A subfield is closed under negation.
A subfield is closed under subtraction.
A subfield is closed under inverses.
A subfield is closed under division.
Product of a list of elements in a subfield is in the subfield.
Sum of a list of elements in a subfield is in the subfield.
Sum of a multiset of elements in a Subfield is in the Subfield.
Sum of elements in a Subfield indexed by a Finset is in the Subfield.
Equations
Equations
- Subfield.instDivSubtypeMemSubfieldInstMembershipInstSetLikeSubfield s = { div := fun (x y : ↥s) => { val := ↑x / ↑y, property := (_ : ↑x / ↑y ∈ s) } }
Equations
- Subfield.instInvSubtypeMemSubfieldInstMembershipInstSetLikeSubfield s = { inv := fun (x : ↥s) => { val := (↑x)⁻¹, property := (_ : (↑x)⁻¹ ∈ s) } }
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.
The embedding from a subfield of the field K to K.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Partial order #
top #
comap #
The preimage of a subfield along a ring homomorphism is a subfield.
Equations
- One or more equations did not get rendered due to their size.
Instances For
map #
The image of a subfield along a ring homomorphism is a subfield.
Equations
- One or more equations did not get rendered due to their size.
Instances For
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 #
The inf of two subfields is their intersection.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
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.
A subfield t includes closure s if and only if it includes s.
Subfield closure of a set is monotone in its argument: if s ⊆ t,
then closure s ≤ closure t.
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 subfield of elements x : R such that f x = g x, i.e.,
the equalizer of f and g as a subfield of R
Equations
- One or more equations did not get rendered due to their size.
Instances For
If two ring homomorphisms are equal on a set, then they are equal on its subfield closure.
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 : ↥S), (Subfield.subtype S) x ∈ T)
Instances For
Makes the identity isomorphism from a proof two subfields of a multiplicative monoid are equal.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Product of a multiset of elements in a subfield is in the subfield.