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.
abbreviation OAI.QuadricCounterexample.ProjectiveLine line 13
abbrev ProjectiveLine := OnePoint ℂ
abbreviation OAI.QuadricCounterexample.QuadricSurface line 14
abbrev QuadricSurface := ProjectiveLine × ProjectiveLine
definition OAI.QuadricCounterexample.reciprocalP1 line 16
def reciprocalP1 (x : ProjectiveLine) : ProjectiveLine := x.elim (0 : ℂ) (fun z ↦ if z = 0 then ∞ else (z⁻¹ : ℂ))
definition OAI.QuadricCounterexample.affineP1 line 19
def affineP1 (i : Fin 2) (z : ℂ) : ProjectiveLine := if i = 0 then reciprocalP1 z else (z : ProjectiveLine)
definition OAI.QuadricCounterexample.affineQuadric line 22
def affineQuadric (i : Fin 2 × Fin 2) (z : ℂ × ℂ) : QuadricSurface := (affineP1 i.1 z.1, affineP1 i.2 z.2)
definition OAI.QuadricCounterexample.coordP1 line 25
def coordP1 (i : Fin 2) (x : ProjectiveLine) : ℂ := (if i=0 then reciprocalP1 x else x).elim 0 id
definition OAI.QuadricCounterexample.coordQuadric line 27
def coordQuadric (i : Fin 2 × Fin 2) (x : QuadricSurface) : ℂ × ℂ := (coordP1 i.1 x.1,coordP1 i.2 x.2)
definition OAI.QuadricCounterexample.powerP1 line 30
def powerP1 (m : ℕ) (x : ProjectiveLine) : ProjectiveLine := x.elim ∞ (fun z ↦ ((z^m : ℂ) : ProjectiveLine))
definition OAI.QuadricCounterexample.powerQuadric line 32
def powerQuadric (m : ℕ) (x : QuadricSurface) : QuadricSurface := (powerP1 m x.1,powerP1 m x.2)
abbreviation OAI.QuadricCounterexample.BaseCoordinates line 35
abbrev BaseCoordinates := ℂ × ℂ
abbreviation OAI.QuadricCounterexample.FiberCoordinates line 36
abbrev FiberCoordinates := Fin 2 → ℂ
abbreviation OAI.QuadricCounterexample.TwoMatrix line 37
abbrev TwoMatrix := Matrix (Fin 2) (Fin 2) ℂ
abbreviation OAI.QuadricCounterexample.BasePolynomial line 38
abbrev BasePolynomial := MvPolynomial (Fin 2) ℂ
definition OAI.QuadricCounterexample.baseEval line 39
def baseEval (p : BasePolynomial) (z : BaseCoordinates) : ℂ := MvPolynomial.eval ![z.1,z.2] p
definition OAI.QuadricCounterexample.AlgebraicallyRegularOn line 42
def AlgebraicallyRegularOn (U : Set BaseCoordinates) (f : BaseCoordinates → ℂ) : Prop := ∀ z ∈ U, ∃ p q : BasePolynomial, baseEval q z ≠ 0 ∧ ∀ w ∈ U, baseEval q w ≠ 0 → f w=baseEval p w/baseEval q w
definition OAI.QuadricCounterexample.principalChart line 46
def principalChart (i : Fin 2 × Fin 2) (p : BasePolynomial) : Set QuadricSurface := {x | x ∈ range (affineQuadric i) ∧ baseEval p (coordQuadric i x) ≠ 0}
structure OAI.QuadricCounterexample.AlgebraicRankTwoBundle line 49
structure AlgebraicRankTwoBundle where
Show the remaining 17 lines
numberOfCharts : ℕ chart : ℕ → Fin 2 × Fin 2 equation : ℕ → BasePolynomial finiteCover : ∀ i, numberOfCharts ≤ i → equation i=0 covers : ∀ x : QuadricSurface, ∃ i, x ∈ principalChart (chart i) (equation i) transition : ℕ → ℕ → QuadricSurface → TwoMatrix transition_self : ∀ i x, x ∈ principalChart (chart i) (equation i) → transition i i x=1 transition_mul : ∀ i j k x, x ∈ principalChart (chart i) (equation i) → x ∈ principalChart (chart j) (equation j) → x ∈ principalChart (chart k) (equation k) → transition i j x * transition j k x=transition i k x transition_regular : ∀ i j a b, AlgebraicallyRegularOn {z | baseEval (equation i) z ≠ 0 ∧ affineQuadric (chart i) z ∈ principalChart (chart j) (equation j)} (fun z ↦ transition i j (affineQuadric (chart i) z) a b)
definition OAI.QuadricCounterexample.AlgebraicRankTwoBundle.domain line 70
def domain (V : AlgebraicRankTwoBundle) (i : ℕ) : Set QuadricSurface := principalChart (V.chart i) (V.equation i)
definition OAI.QuadricCounterexample.AlgebraicRankTwoBundle.coordinateDomain line 72
def coordinateDomain (V : AlgebraicRankTwoBundle) (i : ℕ) : Set BaseCoordinates := {z | baseEval (V.equation i) z ≠ 0}
definition OAI.QuadricCounterexample.AlgebraicRankTwoBundle.dualTransition line 75
def dualTransition (V : AlgebraicRankTwoBundle) (i j : ℕ) (x : QuadricSurface) : TwoMatrix := (V.transition j i x).transpose
definition OAI.QuadricCounterexample.hyperplaneTransition line 80
def hyperplaneTransition (i j : Fin 2) (x : ProjectiveLine) : ℂ := if i=j then 1 else coordP1 i x
definition OAI.QuadricCounterexample.polarizationTransition line 82
def polarizationTransition (i j : Fin 2 × Fin 2) (x : QuadricSurface) : ℂ := hyperplaneTransition i.1 j.1 x.1 * hyperplaneTransition i.2 j.2 x.2
definition OAI.QuadricCounterexample.IsPowerPullbackTwist line 85
def IsPowerPullbackTwist (G : AlgebraicRankTwoBundle) (m : ℕ) (E : AlgebraicRankTwoBundle) : Prop := E.numberOfCharts=G.numberOfCharts ∧ E.chart=G.chart ∧ (∀ i, E.equation i = (MvPolynomial.bind₁ fun j ↦ MvPolynomial.X j ^ m) (G.equation i)) ∧ ∀ i j x, x ∈ E.domain i → x ∈ E.domain j → E.transition i j x = polarizationTransition (G.chart i) (G.chart j) x • G.transition i j (powerQuadric m x)
structure OAI.QuadricCounterexample.SymmetricSection line 93
structure SymmetricSection (V : AlgebraicRankTwoBundle) (n : ℕ) where coefficient : ℕ → Fin (n+1) → BaseCoordinates → ℂ regular : ∀ i k, AlgebraicallyRegularOn (V.coordinateDomain i) (coefficient i k) compatible : ∀ i j x, x ∈ V.domain i → x ∈ V.domain j → ∀ v : FiberCoordinates, (∑ k : Fin (n+1), coefficient i k (coordQuadric (V.chart i) x) * ((V.dualTransition i j x).mulVec v 0)^k.val * ((V.dualTransition i j x).mulVec v 1)^(n-k.val)) = ∑ k : Fin (n+1), coefficient j k (coordQuadric (V.chart j) x) * v 0^k.val * v 1^(n-k.val)
9 more definitions are reached the same way; the full file lists them.