The lines of the Lean statement that state the theorem, then the definitions in the file that it uses.
Local definitions the statement names, followed through the definitions they name in turn. The match is by name in the source text, so a name reached only through notation can be missed; the full file is below.
definition OAI.BogomolovPop.proEllKernel line 8
def proEllKernel (ell : ℕ) (G : Type*) [Group G] [TopologicalSpace G] : Subgroup G := ⨅ (H : OpenNormalSubgroup G) (_ : IsPGroup ell (G ⧸ H.toSubgroup)), H.toSubgroup
abbreviation OAI.BogomolovPop.ProEll line 17
abbrev ProEll (ell : ℕ) (F : Type*) [Field F] := Field.absoluteGaloisGroup F ⧸ proEllKernel ell (Field.absoluteGaloisGroup F)
definition OAI.BogomolovPop.closedGammaThree line 20
def closedGammaThree (G : Type*) [Group G] [TopologicalSpace G] [IsTopologicalGroup G] : Subgroup G := (⁅(commutator G).topologicalClosure, (⊤ : Subgroup G)⁆).topologicalClosure
abbreviation OAI.BogomolovPop.PiA line 29
abbrev PiA (ell : ℕ) (F : Type*) [Field F] := TopologicalAbelianization (ProEll ell F)
abbreviation OAI.BogomolovPop.PiC line 31
abbrev PiC (ell : ℕ) (F : Type*) [Field F] := ProEll ell F ⧸ closedGammaThree (ProEll ell F)
definition OAI.BogomolovPop.centralProjection line 38
def centralProjection (ell : ℕ) (F : Type*) [Field F] : PiC ell F →* PiA ell F := QuotientGroup.map _ _ (MonoidHom.id _) (closedGammaThree_le _)
abbreviation OAI.BogomolovPop.Delta line 41
abbrev Delta (ell : ℕ) (F : Type*) [Field F] := (centralProjection ell F).ker
definition OAI.BogomolovPop.sourceCommutator line 43
def sourceCommutator {G : Type*} [Group G] (x y : G) : G := x⁻¹ * y⁻¹ * x * y
definition OAI.BogomolovPop.abelianLift line 45
def abelianLift (ell : ℕ) (F : Type*) [Field F] (x : PiA ell F) : ProEll ell F := Quotient.out x
definition OAI.BogomolovPop.bracket line 51
def bracket (ell : ℕ) (F : Type*) [Field F] (x y : PiA ell F) : Delta ell F := ⟨QuotientGroup.mk' _ (sourceCommutator (abelianLift ell F x) (abelianLift ell F y)), by change centralProjection ell F _ = 1 simp only [centralProjection, sourceCommutator, map_mul, map_inv] simp [mul_comm]⟩
definition OAI.BogomolovPop.BracketCompatible line 57
def BracketCompatible {ell : ℕ} {K L : Type*} [Field K] [Field L] (φ : PiA ell L ≃ₜ* PiA ell K) : Prop := ∃ ψ : Delta ell L ≃ₜ* Delta ell K, ∀ σ τ, ψ (bracket ell L σ τ) = bracket ell K (φ σ) (φ τ)
abbreviation OAI.BogomolovPop.PerfectFieldClosure line 62
abbrev PerfectFieldClosure (F : Type*) [Field F] := perfectClosure F (AlgebraicClosure F)
definition OAI.BogomolovPop.PerfectIsom line 64
def PerfectIsom (k K l L : Type*) [Field k] [Field K] [Field l] [Field L] [Algebra k K] [Algebra l L] := { α : PerfectFieldClosure K ≃+* PerfectFieldClosure L // α '' Set.range (algebraMap k (PerfectFieldClosure K)) = Set.range (algebraMap l (PerfectFieldClosure L)) }
definition OAI.BogomolovPop.FrobeniusStep line 70
def FrobeniusStep {k K l L : Type*} [Field k] [Field K] [Field l] [Field L] [Algebra k K] [Algebra l L] (α β : PerfectIsom k K l L) : Prop := ∃ p : ℕ, p.Prime ∧ (p : L) = 0 ∧ ∀ x : PerfectFieldClosure K, β.1 x = (α.1 x) ^ p
abbreviation OAI.BogomolovPop.IsomF line 75
abbrev IsomF (k K l L : Type*) [Field k] [Field K] [Field l] [Field L] [Algebra k K] [Algebra l L] := Quotient (Relation.EqvGen.setoid (FrobeniusStep (k := k) (K := K) (l := l) (L := L)))
abbreviation OAI.BogomolovPop.IsomC line 79
abbrev IsomC (ell : ℕ) (K L : Type*) [Field K] [Field L] := {φ : PiA ell L ≃ₜ* PiA ell K // BracketCompatible φ}
definition OAI.BogomolovPop.ScalarStep line 82
def ScalarStep {ell : ℕ} [Fact ell.Prime] {K L : Type*} [Field K] [Field L] (φ χ : IsomC ell K L) : Prop := ∃ u : (PadicInt ell)ˣ, ∀ x : PiA ell L, Filter.Tendsto (fun n : ℕ => (φ.1 x) ^ PadicInt.appr (u : PadicInt ell) n) Filter.atTop (nhds (χ.1 x))
abbreviation OAI.BogomolovPop.IsomCUnits line 88
abbrev IsomCUnits (ell : ℕ) [Fact ell.Prime] (K L : Type*) [Field K] [Field L] := Quotient (Relation.EqvGen.setoid (ScalarStep (ell := ell) (K := K) (L := L)))
definition OAI.BogomolovPop.absoluteToPiA line 91
def absoluteToPiA (ell : ℕ) (F : Type*) [Field F] : Field.absoluteGaloisGroup F →* PiA ell F := (QuotientGroup.mk' _).comp (QuotientGroup.mk' _)
definition OAI.BogomolovPop.absoluteAction line 95
def absoluteAction {F : Type*} [Field F] (σ : Field.absoluteGaloisGroup F) (x : AlgebraicClosure F) : AlgebraicClosure F := by change AlgebraicClosure F ≃ₐ[F] AlgebraicClosure F at σ exact σ x
definition OAI.BogomolovPop.PullbackGraph line 100
def PullbackGraph {ell : ℕ} {k K l L : Type*} [Field k] [Field K] [Field l] [Field L] [Algebra k K] [Algebra l L] (α : PerfectIsom k K l L) (φ : IsomC ell K L) : Prop := ∃ β : AlgebraicClosure K ≃+* AlgebraicClosure L, (∀ x : PerfectFieldClosure K, β x = ((α.1 x : PerfectFieldClosure L) : AlgebraicClosure L)) ∧ ∀ σ : Field.absoluteGaloisGroup L, ∃ τ : Field.absoluteGaloisGroup K, (∀ x : AlgebraicClosure K, β (absoluteAction τ x) = absoluteAction σ (β x)) ∧ φ.1 (absoluteToPiA ell L σ) = absoluteToPiA ell K τ
definition OAI.BogomolovPop.PhiGraph line 111
def PhiGraph {ell : ℕ} [Fact ell.Prime] {k K l L : Type*} [Field k] [Field K] [Field l] [Field L] [Algebra k K] [Algebra l L] (a : IsomF k K l L) (b : IsomCUnits ell K L) : Prop := ∃ α : PerfectIsom k K l L, ∃ φ : IsomC ell K L, Quotient.mk _ α = a ∧ Quotient.mk _ φ = b ∧ PullbackGraph α φ