Module

Fields.lean

Nyll.ClassFieldTheory.AbstractClassFieldTheory.Degree.Fields
140 declarations indexed from sourceView source ↗

normalized degree and Frobenius theory: the initial datum and abstract fields

This file records the opening datum of abstract valuation theory and the residue and ramification indices attached to inclusions of abstract fields. As in, a field is represented contravariantly by a closed subgroup of the ambient profinite group.

Fields finite over the distinguished base

Declarations

ClassFormation.ZHatMul

The multiplicative presentation of ℤ̂; multiplication here is addition in the profinite integers.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
abbrev ZHatMul : Type 0
ClassFormation.DegreeData

The degree datum on a topological group: a continuous surjection d : G → ℤ̂. Profinite hypotheses belong to the ambient group and are requested only by results that use them; they are not duplicated as proof fields inside this datum.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
structure DegreeData (G : Type*) [Group G] [TopologicalSpace G] where
  /-- The continuous degree homomorphism to the profinite integers. -/
  degree : G →ₜ* ZHatMul
  /-- The degree homomorphism is surjective. -/
  degree_surjective : Function.Surjective degree
ClassFormation.baseField

The distinguished base field, represented contravariantly by the full ambient group.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
def baseField (G : Type u) [Group G] [TopologicalSpace G] : ClosedSubgroup G where
  toSubgroup := ⊤
  isClosed' := isClosed_univ
ClassFormation.baseField_toSubgroup

The distinguished base field is represented by the full ambient subgroup.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
theorem baseField_toSubgroup (G : Type u) [Group G] [TopologicalSpace G] :
    (baseField G).toSubgroup = ⊤
ClassFormation.le_baseField

Every abstract field lies over the distinguished base field.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
theorem le_baseField (K : ClosedSubgroup G) :
    K.toSubgroup ≤ (baseField G).toSubgroup
ClassFormation.DegreeData.inertia

The inertia group I = ker d, including its closedness.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
def inertia (D : DegreeData G) : ClosedSubgroup G where
  toSubgroup := D.degree.toMonoidHom.ker
  isClosed' := by
    change IsClosed {g : G | (D.degree g).toAdd = 0}
    exact isClosed_eq D.degree.continuous_toFun continuous_const
ClassFormation.DegreeData.mem_inertia_iff

An element is inertial exactly when its degree is the multiplicative identity.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
theorem mem_inertia_iff (D : DegreeData G) (g : G) :
    g ∈ D.inertia ↔ D.degree g = 1
ClassFormation.DegreeData.restrictedDegree

The restriction of d to the subgroup representing an abstract field.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
def restrictedDegree (D : DegreeData G) (K : ClosedSubgroup G) :
    K.toSubgroup →ₜ* ZHatMul where
  toMonoidHom := D.degree.toMonoidHom.comp K.toSubgroup.subtype
  continuous_toFun := D.degree.continuous_toFun.comp continuous_subtype_val
ClassFormation.DegreeData.restrictedDegree_apply

The restricted degree map evaluates through the underlying ambient element.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
theorem restrictedDegree_apply (D : DegreeData G) (K : ClosedSubgroup G)
    (k : K.toSubgroup) : D.restrictedDegree K k = D.degree k.1
ClassFormation.DegreeData.fieldImage

The image d(G_K) in ℤ̂.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
def fieldImage (D : DegreeData G) (K : ClosedSubgroup G) : Subgroup ZHatMul
ClassFormation.DegreeData.fieldImage_eq_map

The field's degree image is the image of its subgroup under the ambient degree map.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
theorem fieldImage_eq_map (D : DegreeData G) (K : ClosedSubgroup G) :
    D.fieldImage K = K.toSubgroup.map D.degree.toMonoidHom
ClassFormation.DegreeData.fieldInertia

The inertia group I_K = G_K ∩ I over K.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
def fieldInertia (D : DegreeData G) (K : ClosedSubgroup G) : ClosedSubgroup G
ClassFormation.DegreeData.mem_fieldInertia_iff

Field inertia consists of field elements whose ambient degree is one.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
theorem mem_fieldInertia_iff (D : DegreeData G) (K : ClosedSubgroup G) (g : G) :
    g ∈ D.fieldInertia K ↔ g ∈ K ∧ D.degree g = 1
ClassFormation.DegreeData.fieldInertiaWithin

I_K viewed inside G_K; equivalently, the kernel of d|G_K.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
def fieldInertiaWithin (D : DegreeData G) (K : ClosedSubgroup G) :
    Subgroup K.toSubgroup
ClassFormation.DegreeData.fieldInertiaWithin_normal

The degree kernel defining inertia inside a field subgroup is normal.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
instance fieldInertiaWithin_normal (D : DegreeData G) (K : ClosedSubgroup G) :
    (D.fieldInertiaWithin K).Normal
ClassFormation.DegreeData.mem_fieldInertiaWithin_iff

Membership in internal field inertia is equivalent to having ambient degree one.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
theorem mem_fieldInertiaWithin_iff (D : DegreeData G) (K : ClosedSubgroup G)
    (k : K.toSubgroup) : k ∈ D.fieldInertiaWithin K ↔ D.degree k.1 = 1
ClassFormation.DegreeData.residueDegreeCardinal

The absolute residue degree as the cardinality of the actual quotient of ZHat by the degree image.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
def residueDegreeCardinal (D : DegreeData G)
    (K : ClosedSubgroup G) : Cardinal
ClassFormation.DegreeData.residueQuotient

The actual quotient whose cardinality is the absolute residue degree.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
def residueQuotient (D : DegreeData G) (K : ClosedSubgroup G) : Type
ClassFormation.DegreeData.residueDegreeCardinal_eq_mk_residueQuotient

The cardinal residue degree is the cardinality of the concrete residue quotient.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
theorem residueDegreeCardinal_eq_mk_residueQuotient
    (D : DegreeData G) (K : ClosedSubgroup G) :
    D.residueDegreeCardinal K = Cardinal.mk (D.residueQuotient K)
ClassFormation.DegreeData.residueDegreeCardinal_baseField

The distinguished base field has absolute residue degree one, without passing through a natural-valued subgroup index.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
theorem residueDegreeCardinal_baseField (D : DegreeData G) :
    D.residueDegreeCardinal (baseField G) = 1
ClassFormation.DegreeData.FiniteResidueAbstractField

An abstract field together with finiteness of its actual degree-image quotient. Its numerical residue degree is therefore genuinely positive.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
structure FiniteResidueAbstractField (D : DegreeData G) where
  /-- The closed subgroup representing the abstract field. -/
  field : ClosedSubgroup G
  /-- The field's residue quotient is finite. -/
  finiteResidueQuotient : Finite (D.residueQuotient field)
ClassFormation.DegreeData.FiniteResidueAbstractField.ofField

Bundle a field at the boundary where its actual residue quotient is known to be finite.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteResidueAbstractField
variable {D : DegreeData G}
def ofField (D : DegreeData G) (K : ClosedSubgroup G)
    [hfinite : Finite (D.residueQuotient K)] :
    FiniteResidueAbstractField D where
  field := K
  finiteResidueQuotient := hfinite
