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.
structure OAI.ChromaticCyclic.CyclicStep line 16
structure CyclicStep {G : Type*} [Group G] (H K : Subgroup G) : Prop where le : H ≤ K normal : (H.subgroupOf K).Normal cyclic : letI := normal; IsCyclic (K ⧸ H.subgroupOf K)
structure OAI.ChromaticCyclic.CyclicSeries line 21
structure CyclicSeries {G : Type*} [Group G] (H K : Subgroup G) (n : ℕ) where group : ℕ → Subgroup G first : group 0 = H last : group n = K step : ∀ i < n, CyclicStep (group i) (group (i + 1))
definition OAI.PolycyclicRecognition.GroupBornologous line 39
def GroupBornologous (f : G → H) : Prop := ∀ S : Set G, S.Finite → ∃ T : Set H, T.Finite ∧ ∀ x y, x⁻¹ * y ∈ S → (f x)⁻¹ * f y ∈ T
structure OAI.PolycyclicRecognition.GroupCoarseEquivalence line 44
structure GroupCoarseEquivalence (G H : Type*) [Group G] [Group H] where toFun : G → H invFun : H → G bornologous_toFun : GroupBornologous toFun bornologous_invFun : GroupBornologous invFun left_error : (Set.range fun x => x⁻¹ * invFun (toFun x)).Finite right_error : (Set.range fun y => y⁻¹ * toFun (invFun y)).Finite
definition OAI.PolycyclicRecognition.IsPolycyclic line 61
def IsPolycyclic : Prop := ∃ n : ℕ, Nonempty (CyclicSeries (⊥ : Subgroup G) ⊤ n)
definition OAI.PolycyclicRecognition.IsVirtuallyPolycyclic line 65
def IsVirtuallyPolycyclic : Prop := ∃ H : Subgroup G, H.FiniteIndex ∧ IsPolycyclic H
definition OAI.PolycyclicRecognition.IsUniformLattice line 75
def IsUniformLattice [TopologicalSpace G] (Λ : Subgroup G) : Prop := DiscreteTopology Λ ∧ ∃ K : Set G, IsCompact K ∧ ∀ g : G, ∃ (γ : Λ) (k : G), k ∈ K ∧ (γ : G) * k = g
structure OAI.PolycyclicRecognition.SimplyConnectedSolvableLieModel line 82
structure SimplyConnectedSolvableLieModel where
Show the remaining 13 lines
modelSpace : Type [normedAddCommGroup : NormedAddCommGroup modelSpace] [normedSpace : NormedSpace ℝ modelSpace] [finiteDimensional : FiniteDimensional ℝ modelSpace] carrier : Type [topologicalSpace : TopologicalSpace carrier] [chartedSpace : ChartedSpace modelSpace carrier] [group : Group carrier] [lieGroup : LieGroup (𝓘(ℝ, modelSpace)) ⊤ carrier] [t2Space : T2Space carrier] [secondCountableTopology : SecondCountableTopology carrier] [simplyConnectedSpace : SimplyConnectedSpace carrier] [solvable : Group.IsSolvable carrier]
definition OAI.PolycyclicRecognition.IsFiniteCovolumeLattice line 106
def IsFiniteCovolumeLattice {G : Type} [Group G] [TopologicalSpace G] (Λ : Subgroup G) : Prop := letI : MeasurableSpace (G ⧸ Λ) := borel _ DiscreteTopology Λ ∧ ∃ μ : Measure (G ⧸ Λ), IsProbabilityMeasure μ ∧ SMulInvariantMeasure G (G ⧸ Λ) μ
structure OAI.PolycyclicRecognition.LinearMetricChains line 113
structure LinearMetricChains (X : Type*) [PseudoMetricSpace X] where step : ℝ step_pos : 0 < step slope : ℝ slope_nonneg : 0 ≤ slope error : ℝ error_nonneg : 0 ≤ error chain : ∀ x y : X, ∃ (n : ℕ) (p : ℕ → X), p 0 = x ∧ p n = y ∧ (n : ℝ) ≤ slope * dist x y + error ∧ ∀ i < n, dist (p i) (p (i + 1)) ≤ step
structure OAI.PolycyclicRecognition.ProperChainMetric line 125
structure ProperChainMetric (G : Type*) [Group G] [TopologicalSpace G] where metric : MetricSpace G topology_eq : metric.toUniformSpace.toTopologicalSpace = ‹TopologicalSpace G› proper : letI := metric; ProperSpace G leftInvariant : letI := metric; IsIsometricSMul G G chains : letI := metric; LinearMetricChains G
definition OAI.PolycyclicRecognition.heightKernel line 142
def heightKernel (χ : I → L →ₗ[ℝ] ℝ) : Submodule ℝ L := ⨅ i, (χ i).ker
abbreviation OAI.PolycyclicRecognition.HeightSpace line 145
abbrev HeightSpace (χ : I → L →ₗ[ℝ] ℝ) := L ⧸ heightKernel χ
definition OAI.PolycyclicRecognition.heightProjection line 148
def heightProjection (χ : I → L →ₗ[ℝ] ℝ) : L →ₗ[ℝ] HeightSpace χ := (heightKernel χ).mkQ
structure OAI.PolycyclicRecognition.TriangularAdjoint line 154
structure TriangularAdjoint (L : Type*) [LieRing L] [LieAlgebra ℝ L] (n : ℕ) where basis : Basis (Fin n) ℝ L upper : ∀ x : L, (LinearMap.toMatrix basis basis (LieAlgebra.ad ℝ L x)).IsUpperTriangular
definition OAI.PolycyclicRecognition.TriangularAdjoint.character line 164
noncomputable def character (i : Fin n) : L →ₗ[ℝ] ℝ where toFun x := T.basis.repr ⁅x, T.basis i⁆ i map_add' x y := by simp [add_lie] map_smul' r x := (by simp [smul_lie] : _ = r * T.basis.repr ⁅x, T.basis i⁆ i)
structure OAI.PolycyclicRecognition.IsGroupExponential line 181
structure IsGroupExponential (Exp : GroupLieAlgebra (𝓘(ℝ, E)) G → G) : Prop where map_zero : Exp 0 = 1 map_add_smul : ∀ (v : GroupLieAlgebra (𝓘(ℝ, E)) G) (s t : ℝ), Exp ((s + t) • v) = Exp (s • v) * Exp (t • v) hasMFDerivAt_zero : ∀ v : GroupLieAlgebra (𝓘(ℝ, E)) G, HasMFDerivAt (𝓘(ℝ, ℝ)) (𝓘(ℝ, E)) (fun t : ℝ => Exp (t • v)) 0 (ContinuousLinearMap.smulRight (ContinuousLinearMap.id ℝ ℝ) v)
definition OAI.PolycyclicRecognition.ModelIsUnimodular line 192
def ModelIsUnimodular (R : SimplyConnectedSolvableLieModel) : Prop := letI : IsTopologicalGroup R.carrier := topologicalGroup_of_lieGroup (𝓘(ℝ, R.modelSpace)) ⊤ letI : LocallyCompactSpace R.carrier := Manifold.locallyCompact_of_finiteDimensional (𝓘(ℝ, R.modelSpace)) letI : MeasurableSpace R.carrier := borel _ letI : BorelSpace R.carrier := ⟨rfl⟩ (Measure.haar : Measure R.carrier).IsMulRightInvariant