internlm/Lean-Github huggingface dataset:
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₂)
this✝ : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head tail)
this :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    (((Denumerable.ofNat (Form × Form)
            (j +
              0)).fst&Form.conjoinList head
          tail)¦(Denumerable.ofNat (Form × Form) (j + 0)).snd&Form.conjoinList head tail)
⊢ False
Tactic:
have := BProof.mp this (BTheorem.orFunctor BTheorem.taut BTheorem.andE₁)
Proof state after:
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₂)
this✝¹ : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head tail)
this✝ :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    (((Denumerable.ofNat (Form × Form)
            (j +
              0)).fst&Form.conjoinList head
          tail)¦(Denumerable.ofNat (Form × Form) (j + 0)).snd&Form.conjoinList head tail)
this :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    (((Denumerable.ofNat (Form × Form)
            (j + 0)).fst&Form.conjoinList head tail)¦(Denumerable.ofNat (Form × Form) (j + 0)).snd)
⊢ False
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₂)
this✝¹ : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head tail)
this✝ :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    (((Denumerable.ofNat (Form × Form)
            (j +
              0)).fst&Form.conjoinList head
          tail)¦(Denumerable.ofNat (Form × Form) (j + 0)).snd&Form.conjoinList head tail)
this :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    (((Denumerable.ofNat (Form × Form)
            (j + 0)).fst&Form.conjoinList head tail)¦(Denumerable.ofNat (Form × Form) (j + 0)).snd)
⊢ False
Tactic:
have : w₁¦w₂ ∈ ▲lindenbaumSequence t Δ (i, j) ∩ Δ := ⟨⟨BProof.mp this thm₃⟩, l₅⟩
Proof state after:
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₂)
this✝² : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head tail)
this✝¹ :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    (((Denumerable.ofNat (Form × Form)
            (j +
              0)).fst&Form.conjoinList head
          tail)¦(Denumerable.ofNat (Form × Form) (j + 0)).snd&Form.conjoinList head tail)
this✝ :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    (((Denumerable.ofNat (Form × Form)
            (j + 0)).fst&Form.conjoinList head tail)¦(Denumerable.ofNat (Form × Form) (j + 0)).snd)
this : w₁¦w₂ ∈ ▲lindenbaumSequence t Δ (i, j) ∩ Δ
⊢ False
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₂)
this✝² : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head tail)
this✝¹ :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    (((Denumerable.ofNat (Form × Form)
            (j +
              0)).fst&Form.conjoinList head
          tail)¦(Denumerable.ofNat (Form × Form) (j + 0)).snd&Form.conjoinList head tail)
this✝ :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    (((Denumerable.ofNat (Form × Form)
            (j + 0)).fst&Form.conjoinList head tail)¦(Denumerable.ofNat (Form × Form) (j + 0)).snd)
this : w₁¦w₂ ∈ ▲lindenbaumSequence t Δ (i, j) ∩ Δ
⊢ False
Tactic:
exact (Set.not_nonempty_iff_eq_empty.mpr l₃) ⟨w₁¦w₂, this⟩
Proof state after:
no goals
Theorem: lindenbaumAvoids
Proof state before:
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
Tactic:
have := BProof.proveList l₆
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₂)
this : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head tail)
⊢ False
Theorem: lindenbaumAvoids
Proof state before:
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₂)
this : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head tail)
⊢ False
Tactic:
have := BProof.mp (BProof.adj prf₅ this) BTheorem.distRight
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₂)
this✝ : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head tail)
this :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    (((Denumerable.ofNat (Form × Form)
            (j +
              0)).fst&Form.conjoinList head
          tail)¦(Denumerable.ofNat (Form × Form) (j + 0)).snd&Form.conjoinList head tail)
⊢ False
Theorem: lindenbaumAvoids
Proof state before:
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₂)
this✝ : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head tail)
this :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    (((Denumerable.ofNat (Form × Form)
            (j +
              0)).fst&Form.conjoinList head
          tail)¦(Denumerable.ofNat (Form × Form) (j + 0)).snd&Form.conjoinList head tail)
⊢ False
Tactic:
have := BProof.mp this (BTheorem.orFunctor BTheorem.andE₁ BTheorem.taut)
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₂)
this✝¹ : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head tail)
this✝ :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    (((Denumerable.ofNat (Form × Form)
            (j +
              0)).fst&Form.conjoinList head
          tail)¦(Denumerable.ofNat (Form × Form) (j + 0)).snd&Form.conjoinList head tail)
this :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    ((Denumerable.ofNat (Form × Form)
          (j + 0)).fst¦(Denumerable.ofNat (Form × Form) (j + 0)).snd&Form.conjoinList head tail)