ClassFormation.DegreeData.FiniteResidueAbstractField.toSubgroup

The underlying subgroup.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteResidueAbstractField
variable {D : DegreeData G}
def toSubgroup (K : FiniteResidueAbstractField D) : Subgroup G

A finite-residue abstract field supplies finiteness of its residue quotient.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteResidueAbstractField
variable {D : DegreeData G}
instance (K : FiniteResidueAbstractField D) :
    Finite (D.residueQuotient K.field)
ClassFormation.DegreeData.FiniteResidueAbstractField.residueDegree

The positive absolute residue degree.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteResidueAbstractField
variable {D : DegreeData G}
def residueDegree (K : FiniteResidueAbstractField D) : ℕ+
ClassFormation.DegreeData.FiniteResidueAbstractField.residueDegree_coe

The natural value of the positive residue degree is the quotient's Nat.card.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteResidueAbstractField
variable {D : DegreeData G}
theorem residueDegree_coe (K : FiniteResidueAbstractField D) :
    (K.residueDegree : ℕ) = Nat.card (D.residueQuotient K.field)
ClassFormation.DegreeData.FiniteResidueAbstractField.residueDegreeCardinal_eq_coe

Cardinal-to-positive-natural specialization at the finite boundary.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteResidueAbstractField
variable {D : DegreeData G}
theorem residueDegreeCardinal_eq_coe
    (K : FiniteResidueAbstractField D) :
    D.residueDegreeCardinal K.field = ((K.residueDegree : ℕ) : Cardinal)
ClassFormation.DegreeData.AbstractExtension

An abstract field extension, including the containment which makes the notation L / K meaningful in the closed-subgroup model. Keeping this proof in the object prevents predicates for extensions from being formed for unrelated closed subgroups.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
structure AbstractExtension (G : Type*) [Group G] [TopologicalSpace G] where
  /-- The closed subgroup contravariantly representing the extension field. -/
  field : ClosedSubgroup G
  /-- The closed subgroup contravariantly representing the base field. -/
  base : ClosedSubgroup G
  /-- Contravariance turns the field inclusion into this subgroup inclusion. -/
  below : field.toSubgroup ≤ base.toSubgroup
ClassFormation.DegreeData.AbstractExtension.subgroup

The subgroup of the base group represented by the extension field. This projection packages the proof-dependent subgroupOf construction behind the extension object.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
def subgroup (E : AbstractExtension G) : Subgroup E.base.toSubgroup
ClassFormation.DegreeData.AbstractExtension.quotient

The actual relative coset space of an abstract extension.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
def quotient (E : AbstractExtension G) : Type u
ClassFormation.DegreeData.AbstractExtension.degreeCardinal

The honest cardinal degree of an arbitrary abstract extension. Unlike the raw natural-valued subgroup index, this does not encode infinity as zero.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
def degreeCardinal (E : AbstractExtension G) : Cardinal
ClassFormation.DegreeData.AbstractExtension.degreeCardinal_eq_mk_quotient

The cardinal degree of an abstract extension is the cardinality of its coset space.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
theorem degreeCardinal_eq_mk_quotient (E : AbstractExtension G) :
    E.degreeCardinal = Cardinal.mk E.quotient
ClassFormation.DegreeData.AbstractExtension.relativeResidueDegreeCardinal

The relative residue degree of an arbitrary abstract extension, as the cardinality of the actual coset type of degree images. This is the canonical general API: an infinite residue degree remains an infinite cardinal.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
def relativeResidueDegreeCardinal
    (E : AbstractExtension G) (D : DegreeData G) : Cardinal
ClassFormation.DegreeData.AbstractExtension.relativeRamificationIndexCardinal

The relative ramification index of an arbitrary abstract extension, as the cardinality of the actual coset type inside the degree kernel. In particular, infinity is not encoded as zero.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
def relativeRamificationIndexCardinal
    (E : AbstractExtension G) (D : DegreeData G) : Cardinal
ClassFormation.DegreeData.AbstractExtension.degreeCardinal_eq_relativeResidueDegreeCardinal_mul_relativeRamificationIndexCardinal

The cardinal-valued fundamental identity for an arbitrary abstract extension. The residue cardinal is lifted from the universe of ZHat; no finiteness assumption or infinite-index convention is involved.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
theorem degreeCardinal_eq_relativeResidueDegreeCardinal_mul_relativeRamificationIndexCardinal
    (E : AbstractExtension G) (D : DegreeData G) :
    E.degreeCardinal =
      Cardinal.lift.{u} (E.relativeResidueDegreeCardinal D) *
        E.relativeRamificationIndexCardinal D
ClassFormation.DegreeData.AbstractExtension.relativeResidueDegreeCardinal_mul_residueDegreeCardinal

Cardinal Frobenius residue-degree compatibility: the relative residue cardinal times the absolute residue cardinal of the base is the absolute residue cardinal of the extension field.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
theorem relativeResidueDegreeCardinal_mul_residueDegreeCardinal
    (E : AbstractExtension G) (D : DegreeData G) :
    E.relativeResidueDegreeCardinal D * D.residueDegreeCardinal E.base =
      D.residueDegreeCardinal E.field
structure

Tower

L306 ↗
ClassFormation.DegreeData.AbstractExtension.Tower

A composable tower of abstract extensions, represented by three closed subgroups and the two adjacent containments.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
structure Tower (G : Type*) [Group G] [TopologicalSpace G] where
  /-- The closed subgroup representing the top field. -/
  top : ClosedSubgroup G
  /-- The closed subgroup representing the middle field. -/
  middle : ClosedSubgroup G
  /-- The closed subgroup representing the base field. -/
  base : ClosedSubgroup G
  /-- Contravariant containment for the top-to-middle extension. -/
  top_le_middle : top.toSubgroup ≤ middle.toSubgroup
  /-- Contravariant containment for the middle-to-base extension. -/
  middle_le_base : middle.toSubgroup ≤ base.toSubgroup
ClassFormation.DegreeData.AbstractExtension.Tower.topExtension

The upper extension in a tower.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
namespace Tower
variable (T : Tower G)
def topExtension : AbstractExtension G where
  field := T.top
  base := T.middle
  below := T.top_le_middle
ClassFormation.DegreeData.AbstractExtension.Tower.baseExtension

The lower extension in a tower.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
namespace Tower
variable (T : Tower G)
def baseExtension : AbstractExtension G where
  field := T.middle
  base := T.base
  below := T.middle_le_base
ClassFormation.DegreeData.AbstractExtension.Tower.totalExtension

The composite extension in a tower.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
namespace Tower
variable (T : Tower G)
def totalExtension : AbstractExtension G where
  field := T.top
  base := T.base
  below := T.top_le_middle.trans T.middle_le_base
ClassFormation.DegreeData.AbstractExtension.Tower.degreeCardinal_mul

Cardinal degrees multiply in an arbitrary abstract-extension tower.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
namespace Tower
variable (T : Tower G)
theorem degreeCardinal_mul :
    T.topExtension.degreeCardinal * T.baseExtension.degreeCardinal =
      T.totalExtension.degreeCardinal
ClassFormation.DegreeData.AbstractExtension.Tower.relativeResidueDegreeCardinal_mul

