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.VariableWL.Word line 7
abbrev Word := List Bool
inductive type OAI.VariableWL.Motion line 9
inductive Motion where | left | stay | right deriving DecidableEq
definition OAI.VariableWL.Motion.displacement line 13
def Motion.displacement : Motion → ℤ | .left => -1 | .stay => 0 | .right => 1
structure OAI.VariableWL.Machine line 18
structure Machine where states : ℕ workSymbols : ℕ extraTapes : ℕ transition : Fin (states + 1) → (Fin (extraTapes + 1) → Fin (workSymbols + 3)) → Option (Fin (states + 1) × (Fin (extraTapes + 1) → Fin (workSymbols + 3) × Motion))
structure OAI.VariableWL.Configuration line 27
structure Configuration (M : Machine) where control : Fin (M.states + 1) heads : Fin (M.extraTapes + 1) → ℤ cells : Fin (M.extraTapes + 1) → ℤ → Fin (M.workSymbols + 3)
definition OAI.VariableWL.wordCells line 32
def wordCells (a : ℕ) (w : Word) (i : ℤ) : Fin (a + 3) := if 0 ≤ i then match w[i.toNat]? with | none => 0 | some false => 1 | some true => 2 else 0
definition OAI.VariableWL.initial line 40
def initial (M : Machine) (w : Word) : Configuration M where control := 0 heads := fun _ => 0 cells := fun j => if j = 0 then wordCells M.workSymbols w else fun _ => 0
definition OAI.VariableWL.scanned line 45
def scanned {M : Machine} (c : Configuration M) : Fin (M.extraTapes + 1) → Fin (M.workSymbols + 3) := fun j => c.cells j (c.heads j)
definition OAI.VariableWL.step line 49
def step (M : Machine) (c : Configuration M) : Option (Configuration M) := (M.transition c.control (scanned c)).map fun data => { control := data.1 heads := fun j => c.heads j + (data.2 j).2.displacement cells := fun j i => if i = c.heads j then (data.2 j).1 else c.cells j i }
definition OAI.VariableWL.run line 55
def run (M : Machine) (w : Word) : ℕ → Configuration M | 0 => initial M w | n + 1 => (step M (run M w n)).getD (run M w n)
definition OAI.VariableWL.OutputsWithin line 59
def OutputsWithin (M : Machine) (w out : Word) (bound : ℕ) : Prop := ∃ t ≤ bound, step M (run M w t) = none ∧ (run M w t).cells 0 = wordCells M.workSymbols out
abbreviation OAI.VariableWL.Language line 63
abbrev Language := Set Word
definition OAI.VariableWL.InEXPTIME line 65
def InEXPTIME (L : Language) : Prop := ∃ M : Machine, ∃ c d : ℕ, ∀ w : Word, ∃ b : Bool, (b = true ↔ w ∈ L) ∧ OutputsWithin M w [b] (2 ^ (c * (w.length + 1) ^ d))
definition OAI.VariableWL.PolytimeReduces line 70
def PolytimeReduces (L R : Language) : Prop := ∃ M : Machine, ∃ c d : ℕ, ∀ w : Word, ∃ out : Word, OutputsWithin M w out (c * (w.length + 1) ^ d) ∧ (w ∈ L ↔ out ∈ R)
definition OAI.VariableWL.EXPTIMEComplete line 75
def EXPTIMEComplete (L : Language) : Prop := InEXPTIME L ∧ ∀ R : Language, InEXPTIME R → PolytimeReduces R L
structure OAI.VariableWL.Graph line 78
structure Graph where order : ℕ graph : SimpleGraph (Fin order)
abbreviation OAI.VariableWL.Tuple line 82
abbrev Tuple (G : Graph) (k : ℕ) := Fin k → Fin G.order
definition OAI.VariableWL.Color line 84
def Color (k : ℕ) : ℕ → Type | 0 => Fin k → Fin k → Bool × Bool | s + 1 => Color k s × Multiset (Fin k → Color k s)
definition OAI.VariableWL.color line 88
noncomputable def color (G : Graph) (k : ℕ) : (s : ℕ) → Tuple G k → Color k s | 0, v => by classical exact fun i j => (decide (v i = v j), decide (G.graph.Adj (v i) (v j))) | s + 1, v => (color G k s v, Finset.univ.val.map (fun z => fun i => color G k s (Function.update v i z)))
definition OAI.VariableWL.histogram line 95
noncomputable def histogram (G : Graph) (k s : ℕ) : Multiset (Color k s) := Finset.univ.val.map (color G k s)
definition OAI.VariableWL.Equivalent line 98
def Equivalent (G H : Graph) (k : ℕ) : Prop := ∀ s : ℕ, histogram G k s = histogram H k s
definition OAI.VariableWL.integerCode line 101
def integerCode (n : ℕ) : Word := List.replicate (Nat.bits n).length true ++ [false] ++ Nat.bits n
definition OAI.VariableWL.graphCode line 104
noncomputable def graphCode (G : Graph) : Word := by classical exact integerCode G.order ++ (List.ofFn fun i : Fin G.order => List.ofFn fun j : Fin G.order => decide (G.graph.Adj i j)).flatten
definition OAI.VariableWL.pairCode line 110
noncomputable def pairCode (G H : Graph) (k : ℕ) : Word := graphCode G ++ graphCode H ++ integerCode k
3 more definitions are reached the same way; the full file lists them.