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.
inductive type OAI.PartitionPilot.Forcing.SetFormula line 9
inductive SetFormula : Nat → Type | equal {n} : Fin n → Fin n → SetFormula n | mem {n} : Fin n → Fin n → SetFormula n | neg {n} : SetFormula n → SetFormula n | conj {n} : SetFormula n → SetFormula n → SetFormula n | all {n} : SetFormula (n + 1) → SetFormula n
definition OAI.PartitionPilot.Forcing.SetFormula.extend line 18
def extend {A : Type u} {n : Nat} (x : A) (env : Fin n → A) : Fin (n + 1) → A := Fin.cases x env
definition OAI.PartitionPilot.Forcing.SetFormula.Realize line 21
def Realize (U : Set ZFSet.{u}) : {n : Nat} → SetFormula n → (Fin n → ZFSet.{u}) → Prop | _, .equal i j, env => env i = env j | _, .mem i j, env => env i ∈ env j | _, .neg φ, env => ¬ Realize U φ env | _, .conj φ ψ, env => Realize U φ env ∧ Realize U ψ env | _, .all φ, env => ∀ x ∈ U, Realize U φ (extend x env)
definition OAI.PartitionPilot.Forcing.SetFormula.ex line 28
def ex {n : Nat} (φ : SetFormula (n + 1)) : SetFormula n := .neg (.all (.neg φ))
definition OAI.PartitionPilot.Forcing.SetFormula.disj line 30
def disj {n : Nat} (φ ψ : SetFormula n) : SetFormula n := .neg (.conj (.neg φ) (.neg ψ))
definition OAI.PartitionPilot.Forcing.SetFormula.imp line 32
def imp {n : Nat} (φ ψ : SetFormula n) : SetFormula n := .neg (.conj φ (.neg ψ))
inductive type OAI.PartitionPilot.Forcing.BoundedFormula line 36
inductive BoundedFormula : Nat → Type | equal {n} : Fin n → Fin n → BoundedFormula n | mem {n} : Fin n → Fin n → BoundedFormula n | neg {n} : BoundedFormula n → BoundedFormula n | conj {n} : BoundedFormula n → BoundedFormula n → BoundedFormula n | allMem {n} : Fin n → BoundedFormula (n + 1) → BoundedFormula n
definition OAI.PartitionPilot.Forcing.BoundedFormula.exMem line 51
def exMem {n} (b : Fin n) (φ : BoundedFormula (n + 1)) : BoundedFormula n := .neg (.allMem b (.neg φ))
definition OAI.PartitionPilot.Forcing.BoundedFormula.toFormula line 54
def toFormula : {n : Nat} → BoundedFormula n → SetFormula n | _, .equal i j => .equal i j | _, .mem i j => .mem i j | _, .neg φ => .neg φ.toFormula | _, .conj φ ψ => .conj φ.toFormula ψ.toFormula | _, .allMem b φ => .all (SetFormula.imp (.mem 0 b.succ) φ.toFormula)
definition OAI.PartitionPilot.Forcing.BoundedFormula.singletonFormula line 61
def singletonFormula {n} (z x : Fin n) : BoundedFormula n := .conj (.mem x z) (.allMem z (.equal 0 x.succ))
definition OAI.PartitionPilot.Forcing.BoundedFormula.unorderedPairFormula line 64
def unorderedPairFormula {n} (z x y : Fin n) : BoundedFormula n := .conj (.mem x z) (.conj (.mem y z) (.allMem z (disj (.equal 0 x.succ) (.equal 0 y.succ))))
definition OAI.PartitionPilot.Forcing.BoundedFormula.orderedPairFormula line 67
def orderedPairFormula {n} (z x y : Fin n) : BoundedFormula n := exMem z (.conj (singletonFormula 0 x.succ) (exMem z.succ (.conj (unorderedPairFormula 0 x.succ.succ y.succ.succ) (unorderedPairFormula z.succ.succ 1 0))))
definition OAI.PartitionPilot.Forcing.BoundedFormula.pairMembershipFormula line 72
def pairMembershipFormula {n} (x y r : Fin n) : BoundedFormula n := exMem r (orderedPairFormula 0 x.succ y.succ)
definition OAI.PartitionPilot.Forcing.BoundedFormula.relationBetweenFormula line 75
def relationBetweenFormula {n} (a b f : Fin n) : BoundedFormula n := .allMem f (exMem a.succ (exMem b.succ.succ (orderedPairFormula 2 1 0)))
definition OAI.PartitionPilot.Forcing.BoundedFormula.functionFormula line 78
def functionFormula {n} (a b f : Fin n) : BoundedFormula n := .conj (relationBetweenFormula a b f) (.allMem a (exMem b.succ (.conj (pairMembershipFormula 1 0 f.succ.succ) (.allMem b.succ.succ (imp (pairMembershipFormula 2 0 f.succ.succ.succ) (.equal 0 1))))))
definition OAI.PartitionPilot.Forcing.BoundedFormula.nonemptyFormula line 83
def nonemptyFormula {n} (x : Fin n) : BoundedFormula n := exMem x (.equal 0 0)
definition OAI.PartitionPilot.Forcing.BoundedFormula.choiceFunctionFormula line 85
def choiceFunctionFormula {n} (a f : Fin n) : BoundedFormula n := .conj (.allMem f (exMem a.succ (exMem 0 (orderedPairFormula 2 1 0)))) (.allMem a (exMem 0 (.conj (pairMembershipFormula 1 0 f.succ.succ) (.allMem 1 (imp (pairMembershipFormula 2 0 f.succ.succ.succ) (.equal 0 1))))))
structure OAI.PartitionPilot.Forcing.TransitiveGround line 92
structure TransitiveGround where sets : Set ZFSet.{u} transitive : ∀ {x y}, x ∈ sets → y ∈ x → y ∈ sets
structure OAI.PartitionPilot.Forcing.InjectionCode line 96
structure InjectionCode (D N f : ZFSet.{u}) : Prop where function : ZFSet.IsFunc D N f injective : ∀ x y z, ZFSet.pair x z ∈ f → ZFSet.pair y z ∈ f → x = y
definition OAI.PartitionPilot.Forcing.TransitiveGround.groundEmbeddable line 106
def groundEmbeddable (D N : ZFSet.{u}) : Prop := ∃ f ∈ M.sets, InjectionCode D N f
definition OAI.PartitionPilot.Forcing.setTransitive line 110
def setTransitive (x : ZFSet.{u}) : Prop := ∀ y ∈ x, ∀ z ∈ y, z ∈ x
definition OAI.PartitionPilot.Forcing.ordinalSetProperty line 112
def ordinalSetProperty (x : ZFSet.{u}) : Prop := setTransitive x ∧ ∀ y ∈ x, setTransitive y
definition OAI.PartitionPilot.Forcing.TransitiveGround.groundPower line 121
noncomputable def groundPower (B : ZFSet.{u}) : ZFSet.{u} := ZFSet.sep (fun p => p ∈ M.sets) (ZFSet.powerset B)
definition OAI.PartitionPilot.Forcing.GroundBelow line 126
def GroundBelow (M : TransitiveGround.{u}) (A K : ZFSet.{u}) : Prop := ∃ β ∈ K, M.groundEmbeddable A β
24 more definitions are reached the same way; the full file lists them.