Cardinal residue degrees multiply in an arbitrary abstract-extension tower.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
namespace Tower
variable (T : Tower G)
theorem relativeResidueDegreeCardinal_mul (D : DegreeData G) :
    T.topExtension.relativeResidueDegreeCardinal D *
        T.baseExtension.relativeResidueDegreeCardinal D =
      T.totalExtension.relativeResidueDegreeCardinal D
ClassFormation.DegreeData.AbstractExtension.Tower.relativeRamificationIndexCardinal_mul

Cardinal ramification indices multiply in an arbitrary abstract-extension tower.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
namespace Tower
variable (T : Tower G)
theorem relativeRamificationIndexCardinal_mul (D : DegreeData G) :
    T.topExtension.relativeRamificationIndexCardinal D *
        T.baseExtension.relativeRamificationIndexCardinal D =
      T.totalExtension.relativeRamificationIndexCardinal D
ClassFormation.DegreeData.AbstractExtension.IsUnramified

An abstract extension is unramified when the inertia subgroup of its base is already contained in the subgroup representing its field. This containment is the definition; it does not pass through a natural-valued index that would encode an infinite index as zero.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
def IsUnramified (E : AbstractExtension G) (D : DegreeData G) : Prop
ClassFormation.DegreeData.AbstractExtension.IsTotallyRamified

An abstract extension is totally ramified when the degree image of its base is contained in the degree image of its field.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
def IsTotallyRamified (E : AbstractExtension G) (D : DegreeData G) : Prop
ClassFormation.DegreeData.AbstractExtension.isUnramified_iff_inertia_le

An extension is unramified exactly when the inertia subgroup of its base is contained in the subgroup representing its field. The containment needed to form the extension is carried by E.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
theorem isUnramified_iff_inertia_le (E : AbstractExtension G) (D : DegreeData G) :
    E.IsUnramified D ↔
      E.base.toSubgroup ⊓ D.degree.toMonoidHom.ker ≤ E.field.toSubgroup
ClassFormation.DegreeData.AbstractExtension.isTotallyRamified_iff_image_le

An extension is totally ramified exactly when the degree image of its base is contained in the degree image of its field.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
theorem isTotallyRamified_iff_image_le (E : AbstractExtension G) (D : DegreeData G) :
    E.IsTotallyRamified D ↔
      E.base.toSubgroup.map D.degree.toMonoidHom ≤
        E.field.toSubgroup.map D.degree.toMonoidHom
ClassFormation.DegreeData.AbstractExtension.relativeRamificationIndexCardinal_eq_one_of_isUnramified

An unramified extension has cardinal ramification index one.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
theorem relativeRamificationIndexCardinal_eq_one_of_isUnramified
    (E : AbstractExtension G) (D : DegreeData G) (hE : E.IsUnramified D) :
    E.relativeRamificationIndexCardinal D = 1
ClassFormation.DegreeData.AbstractExtension.relativeResidueDegreeCardinal_eq_one_of_isTotallyRamified

A totally ramified extension has cardinal residue degree one.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
theorem relativeResidueDegreeCardinal_eq_one_of_isTotallyRamified
    (E : AbstractExtension G) (D : DegreeData G)
    (hE : E.IsTotallyRamified D) :
    E.relativeResidueDegreeCardinal D = 1
ClassFormation.DegreeData.AbstractExtension.degreeCardinal_eq_lift_relativeResidueDegreeCardinal_of_isUnramified

For an unramified extension, its cardinal degree is its lifted residue degree.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
theorem degreeCardinal_eq_lift_relativeResidueDegreeCardinal_of_isUnramified
    (E : AbstractExtension G) (D : DegreeData G) (hE : E.IsUnramified D) :
    E.degreeCardinal =
      Cardinal.lift.{u} (E.relativeResidueDegreeCardinal D)
ClassFormation.DegreeData.AbstractExtension.degreeCardinal_eq_relativeRamificationIndexCardinal_of_isTotallyRamified

For a totally ramified extension, its cardinal degree is its ramification cardinal.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace AbstractExtension
theorem degreeCardinal_eq_relativeRamificationIndexCardinal_of_isTotallyRamified
    (E : AbstractExtension G) (D : DegreeData G)
    (hE : E.IsTotallyRamified D) :
    E.degreeCardinal = E.relativeRamificationIndexCardinal D
ClassFormation.DegreeData.GaloisSubextension

A (not necessarily finite) Galois extension above K. Normality and the inclusion of the upper field are carried by the object, while no finiteness assumption is introduced.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
structure GaloisSubextension (K : ClosedSubgroup G) where
  /-- The closed subgroup representing the top field. -/
  field : ClosedSubgroup G
  /-- The top-field subgroup is contained in the base-field subgroup. -/
  below : field.toSubgroup ≤ K.toSubgroup
  /-- The relative subgroup is normal in the base-field subgroup. -/
  normal : (extensionSubgroup K field below).Normal
ClassFormation.DegreeData.GaloisSubextension.toAbstractExtension

Forget normality while retaining the underlying abstract extension.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace GaloisSubextension
variable {K : ClosedSubgroup G}
def toAbstractExtension (L : GaloisSubextension K) :
    DegreeData.AbstractExtension G where
  field := L.field
  base := K
  below := L.below
ClassFormation.DegreeData.GaloisSubextension.extensionQuotient

The actual quotient represented by a Galois subextension. This is a named object boundary rather than a transparent abbreviation.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace GaloisSubextension
variable {K : ClosedSubgroup G}
def extensionQuotient (L : GaloisSubextension K) : Type u
ClassFormation.DegreeData.GaloisSubextension.IsUnramified

Structural unramifiedness of a Galois subextension.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace GaloisSubextension
variable {K : ClosedSubgroup G}
def IsUnramified (L : GaloisSubextension K) (D : DegreeData G) : Prop
ClassFormation.DegreeData.GaloisSubextension.IsTotallyRamified

Structural total ramification of a Galois subextension.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace GaloisSubextension
variable {K : ClosedSubgroup G}
def IsTotallyRamified (L : GaloisSubextension K) (D : DegreeData G) : Prop
ClassFormation.DegreeData.GaloisSubextension.extensionSubgroup_normalInstance

A Galois subextension has a normal subgroup inside its base subgroup.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace GaloisSubextension
variable {K : ClosedSubgroup G}
instance extensionSubgroup_normalInstance (L : GaloisSubextension K) :
    (extensionSubgroup K L.field L.below).Normal
ClassFormation.DegreeData.GaloisSubextension.extensionQuotient_groupInstance

The group structure transported across the named quotient boundary.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace GaloisSubextension
variable {K : ClosedSubgroup G}
instance extensionQuotient_groupInstance (L : GaloisSubextension K) :
    Group L.extensionQuotient
ClassFormation.DegreeData.GaloisSubextension.extensionQuotientMulEquiv

Comparison with the quotient presentation used by the underlying group library.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace GaloisSubextension
variable {K : ClosedSubgroup G}
def extensionQuotientMulEquiv (L : GaloisSubextension K) :
    L.extensionQuotient ≃*
      (K.toSubgroup ⧸ extensionSubgroup K L.field L.below)
