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.PartitionConsistency.Formula line 11
inductive Formula : ℕ → Type where | bot {n} : Formula n | mem {n} (x y : Fin n) : Formula n | equal {n} (x y : Fin n) : Formula n | imp {n} (p q : Formula n) : Formula n | conj {n} (p q : Formula n) : Formula n | disj {n} (p q : Formula n) : Formula n | all {n} (p : Formula (n + 1)) : Formula n | ex {n} (p : Formula (n + 1)) : Formula n
abbreviation OAI.PartitionConsistency.Formula.neg line 23
abbrev neg {n} (p : Formula n) : Formula n := p.imp .bot
abbreviation OAI.PartitionConsistency.Formula.iff line 24
abbrev iff {n} (p q : Formula n) : Formula n := (p.imp q).conj (q.imp p)
definition OAI.PartitionConsistency.Formula.liftRen line 27
def liftRen {n m} (r : Fin n → Fin m) : Fin (n + 1) → Fin (m + 1) := Fin.lastCases (Fin.last m) (fun i => (r i).castSucc)
definition OAI.PartitionConsistency.Formula.rename line 31
def rename {n m} (r : Fin n → Fin m) : Formula n → Formula m | .bot => .bot | .mem x y => .mem (r x) (r y) | .equal x y => .equal (r x) (r y) | .imp p q => .imp (rename r p) (rename r q) | .conj p q => .conj (rename r p) (rename r q) | .disj p q => .disj (rename r p) (rename r q) | .all p => .all (rename (liftRen r) p) | .ex p => .ex (rename (liftRen r) p)
abbreviation OAI.PartitionConsistency.Formula.raise line 41
abbrev raise {n} (p : Formula n) : Formula (n + 1) := rename Fin.castSucc p
definition OAI.PartitionConsistency.Formula.instantiate line 44
def instantiate {n} (p : Formula (n + 1)) (x : Fin n) : Formula n := rename (Fin.lastCases x id) p
definition OAI.PartitionConsistency.Formula.close line 48
def close : {n : ℕ} → Formula n → Formula 0 | 0, p => p | _ + 1, p => close (.all p)
abbreviation OAI.PartitionConsistency.Sentence line 54
abbrev Sentence := Formula 0
abbreviation OAI.PartitionConsistency.Theory line 55
abbrev Theory := Set Sentence
inductive type OAI.PartitionConsistency.Derives line 61
inductive Derives : {n : ℕ} → Set (Formula n) → Formula n → Prop where
Show the remaining 38 lines
| hyp {n} {Γ : Set (Formula n)} {p} : p ∈ Γ → Derives Γ p | weaken {n} {Γ Δ : Set (Formula n)} {p} : Γ ⊆ Δ → Derives Γ p → Derives Δ p | impI {n} {Γ : Set (Formula n)} {p q} : Derives (insert p Γ) q → Derives Γ (.imp p q) | impE {n} {Γ : Set (Formula n)} {p q} : Derives Γ (.imp p q) → Derives Γ p → Derives Γ q | botE {n} {Γ : Set (Formula n)} {p} : Derives Γ .bot → Derives Γ p | classical {n} {Γ : Set (Formula n)} {p} : Derives (insert p.neg Γ) .bot → Derives Γ p | conjI {n} {Γ : Set (Formula n)} {p q} : Derives Γ p → Derives Γ q → Derives Γ (.conj p q) | conjL {n} {Γ : Set (Formula n)} {p q} : Derives Γ (.conj p q) → Derives Γ p | conjR {n} {Γ : Set (Formula n)} {p q} : Derives Γ (.conj p q) → Derives Γ q | disjL {n} {Γ : Set (Formula n)} {p q} : Derives Γ p → Derives Γ (.disj p q) | disjR {n} {Γ : Set (Formula n)} {p q} : Derives Γ q → Derives Γ (.disj p q) | disjE {n} {Γ : Set (Formula n)} {p q r} : Derives Γ (.disj p q) → Derives (insert p Γ) r → Derives (insert q Γ) r → Derives Γ r | allI {n} {Γ : Set (Formula n)} {p : Formula (n + 1)} : Derives (Formula.raise '' Γ) p → Derives Γ (.all p) | allE {n} {Γ : Set (Formula n)} {p : Formula (n + 1)} (t : Fin n) : Derives Γ (.all p) → Derives Γ (p.instantiate t) | exI {n} {Γ : Set (Formula n)} {p : Formula (n + 1)} (t : Fin n) : Derives Γ (p.instantiate t) → Derives Γ (.ex p) | exE {n} {Γ : Set (Formula n)} {p : Formula (n + 1)} {q : Formula n} : Derives Γ (.ex p) → Derives (insert p (Formula.raise '' Γ)) q.raise → Derives Γ q | eqRefl {n} {Γ : Set (Formula n)} (t : Fin n) : Derives Γ (.equal t t) | eqSubst {n} {Γ : Set (Formula n)} {s t : Fin n} (p : Formula (n + 1)) : Derives Γ (.equal s t) → Derives Γ (p.instantiate s) → Derives Γ (p.instantiate t) | rename {n m} {Γ : Set (Formula n)} {p : Formula n} (r : Fin n → Fin m) : Derives Γ p → Derives (Formula.rename r '' Γ) (Formula.rename r p)
definition OAI.PartitionConsistency.Theory.at line 102
def Theory.at (T : Theory) (n : ℕ) : Set (Formula n) := Formula.rename Fin.elim0 '' T
definition OAI.PartitionConsistency.Consistent line 107
def Consistent (T : Theory) : Prop := ∀ n, ¬ Derives (T.at n) .bot
definition OAI.PartitionConsistency.SetLanguage.subset line 118
def subset {n} (a b : Fin n) : Formula n := rename ![a, b] (Formula.all ((Formula.mem 2 0).imp (Formula.mem 2 1)) : Formula 2)
definition OAI.PartitionConsistency.SetLanguage.empty line 122
def empty {n} (a : Fin n) : Formula n := rename ![a] (Formula.all (Formula.mem 1 0).neg : Formula 1)
definition OAI.PartitionConsistency.SetLanguage.nonempty line 126
def nonempty {n} (a : Fin n) : Formula n := rename ![a] (Formula.ex (Formula.mem 1 0) : Formula 1)
definition OAI.PartitionConsistency.SetLanguage.unorderedPair line 130
def unorderedPair {n} (p x y : Fin n) : Formula n := rename ![p, x, y] (Formula.all ((Formula.mem 3 0).iff ((Formula.equal 3 1).disj (Formula.equal 3 2))) : Formula 3)
definition OAI.PartitionConsistency.SetLanguage.successor line 135
def successor {n} (b a : Fin n) : Formula n := rename ![b, a] (Formula.all ((Formula.mem 2 0).iff ((Formula.mem 2 1).disj (Formula.equal 2 1))) : Formula 2)
definition OAI.PartitionConsistency.SetLanguage.orderedPair line 140
def orderedPair {n} (p x y : Fin n) : Formula n := rename ![p, x, y] (Formula.ex (Formula.ex ((unorderedPair 3 1 1).conj ((unorderedPair 4 1 2).conj (unorderedPair 0 3 4)))) : Formula 3)
definition OAI.PartitionConsistency.SetLanguage.edge line 146
def edge {n} (f x y : Fin n) : Formula n := rename ![f, x, y] (Formula.ex ((Formula.mem 3 0).conj (orderedPair 3 1 2)) : Formula 3)
definition OAI.PartitionConsistency.SetLanguage.functionOn line 153
def functionOn {n} (f d : Fin n) : Formula n := rename ![f, d] ((Formula.all ((Formula.mem 2 0).imp (Formula.ex (Formula.ex ((Formula.mem 3 1).conj (orderedPair 2 3 4)))))).conj (Formula.all ((Formula.mem 2 1).imp (Formula.ex ((edge 0 2 3).conj (Formula.all ((edge 0 2 4).imp (Formula.equal 4 3))))))) : Formula 2)
definition OAI.PartitionConsistency.SetLanguage.mapsTo line 161
def mapsTo {n} (f d r : Fin n) : Formula n := rename ![f, d, r] ((functionOn 0 1).conj (Formula.all (Formula.all ((Formula.mem 3 1).imp ((edge 0 3 4).imp (Formula.mem 4 2))))) : Formula 3)
definition OAI.PartitionConsistency.SetLanguage.surjection line 167
def surjection {n} (f d r : Fin n) : Formula n := rename ![f, d, r] ((mapsTo 0 1 2).conj (Formula.all ((Formula.mem 3 2).imp (Formula.ex ((Formula.mem 4 1).conj (edge 0 4 3))))) : Formula 3)
definition OAI.PartitionConsistency.SetLanguage.injection line 173
def injection {n} (f d r : Fin n) : Formula n := rename ![f, d, r] ((mapsTo 0 1 2).conj (Formula.all (Formula.all (.all ((Formula.mem 3 1).imp ((Formula.mem 4 1).imp (((edge 0 3 5).conj (edge 0 4 5)).imp (Formula.equal 3 4))))))) : Formula 3)
23 more definitions are reached the same way; the full file lists them.