⊢ False
Theorem: lindenbaumAvoids
Proof state before:
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₂)
this✝¹ : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head tail)
this✝ :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    (((Denumerable.ofNat (Form × Form)
            (j +
              0)).fst&Form.conjoinList head
          tail)¦(Denumerable.ofNat (Form × Form) (j + 0)).snd&Form.conjoinList head tail)
this :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    ((Denumerable.ofNat (Form × Form)
          (j + 0)).fst¦(Denumerable.ofNat (Form × Form) (j + 0)).snd&Form.conjoinList head tail)
⊢ False
Tactic:
have : w₁¦w₂ ∈ ▲lindenbaumSequence t Δ (i, j) ∩ Δ := ⟨⟨BProof.mp this thm₃⟩, l₅⟩
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₂)
this✝² : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head tail)
this✝¹ :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    (((Denumerable.ofNat (Form × Form)
            (j +
              0)).fst&Form.conjoinList head
          tail)¦(Denumerable.ofNat (Form × Form) (j + 0)).snd&Form.conjoinList head tail)
this✝ :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    ((Denumerable.ofNat (Form × Form)
          (j + 0)).fst¦(Denumerable.ofNat (Form × Form) (j + 0)).snd&Form.conjoinList head tail)
this : w₁¦w₂ ∈ ▲lindenbaumSequence t Δ (i, j) ∩ Δ
⊢ False
Theorem: lindenbaumAvoids
Proof state before:
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₂)
this✝² : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head tail)
this✝¹ :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    (((Denumerable.ofNat (Form × Form)
            (j +
              0)).fst&Form.conjoinList head
          tail)¦(Denumerable.ofNat (Form × Form) (j + 0)).snd&Form.conjoinList head tail)
this✝ :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    ((Denumerable.ofNat (Form × Form)
          (j + 0)).fst¦(Denumerable.ofNat (Form × Form) (j + 0)).snd&Form.conjoinList head tail)
this : w₁¦w₂ ∈ ▲lindenbaumSequence t Δ (i, j) ∩ Δ
⊢ False
Tactic:
exact (Set.not_nonempty_iff_eq_empty.mpr l₃) ⟨w₁¦w₂, this⟩
Proof state after:
no goals
Theorem: lindenbaumAvoids
Proof state before:
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:
have prf₆ := BProof.proveList l₆
Proof state after:
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₂)
prf₆ : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head tail)
⊢ False
Theorem: lindenbaumAvoids
Proof state before:
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₂)
prf₆ : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head tail)
⊢ False
Tactic:
have prf₇ := BProof.proveList l₇
Proof state after:
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₂)
prf₆ : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head tail)
prf₇ : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head' tail')
⊢ False
Theorem: lindenbaumAvoids
Proof state before:
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₂)
prf₆ : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head tail)
prf₇ : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head' tail')
⊢ False
Tactic:
have := BProof.mp (BProof.adj prf₅ prf₇) BTheorem.distRight
Proof state after:
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₂)
prf₆ : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head tail)
prf₇ : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head' tail')
this :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    (((Denumerable.ofNat (Form × Form)
            (j +
              0)).fst&Form.conjoinList head'
          tail')¦(Denumerable.ofNat (Form × Form) (j + 0)).snd&Form.conjoinList head' tail')
⊢ False
Theorem: lindenbaumAvoids
Proof state before:
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₂)
prf₆ : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head tail)
prf₇ : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head' tail')
this :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    (((Denumerable.ofNat (Form × Form)
            (j +
              0)).fst&Form.conjoinList head'
          tail')¦(Denumerable.ofNat (Form × Form) (j + 0)).snd&Form.conjoinList head' tail')
⊢ False
Tactic:
have prf₈ := BProof.mp this (BTheorem.orFunctor BTheorem.taut BTheorem.andE₁)
Proof state after:
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₂)
prf₆ : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head tail)
prf₇ : BProof (lindenbaumSequence t Δ (i, j + 0)) (Form.conjoinList head' tail')
this :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    (((Denumerable.ofNat (Form × Form)
            (j +
              0)).fst&Form.conjoinList head'
          tail')¦(Denumerable.ofNat (Form × Form) (j + 0)).snd&Form.conjoinList head' tail')
prf₈ :
  BProof (lindenbaumSequence t Δ (i, j + 0))
    (((Denumerable.ofNat (Form × Form)
            (j + 0)).fst&Form.conjoinList head' tail')¦(Denumerable.ofNat (Form × Form) (j + 0)).snd)
⊢ False