ClassFormation.DegreeData.GaloisSubextension.extensionQuotientMk

The canonical quotient projection for a Galois subextension.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace GaloisSubextension
variable {K : ClosedSubgroup G}
def extensionQuotientMk (L : GaloisSubextension K) :
    K.toSubgroup →* L.extensionQuotient
ClassFormation.DegreeData.GaloisSubextension.extensionQuotientMk_apply

The named quotient projection agrees with QuotientGroup.mk under the comparison equivalence.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace GaloisSubextension
variable {K : ClosedSubgroup G}
theorem extensionQuotientMk_apply (L : GaloisSubextension K)
    (k : K.toSubgroup) :
    L.extensionQuotientMulEquiv (L.extensionQuotientMk k) =
      (QuotientGroup.mk k :
        K.toSubgroup ⧸ extensionSubgroup K L.field L.below)
ClassFormation.DegreeData.GaloisSubextension.extensionQuotient_inductionOn

Eliminate a Galois quotient without exposing a chosen representative.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace GaloisSubextension
variable {K : ClosedSubgroup G}
theorem extensionQuotient_inductionOn
    (L : GaloisSubextension K) {motive : L.extensionQuotient → Prop}
    (q : L.extensionQuotient)
    (mk : ∀ k : K.toSubgroup, motive (L.extensionQuotientMk k)) :
    motive q
ClassFormation.DegreeData.GaloisSubextension.isUnramified_iff_inertia_le

Unramifiedness is the canonical inertia-containment condition.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace GaloisSubextension
variable {K : ClosedSubgroup G}
theorem isUnramified_iff_inertia_le (L : GaloisSubextension K)
    (D : DegreeData G) :
    L.IsUnramified D ↔
      K.toSubgroup ⊓ D.degree.toMonoidHom.ker ≤ L.field.toSubgroup
ClassFormation.DegreeData.GaloisSubextension.isTotallyRamified_iff_image_le

Total ramification is the canonical equality of degree images.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace GaloisSubextension
variable {K : ClosedSubgroup G}
theorem isTotallyRamified_iff_image_le (L : GaloisSubextension K)
    (D : DegreeData G) :
    L.IsTotallyRamified D ↔
      K.toSubgroup.map D.degree.toMonoidHom ≤
        L.field.toSubgroup.map D.degree.toMonoidHom
ClassFormation.DegreeData.FiniteAbstractExtension

A finite abstract extension. Finiteness is carried by the extension object, so its public numerical invariants can be positive naturals rather than using the raw subgroup-index convention in which an infinite index is encoded as 0.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
structure FiniteAbstractExtension (G : Type*) [Group G] [TopologicalSpace G]
    extends AbstractExtension G where
  /-- The relative quotient of the base subgroup by the extension subgroup is finite. -/
  finiteQuotient :
    Finite
      (toAbstractExtension.base.toSubgroup ⧸
        extensionSubgroup toAbstractExtension.base toAbstractExtension.field
          toAbstractExtension.below)
ClassFormation.DegreeData.FiniteAbstractExtension.subgroup

The subgroup of the base represented by a finite extension.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
def subgroup : Subgroup E.base.toSubgroup
ClassFormation.DegreeData.FiniteAbstractExtension.quotient

The finite extension's actual relative coset space.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
def quotient : Type u
ClassFormation.DegreeData.FiniteAbstractExtension.ofInclusion

Bundle an inclusion once its actual relative coset type is known to be finite. This is the canonical boundary from subgroup data to the finite extension API; numerical invariants are obtained only from the resulting object.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
def ofInclusion (field base : ClosedSubgroup G)
    (below : field.toSubgroup ≤ base.toSubgroup)
    [hfinite : Finite
      (base.toSubgroup ⧸ extensionSubgroup base field below)] :
    FiniteAbstractExtension G where
  field := field
  base := base
  below := below
  finiteQuotient := hfinite
ClassFormation.DegreeData.FiniteAbstractExtension.ofInclusion_field

The field endpoint of an extension bundled from an inclusion is the supplied field.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem ofInclusion_field (field base : ClosedSubgroup G)
    (below : field.toSubgroup ≤ base.toSubgroup)
    [Finite (base.toSubgroup ⧸ extensionSubgroup base field below)] :
    (ofInclusion field base below).field = field
ClassFormation.DegreeData.FiniteAbstractExtension.ofInclusion_base

The base endpoint of an extension bundled from an inclusion is the supplied base.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem ofInclusion_base (field base : ClosedSubgroup G)
    (below : field.toSubgroup ≤ base.toSubgroup)
    [Finite (base.toSubgroup ⧸ extensionSubgroup base field below)] :
    (ofInclusion field base below).base = base
ClassFormation.DegreeData.FiniteAbstractExtension.IsUnramified

The unramified predicate for a finite extension is the predicate on its underlying abstract extension.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
def IsUnramified (D : DegreeData G) : Prop
ClassFormation.DegreeData.FiniteAbstractExtension.IsTotallyRamified

The totally ramified predicate for a finite extension is the predicate on its underlying abstract extension.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
def IsTotallyRamified (D : DegreeData G) : Prop
ClassFormation.DegreeData.FiniteAbstractExtension.isUnramified_iff

Finite-extension unramifiedness is exactly unramifiedness of the underlying abstract extension.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem isUnramified_iff (D : DegreeData G) :
    E.IsUnramified D ↔ E.toAbstractExtension.IsUnramified D
ClassFormation.DegreeData.FiniteAbstractExtension.isTotallyRamified_iff

Finite-extension total ramification is inherited from the underlying abstract extension.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem isTotallyRamified_iff (D : DegreeData G) :
    E.IsTotallyRamified D ↔ E.toAbstractExtension.IsTotallyRamified D
ClassFormation.DegreeData.FiniteAbstractExtension.isUnramified_iff_inertia_le

Finite unramified extensions satisfy the same inertia-containment characterization as their underlying abstract extensions.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem isUnramified_iff_inertia_le (D : DegreeData G) :
    E.IsUnramified D ↔
      E.base.toSubgroup ⊓ D.degree.toMonoidHom.ker ≤ E.field.toSubgroup
ClassFormation.DegreeData.FiniteAbstractExtension.isTotallyRamified_iff_image_le

Finite totally ramified extensions satisfy the same degree-image characterization as their underlying abstract extensions.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem isTotallyRamified_iff_image_le (D : DegreeData G) :
    E.IsTotallyRamified D ↔
      E.base.toSubgroup.map D.degree.toMonoidHom ≤
        E.field.toSubgroup.map D.degree.toMonoidHom
ClassFormation.DegreeData.FiniteAbstractExtension.quotientFinite

The coset space carried by a finite abstract extension is finite.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
instance quotientFinite :
    Finite E.quotient
ClassFormation.DegreeData.FiniteAbstractExtension.representedQuotientFinite

The finite instance in the concrete quotient presentation used by norm maps.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
instance representedQuotientFinite :
    Finite
      (E.base.toSubgroup ⧸
        extensionSubgroup E.base E.field E.below)
