Theorem: lindenbaumAvoids
Proof state before:
case nil.cons
t : Th
Δ : Ctx
h₁ : ↑t ∩ Δ = ∅
h₂ : isDisjunctionClosed Δ
i j : ℕ
w₁ : Form
l₃ : ▲lindenbaumSequence t Δ (i, j) ∩ Δ = ∅
w₂ : Form
l₅ : w₁¦w₂ ∈ Δ
prf₅ :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    ((Denumerable.ofNat (Form × Form) (j + 0)).fst¦(Denumerable.ofNat (Form × Form) (j + 0)).snd)
l₆ : { x | x ∈ [] } ⊆ lindenbaumSequence t Δ (i, j + 0)
head✝ : Form
tail✝ : List Form
l₇ : { x | x ∈ head✝ :: tail✝ } ⊆ lindenbaumSequence t Δ (i, j + 0)
thm₃ :
  BTheorem
    (Form.conjoinList (Denumerable.ofNat (Form × Form) (j + 0)).fst
          (head✝ :: tail✝)¦Form.conjoinList (Denumerable.ofNat (Form × Form) (j + 0)).snd []⊃w₁¦w₂)
⊢ False

case cons.nil
t : Th
Δ : Ctx
h₁ : ↑t ∩ Δ = ∅
h₂ : isDisjunctionClosed Δ
i j : ℕ
w₁ : Form
l₃ : ▲lindenbaumSequence t Δ (i, j) ∩ Δ = ∅
w₂ : Form
l₅ : w₁¦w₂ ∈ Δ
prf₅ :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    ((Denumerable.ofNat (Form × Form) (j + 0)).fst¦(Denumerable.ofNat (Form × Form) (j + 0)).snd)
head✝ : Form
tail✝ : List Form
l₆ : { x | x ∈ head✝ :: tail✝ } ⊆ lindenbaumSequence t Δ (i, j + 0)
l₇ : { x | x ∈ [] } ⊆ lindenbaumSequence t Δ (i, j + 0)
thm₃ :
  BTheorem
    (Form.conjoinList (Denumerable.ofNat (Form × Form) (j + 0)).fst
          []¦Form.conjoinList (Denumerable.ofNat (Form × Form) (j + 0)).snd (head✝ :: tail✝)⊃w₁¦w₂)
⊢ False

case cons.cons
t : Th
Δ : Ctx
h₁ : ↑t ∩ Δ = ∅
h₂ : isDisjunctionClosed Δ
i j : ℕ
w₁ : Form
l₃ : ▲lindenbaumSequence t Δ (i, j) ∩ Δ = ∅
w₂ : Form
l₅ : w₁¦w₂ ∈ Δ
prf₅ :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    ((Denumerable.ofNat (Form × Form) (j + 0)).fst¦(Denumerable.ofNat (Form × Form) (j + 0)).snd)
head✝¹ : Form
tail✝¹ : List Form
l₆ : { x | x ∈ head✝¹ :: tail✝¹ } ⊆ lindenbaumSequence t Δ (i, j + 0)
head✝ : Form
tail✝ : List Form
l₇ : { x | x ∈ head✝ :: tail✝ } ⊆ lindenbaumSequence t Δ (i, j + 0)
thm₃ :
  BTheorem
    (Form.conjoinList (Denumerable.ofNat (Form × Form) (j + 0)).fst
          (head✝ :: tail✝)¦Form.conjoinList (Denumerable.ofNat (Form × Form) (j + 0)).snd (head✝¹ :: tail✝¹)⊃w₁¦w₂)
⊢ False
Tactic:
case' nil.cons head tail =>
  have := BProof.proveList l₇
  have := BProof.mp (BProof.adj prf₅ this) BTheorem.distRight
  have := BProof.mp this (BTheorem.orFunctor BTheorem.taut BTheorem.andE₁)
  have : w₁¦w₂ ∈ ▲lindenbaumSequence t Δ (i, j) ∩ Δ := ⟨⟨BProof.mp this thm₃⟩, l₅⟩
  exact (Set.not_nonempty_iff_eq_empty.mpr l₃) ⟨w₁¦w₂, this⟩
Proof state after:
case cons.nil
t : Th
Δ : Ctx
h₁ : ↑t ∩ Δ = ∅
h₂ : isDisjunctionClosed Δ
i j : ℕ
w₁ : Form
l₃ : ▲lindenbaumSequence t Δ (i, j) ∩ Δ = ∅
w₂ : Form
l₅ : w₁¦w₂ ∈ Δ
prf₅ :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    ((Denumerable.ofNat (Form × Form) (j + 0)).fst¦(Denumerable.ofNat (Form × Form) (j + 0)).snd)
head✝ : Form
tail✝ : List Form
l₆ : { x | x ∈ head✝ :: tail✝ } ⊆ lindenbaumSequence t Δ (i, j + 0)
l₇ : { x | x ∈ [] } ⊆ lindenbaumSequence t Δ (i, j + 0)
thm₃ :
  BTheorem
    (Form.conjoinList (Denumerable.ofNat (Form × Form) (j + 0)).fst
          []¦Form.conjoinList (Denumerable.ofNat (Form × Form) (j + 0)).snd (head✝ :: tail✝)⊃w₁¦w₂)
⊢ False

case cons.cons
t : Th
Δ : Ctx
h₁ : ↑t ∩ Δ = ∅
h₂ : isDisjunctionClosed Δ
i j : ℕ
w₁ : Form
l₃ : ▲lindenbaumSequence t Δ (i, j) ∩ Δ = ∅
w₂ : Form
l₅ : w₁¦w₂ ∈ Δ
prf₅ :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    ((Denumerable.ofNat (Form × Form) (j + 0)).fst¦(Denumerable.ofNat (Form × Form) (j + 0)).snd)
head✝¹ : Form
tail✝¹ : List Form
l₆ : { x | x ∈ head✝¹ :: tail✝¹ } ⊆ lindenbaumSequence t Δ (i, j + 0)
head✝ : Form
tail✝ : List Form
l₇ : { x | x ∈ head✝ :: tail✝ } ⊆ lindenbaumSequence t Δ (i, j + 0)
thm₃ :
  BTheorem
    (Form.conjoinList (Denumerable.ofNat (Form × Form) (j + 0)).fst
          (head✝ :: tail✝)¦Form.conjoinList (Denumerable.ofNat (Form × Form) (j + 0)).snd (head✝¹ :: tail✝¹)⊃w₁¦w₂)
⊢ False