ClassFormation.DegreeData.FiniteAbstractExtension.degreeCardinal_lt_aleph0
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem degreeCardinal_lt_aleph0 :
    E.toAbstractExtension.degreeCardinal < Cardinal.aleph0
ClassFormation.DegreeData.FiniteAbstractExtension.relativeDegreeCardinals_lt_aleph0
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem relativeDegreeCardinals_lt_aleph0 (D : DegreeData G) :
    Cardinal.lift.{u}
          (E.toAbstractExtension.relativeResidueDegreeCardinal D) <
        Cardinal.aleph0 ∧
      E.toAbstractExtension.relativeRamificationIndexCardinal D <
        Cardinal.aleph0
ClassFormation.DegreeData.FiniteAbstractExtension.relativeResidueDegreeCardinal_lt_aleph0
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem relativeResidueDegreeCardinal_lt_aleph0
    (D : DegreeData G) :
    E.toAbstractExtension.relativeResidueDegreeCardinal D <
      Cardinal.aleph0
ClassFormation.DegreeData.FiniteAbstractExtension.relativeRamificationIndexCardinal_lt_aleph0
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem relativeRamificationIndexCardinal_lt_aleph0
    (D : DegreeData G) :
    E.toAbstractExtension.relativeRamificationIndexCardinal D <
      Cardinal.aleph0
ClassFormation.DegreeData.FiniteAbstractExtension.residueQuotientFinite

The residue coset type of a finite extension is finite. This is derived from the cardinal fundamental identity, rather than from a natural-valued index whose infinite case would be represented by zero.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
instance residueQuotientFinite (D : DegreeData G) :
    Finite
      (↥(E.base.toSubgroup.map D.degree.toMonoidHom) ⧸
        (E.field.toSubgroup.map D.degree.toMonoidHom).subgroupOf
          (E.base.toSubgroup.map D.degree.toMonoidHom))
ClassFormation.DegreeData.FiniteAbstractExtension.ramificationQuotientFinite

The inertia coset type of a finite extension is finite. As for the residue quotient, this is a consequence of the cardinal fundamental identity.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
instance ramificationQuotientFinite (D : DegreeData G) :
    Finite
      (↥(E.base.toSubgroup ⊓ D.degree.toMonoidHom.ker) ⧸
        (E.field.toSubgroup ⊓ D.degree.toMonoidHom.ker).subgroupOf
          (E.base.toSubgroup ⊓ D.degree.toMonoidHom.ker))
ClassFormation.DegreeData.FiniteAbstractExtension.degree

The positive degree of a finite abstract extension.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
def degree : ℕ+
ClassFormation.DegreeData.FiniteAbstractExtension.residueDegree

The positive relative residue degree of a finite abstract extension.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
def residueDegree (D : DegreeData G) : ℕ+
ClassFormation.DegreeData.FiniteAbstractExtension.ramificationIndex

The positive relative ramification index of a finite abstract extension.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
def ramificationIndex (D : DegreeData G) : ℕ+
ClassFormation.DegreeData.FiniteAbstractExtension.degree_coe

The natural value of the positive extension degree is the cardinality of its quotient.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem degree_coe :
    (E.degree : ℕ) = Nat.card E.quotient
ClassFormation.DegreeData.FiniteAbstractExtension.residueDegree_coe

The positive residue degree coerces to the cardinality of the mapped-subgroup quotient.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem residueDegree_coe (D : DegreeData G) :
    (E.residueDegree D : ℕ) =
      Nat.card
        (↥(E.base.toSubgroup.map D.degree.toMonoidHom) ⧸
          (E.field.toSubgroup.map D.degree.toMonoidHom).subgroupOf
            (E.base.toSubgroup.map D.degree.toMonoidHom))
ClassFormation.DegreeData.FiniteAbstractExtension.ramificationIndex_coe

The positive ramification index coerces to the cardinality of the inertia quotient.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem ramificationIndex_coe (D : DegreeData G) :
    (E.ramificationIndex D : ℕ) =
      Nat.card
        (↥(E.base.toSubgroup ⊓ D.degree.toMonoidHom.ker) ⧸
          (E.field.toSubgroup ⊓ D.degree.toMonoidHom.ker).subgroupOf
            (E.base.toSubgroup ⊓ D.degree.toMonoidHom.ker))
ClassFormation.DegreeData.FiniteAbstractExtension.relIndex_eq_degree

The underlying subgroup index of a finite extension is the natural coercion of its positive degree. This theorem is a finite-only bridge, not a general natural-valued degree definition.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem relIndex_eq_degree :
    E.field.toSubgroup.relIndex E.base.toSubgroup = (E.degree : ℕ)
ClassFormation.DegreeData.FiniteAbstractExtension.extensionSubgroup_index_eq_degree

The index of the represented extension subgroup is the finite extension degree.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem extensionSubgroup_index_eq_degree :
    (extensionSubgroup E.base E.field E.below).index = (E.degree : ℕ)
ClassFormation.DegreeData.FiniteAbstractExtension.mapped_relIndex_eq_residueDegree

The relative index of the mapped field subgroups is the positive residue degree of a finite extension.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem mapped_relIndex_eq_residueDegree (D : DegreeData G) :
    (E.field.toSubgroup.map D.degree.toMonoidHom).relIndex
        (E.base.toSubgroup.map D.degree.toMonoidHom) =
      (E.residueDegree D : ℕ)
ClassFormation.DegreeData.FiniteAbstractExtension.inertia_relIndex_eq_ramificationIndex

The relative index inside the degree kernel is the positive ramification index of a finite extension.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem inertia_relIndex_eq_ramificationIndex (D : DegreeData G) :
    (E.field.toSubgroup ⊓ D.degree.toMonoidHom.ker).relIndex
        (E.base.toSubgroup ⊓ D.degree.toMonoidHom.ker) =
      (E.ramificationIndex D : ℕ)
ClassFormation.DegreeData.FiniteAbstractExtension.degree_eq_residueDegree_mul_ramificationIndex

The finite fundamental identity, stated only in terms of the positive invariants carried by a finite extension object.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem degree_eq_residueDegree_mul_ramificationIndex (D : DegreeData G) :
    (E.degree : ℕ) =
      (E.residueDegree D : ℕ) * (E.ramificationIndex D : ℕ)
ClassFormation.DegreeData.FiniteAbstractExtension.ramificationIndex_eq_one_of_isUnramified

An unramified finite extension has ramification index one.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem ramificationIndex_eq_one_of_isUnramified (D : DegreeData G)
    (hE : E.IsUnramified D) :
    (E.ramificationIndex D : ℕ) = 1
ClassFormation.DegreeData.FiniteAbstractExtension.residueDegree_eq_one_of_isTotallyRamified

A totally ramified finite extension has residue degree one.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem residueDegree_eq_one_of_isTotallyRamified (D : DegreeData G)
    (hE : E.IsTotallyRamified D) :
    (E.residueDegree D : ℕ) = 1
ClassFormation.DegreeData.FiniteAbstractExtension.isTotallyRamified_iff_residueDegree_eq_one

A finite extension has residue degree one exactly when it is totally ramified. This keeps callers on the structural predicate API instead of unfolding the image-index implementation.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem isTotallyRamified_iff_residueDegree_eq_one (D : DegreeData G) :
    E.IsTotallyRamified D ↔ (E.residueDegree D : ℕ) = 1
ClassFormation.DegreeData.FiniteAbstractExtension.isTotallyRamified_of_residueDegree_eq_one

Converse form convenient for constructing the structural predicate from the positive finite invariant.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem isTotallyRamified_of_residueDegree_eq_one (D : DegreeData G)
    (h : (E.residueDegree D : ℕ) = 1) : E.IsTotallyRamified D
ClassFormation.DegreeData.FiniteAbstractExtension.residueDegree_eq_degree_of_isUnramified

In an unramified finite extension, residue degree equals extension degree.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem residueDegree_eq_degree_of_isUnramified (D : DegreeData G)
    (hE : E.IsUnramified D) :
    (E.residueDegree D : ℕ) = (E.degree : ℕ)
ClassFormation.DegreeData.FiniteAbstractExtension.ramificationIndex_eq_degree_of_isTotallyRamified

In a totally ramified finite extension, ramification index equals extension degree.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem ramificationIndex_eq_degree_of_isTotallyRamified (D : DegreeData G)
    (hE : E.IsTotallyRamified D) :
    (E.ramificationIndex D : ℕ) = (E.degree : ℕ)
ClassFormation.DegreeData.FiniteAbstractExtension.degreeCardinal_eq_coe

For a finite extension, its cardinal-valued degree is the cardinal cast of its positive natural degree.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem degreeCardinal_eq_coe :
    E.toAbstractExtension.degreeCardinal =
      ((E.degree : ℕ) : Cardinal)
ClassFormation.DegreeData.FiniteAbstractExtension.relativeResidueDegreeCardinal_eq_coe

For a finite extension, the cardinal-valued relative residue degree is the cardinal cast of the positive natural residue degree.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem relativeResidueDegreeCardinal_eq_coe (D : DegreeData G) :
    E.toAbstractExtension.relativeResidueDegreeCardinal D =
      ((E.residueDegree D : ℕ) : Cardinal)
ClassFormation.DegreeData.FiniteAbstractExtension.relativeRamificationIndexCardinal_eq_coe

For a finite extension, the cardinal-valued relative ramification index is the cardinal cast of the positive natural ramification index.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteAbstractExtension
variable (E : FiniteAbstractExtension G)
theorem relativeRamificationIndexCardinal_eq_coe (D : DegreeData G) :
    E.toAbstractExtension.relativeRamificationIndexCardinal D =
      ((E.ramificationIndex D : ℕ) : Cardinal)
ClassFormation.DegreeData.FiniteTower

A finite composable tower of abstract extensions. The two adjacent finite quotient proofs belong to the tower object, so downstream norm and degree laws do not thread subgroup containments and finiteness instances as independent arguments.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
structure FiniteTower (G : Type*) [Group G] [TopologicalSpace G]
    extends AbstractExtension.Tower G where
  /-- The quotient for the top-to-middle extension is finite. -/
  finiteTopQuotient : Finite toTower.topExtension.quotient
  /-- The quotient for the middle-to-base extension is finite. -/
  finiteBaseQuotient : Finite toTower.baseExtension.quotient
ClassFormation.DegreeData.FiniteTower.topQuotientFinite

The upper relative quotient in a finite tower is finite.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteTower
variable (T : FiniteTower G)
instance topQuotientFinite :
    Finite (T.middle.toSubgroup ⧸
      extensionSubgroup T.middle T.top T.top_le_middle)
ClassFormation.DegreeData.FiniteTower.baseQuotientFinite

The lower relative quotient in a finite tower is finite.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteTower
variable (T : FiniteTower G)
instance baseQuotientFinite :
    Finite (T.base.toSubgroup ⧸
      extensionSubgroup T.base T.middle T.middle_le_base)
ClassFormation.DegreeData.FiniteTower.topExtension

The upper finite extension represented by a finite tower.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteTower
variable (T : FiniteTower G)
def topExtension : FiniteAbstractExtension G where
  toAbstractExtension := T.toTower.topExtension
  finiteQuotient := T.finiteTopQuotient
ClassFormation.DegreeData.FiniteTower.baseExtension

The lower finite extension represented by a finite tower.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteTower
variable (T : FiniteTower G)
def baseExtension : FiniteAbstractExtension G where
  toAbstractExtension := T.toTower.baseExtension
  finiteQuotient := T.finiteBaseQuotient
ClassFormation.DegreeData.FiniteResidueAbstractField.ofRelativeInclusion

If the relative residue quotient over a field with finite absolute residue quotient is finite, then the upper field also has finite absolute residue quotient. This is the minimal honest boundary constructor: it uses the actual quotient types and the cardinal tower identity.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteResidueAbstractField
variable {D : DegreeData G}
def ofRelativeInclusion (D : DegreeData G)
    (field : ClosedSubgroup G) (base : FiniteResidueAbstractField D)
    (below : field.toSubgroup ≤ base.field.toSubgroup)
    [finiteRelativeResidueQuotient : Finite
      (↥(base.field.toSubgroup.map D.degree.toMonoidHom) ⧸
        (field.toSubgroup.map D.degree.toMonoidHom).subgroupOf
          (base.field.toSubgroup.map D.degree.toMonoidHom))] :
    FiniteResidueAbstractField D where
  field := field
  finiteResidueQuotient := by
    apply Cardinal.lt_aleph0_iff_finite.mp
    rw [← D.residueDegreeCardinal_eq_mk_residueQuotient]
    let E : AbstractExtension G := {
      field := field
      base := base.field
      below := below
    }
    rw [← E.relativeResidueDegreeCardinal_mul_residueDegreeCardinal D]
    apply Cardinal.mul_lt_aleph0_iff.mpr
    exact Or.inr (Or.inr ⟨by
      change Cardinal.mk
          (↥(base.field.toSubgroup.map D.degree.toMonoidHom) ⧸
            (field.toSubgroup.map D.degree.toMonoidHom).subgroupOf
              (base.field.toSubgroup.map D.degree.toMonoidHom)) <
        Cardinal.aleph0
      exact Cardinal.lt_aleph0_of_finite _, by
      rw [D.residueDegreeCardinal_eq_mk_residueQuotient]
      exact Cardinal.lt_aleph0_of_finite _⟩)
ClassFormation.DegreeData.FiniteResidueAbstractExtension

A finite extension whose base and field both carry their honest finite absolute residue quotients. The proof-dependent relative quotient is stored once in the object and exposed through toFiniteAbstractExtension.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
structure FiniteResidueAbstractExtension (D : DegreeData G) where
  /-- The top endpoint with its finite residue quotient. -/
  field : FiniteResidueAbstractField D
  /-- The base endpoint with its finite residue quotient. -/
  base : FiniteResidueAbstractField D
  /-- The top-field subgroup is contained in the base-field subgroup. -/
  below : field.field.toSubgroup ≤ base.field.toSubgroup
  /-- The relative extension quotient is finite. -/
  finiteQuotient :
    Finite
      (base.field.toSubgroup ⧸
        extensionSubgroup base.field field.field below)
ClassFormation.DegreeData.FiniteResidueAbstractExtension.ofInclusion

Enrich a finite extension of a field with finite absolute residue quotient with the corresponding honest residue data on its upper endpoint. Finiteness of the upper absolute residue quotient is deduced from the cardinal-valued tower identity, which is the source of truth for arbitrary-index data.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteResidueAbstractExtension
variable {D : DegreeData G}
def ofInclusion (D : DegreeData G)
    (field : ClosedSubgroup G) (base : FiniteResidueAbstractField D)
    (below : field.toSubgroup ≤ base.field.toSubgroup)
    [finiteQuotient : Finite
      (base.field.toSubgroup ⧸
        extensionSubgroup base.field field below)] :
    FiniteResidueAbstractExtension D where
  field := {
    field := field
    finiteResidueQuotient := by
      apply Cardinal.lt_aleph0_iff_finite.mp
      rw [← D.residueDegreeCardinal_eq_mk_residueQuotient]
      let E : FiniteAbstractExtension G := {
        field := field
        base := base.field
        below := below
        finiteQuotient := finiteQuotient
      }
      rw [← E.toAbstractExtension.relativeResidueDegreeCardinal_mul_residueDegreeCardinal D]
      apply Cardinal.mul_lt_aleph0_iff.mpr
      exact Or.inr (Or.inr ⟨E.relativeResidueDegreeCardinal_lt_aleph0 D, by
        rw [D.residueDegreeCardinal_eq_mk_residueQuotient]
        exact Cardinal.lt_aleph0_of_finite (D.residueQuotient base.field)⟩) }
  base := base
  below := below
  finiteQuotient := finiteQuotient
ClassFormation.DegreeData.FiniteResidueAbstractExtension.toFiniteAbstractExtension

Forget only the endpoint residue-finiteness data.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteResidueAbstractExtension
variable {D : DegreeData G}
def toFiniteAbstractExtension (E : FiniteResidueAbstractExtension D) :
    FiniteAbstractExtension G where
  field := E.field.field
  base := E.base.field
  below := E.below
  finiteQuotient := E.finiteQuotient

A finite-residue extension supplies finiteness of its represented relative quotient.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteResidueAbstractExtension
variable {D : DegreeData G}
instance (E : FiniteResidueAbstractExtension D) :
    Finite
      (E.base.field.toSubgroup ⧸
        extensionSubgroup E.base.field E.field.field E.below)
ClassFormation.DegreeData.FiniteResidueAbstractExtension.degree

The positive relative degree.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteResidueAbstractExtension
variable {D : DegreeData G}
def degree (E : FiniteResidueAbstractExtension D) : ℕ+
ClassFormation.DegreeData.FiniteResidueAbstractExtension.residueDegree

The positive relative residue degree.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteResidueAbstractExtension
variable {D : DegreeData G}
def residueDegree (E : FiniteResidueAbstractExtension D) : ℕ+
ClassFormation.DegreeData.FiniteResidueAbstractExtension.ramificationIndex

The positive relative ramification index.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteResidueAbstractExtension
variable {D : DegreeData G}
def ramificationIndex
    (E : FiniteResidueAbstractExtension D) : ℕ+
ClassFormation.DegreeData.FiniteResidueAbstractExtension.degree_coe

The residue-enriched extension degree agrees with the underlying finite-extension degree.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteResidueAbstractExtension
variable {D : DegreeData G}
theorem degree_coe (E : FiniteResidueAbstractExtension D) :
    (E.degree : ℕ) = (E.toFiniteAbstractExtension.degree : ℕ)
ClassFormation.DegreeData.FiniteResidueAbstractExtension.residueDegree_coe

The residue-enriched residue degree agrees with the underlying finite-extension invariant.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteResidueAbstractExtension
variable {D : DegreeData G}
theorem residueDegree_coe (E : FiniteResidueAbstractExtension D) :
    (E.residueDegree : ℕ) =
      (E.toFiniteAbstractExtension.residueDegree D : ℕ)
ClassFormation.DegreeData.FiniteResidueAbstractExtension.ramificationIndex_coe

The residue-enriched ramification index agrees with the underlying finite-extension invariant.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace DegreeData
namespace FiniteResidueAbstractExtension
variable {D : DegreeData G}
theorem ramificationIndex_coe
    (E : FiniteResidueAbstractExtension D) :
    (E.ramificationIndex : ℕ) =
      (E.toFiniteAbstractExtension.ramificationIndex D : ℕ)
ClassFormation.FiniteAbstractField

An abstract field finite over the distinguished base field.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
structure FiniteAbstractField (G : Type u) [Group G] [TopologicalSpace G] where
  /-- The closed subgroup representing the abstract field. -/
  field : ClosedSubgroup G
  /-- The field has finite degree over the distinguished base. -/
  finite : Finite ((baseField G).toSubgroup ⧸
    extensionSubgroup (baseField G) field (le_baseField field))
ClassFormation.FiniteAbstractField.eq_of_field_eq

A finite abstract field is determined by its underlying closed subgroup; the finiteness component is proof-irrelevant.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace FiniteAbstractField
theorem eq_of_field_eq (K L : FiniteAbstractField G)
    (h : K.field = L.field) : K = L
ClassFormation.FiniteAbstractField.base

The distinguished base field, bundled with its trivial finite quotient.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace FiniteAbstractField
def base (G : Type u) [Group G] [TopologicalSpace G] :
    FiniteAbstractField G where
  field := baseField G
  finite := by
    let : (extensionSubgroup (baseField G) (baseField G)
        (le_baseField (baseField G))).Normal := by
      rw [show extensionSubgroup (baseField G) (baseField G)
          (le_baseField (baseField G)) = ⊤ by
        ext x
        exact Iff.rfl]
      infer_instance
    let : Subsingleton
        ((baseField G).toSubgroup ⧸
          extensionSubgroup (baseField G) (baseField G)
            (le_baseField (baseField G))) := by
      constructor
      intro x y
      refine Quotient.inductionOn₂' x y ?_
      intro a b
      apply QuotientGroup.eq_iff_div_mem.mpr
      exact Subgroup.mem_top _
    infer_instance
ClassFormation.FiniteAbstractField.toFiniteAbstractExtension

Regard a finite abstract field as its finite extension of the distinguished base field.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace FiniteAbstractField
def toFiniteAbstractExtension (K : FiniteAbstractField G) :
    DegreeData.FiniteAbstractExtension G where
  field := K.field
  base := baseField G
  below := le_baseField K.field
  finiteQuotient := K.finite

A finite abstract field supplies finiteness of its quotient over the distinguished base.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace FiniteAbstractField
instance (K : FiniteAbstractField G) :
    Finite ((baseField G).toSubgroup ⧸
      extensionSubgroup (baseField G) K.field (le_baseField K.field))
ClassFormation.FiniteAbstractField.toFiniteResidueAbstractField

A finite field over the distinguished base has a finite absolute residue quotient. This is derived from the finite relative quotient and the surjectivity of the ambient degree map.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace FiniteAbstractField
def toFiniteResidueAbstractField
    (K : FiniteAbstractField G) (D : DegreeData G) :
    DegreeData.FiniteResidueAbstractField D where
  field := K.field
  finiteResidueQuotient := by
    apply Cardinal.lt_aleph0_iff_finite.mp
    change
      intersectionIndexCardinal (D.fieldImage K.field)
        (⊤ : Subgroup ZHatMul) < Cardinal.aleph0
    rw [D.fieldImage_eq_map]
    have htop :
        (baseField G).toSubgroup.map D.degree.toMonoidHom = ⊤ := by
      rw [baseField_toSubgroup]
      exact Subgroup.map_top_of_surjective _ D.degree_surjective
    rw [← htop]
    simpa only [FiniteAbstractField.toFiniteAbstractExtension,
      DegreeData.AbstractExtension.relativeResidueDegreeCardinal, relativeIndexCardinal] using
      K.toFiniteAbstractExtension.relativeResidueDegreeCardinal_lt_aleph0 D
ClassFormation.FiniteAbstractField.residueDegree

The positive absolute residue degree of a field finite over the distinguished base.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace FiniteAbstractField
def residueDegree (K : FiniteAbstractField G)
    (D : DegreeData G) : ℕ+
ClassFormation.FiniteAbstractField.base_residueDegree

Positive-natural specialization of the base-field residue degree.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace FiniteAbstractField
theorem base_residueDegree (D : DegreeData G) :
    (FiniteAbstractField.base G).residueDegree D = 1
ClassFormation.FiniteAbstractField.residueDegree_coe

The field residue degree is inherited from its finite-residue-field enrichment.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace FiniteAbstractField
theorem residueDegree_coe (K : FiniteAbstractField G)
    (D : DegreeData G) :
    (K.residueDegree D : ℕ) =
      ((K.toFiniteResidueAbstractField D).residueDegree : ℕ)
ClassFormation.FiniteAbstractFieldExtension

A finite extension between two fields that are themselves finite over the distinguished base. Both endpoint finiteness proofs and the relative quotient belong to the object.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
structure FiniteAbstractFieldExtension (G : Type u)
    [Group G] [TopologicalSpace G] where
  /-- The top endpoint, finite over the distinguished base. -/
  field : FiniteAbstractField G
  /-- The base endpoint, finite over the distinguished base. -/
  base : FiniteAbstractField G
  /-- The top-field subgroup is contained in the base-field subgroup. -/
  below : field.field.toSubgroup ≤ base.field.toSubgroup
  /-- The relative extension quotient is finite. -/
  finiteQuotient :
    Finite
      (base.field.toSubgroup ⧸
        extensionSubgroup base.field field.field below)
ClassFormation.FiniteAbstractFieldExtension.ofInclusion

Canonically bundle a finite relative extension of a field already finite over the distinguished base. Finiteness of the upper field follows from the actual quotient tower.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace FiniteAbstractFieldExtension
def ofInclusion (field : ClosedSubgroup G)
    (base : FiniteAbstractField G)
    (below : field.toSubgroup ≤ base.field.toSubgroup)
    [finiteQuotient : Finite
      (base.field.toSubgroup ⧸
        extensionSubgroup base.field field below)] :
    FiniteAbstractFieldExtension G where
  field := {
    field := field
    finite := by
      apply Cardinal.lt_aleph0_iff_finite.mp
      let T : DegreeData.AbstractExtension.Tower G := {
        top := field
        middle := base.field
        base := baseField G
        top_le_middle := below
        middle_le_base := le_baseField base.field }
      change T.totalExtension.degreeCardinal < Cardinal.aleph0
      rw [← T.degreeCardinal_mul]
      apply Cardinal.mul_lt_aleph0
      · change Cardinal.mk
          (base.field.toSubgroup ⧸
            extensionSubgroup base.field field below) < Cardinal.aleph0
        exact Cardinal.lt_aleph0_of_finite _
      · change Cardinal.mk
          ((baseField G).toSubgroup ⧸
            extensionSubgroup (baseField G) base.field
              (le_baseField base.field)) < Cardinal.aleph0
        exact Cardinal.lt_aleph0_of_finite _ }
  base := base
  below := below
  finiteQuotient := finiteQuotient
ClassFormation.FiniteAbstractFieldExtension.toFiniteAbstractExtension

Forget endpoint finiteness over the distinguished base.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace FiniteAbstractFieldExtension
def toFiniteAbstractExtension (E : FiniteAbstractFieldExtension G) :
    DegreeData.FiniteAbstractExtension G where
  field := E.field.field
  base := E.base.field
  below := E.below
  finiteQuotient := E.finiteQuotient
ClassFormation.FiniteAbstractFieldExtension.IsUnramified

Structural unramifiedness of the represented relative extension.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace FiniteAbstractFieldExtension
def IsUnramified (E : FiniteAbstractFieldExtension G) (D : DegreeData G) : Prop
ClassFormation.FiniteAbstractFieldExtension.IsTotallyRamified

Structural total ramification of the represented relative extension.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace FiniteAbstractFieldExtension
def IsTotallyRamified (E : FiniteAbstractFieldExtension G)
    (D : DegreeData G) : Prop
ClassFormation.FiniteAbstractFieldExtension.degree

The positive relative degree.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace FiniteAbstractFieldExtension
def degree (E : FiniteAbstractFieldExtension G) : ℕ+
ClassFormation.FiniteAbstractFieldExtension.residueDegree

The positive relative residue degree.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace FiniteAbstractFieldExtension
def residueDegree (E : FiniteAbstractFieldExtension G)
    (D : DegreeData G) : ℕ+
ClassFormation.FiniteAbstractFieldExtension.ramificationIndex

The positive relative ramification index.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace FiniteAbstractFieldExtension
def ramificationIndex (E : FiniteAbstractFieldExtension G)
    (D : DegreeData G) : ℕ+
ClassFormation.FiniteAbstractFieldExtension.residueDegree_eq_degree_of_isUnramified

In an unramified finite field extension, the positive relative residue degree is the positive extension degree.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace FiniteAbstractFieldExtension
theorem residueDegree_eq_degree_of_isUnramified
    (E : FiniteAbstractFieldExtension G) (D : DegreeData G)
    (hE : E.IsUnramified D) :
    (E.residueDegree D : ℕ) = (E.degree : ℕ)

A finite abstract field extension supplies finiteness of its relative quotient.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace FiniteAbstractFieldExtension
instance (E : FiniteAbstractFieldExtension G) :
    Finite
      (E.base.field.toSubgroup ⧸
        extensionSubgroup E.base.field E.field.field E.below)
ClassFormation.FiniteAbstractFieldExtension.toFiniteResidueAbstractExtension

Canonically enrich both endpoints with their finite residue quotients.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ClassFormation
open CyclicCohomology
noncomputable section
universe u
variable {G : Type u} [Group G] [TopologicalSpace G]
namespace FiniteAbstractFieldExtension
def toFiniteResidueAbstractExtension
    (E : FiniteAbstractFieldExtension G) (D : DegreeData G) :
    DegreeData.FiniteResidueAbstractExtension D where
  field := E.field.toFiniteResidueAbstractField D
  base := E.base.toFiniteResidueAbstractField D
  below := E.below
  finiteQuotient := E.finiteQuotient