Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Model.«term_⊧__1» = Lean.ParserDescr.trailingNode `Model.«term_⊧__1» 50 51 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⊧ ") (Lean.ParserDescr.cat `term 51))
Instances For
theorem
LogicGL.ProvableGentzen.Kripke.finite_soundness
{α : Type v}
[DecidableEq α]
{S : Sequent α}
(h : ⊢ᵍ[GL] S)
{κ : Type u_1}
[Nonempty κ]
(M : Model κ α)
[M.IsFiniteGL]
:
@[simp]
structure
LogicGL.ExpandedSequent
{α : Type v}
[DecidableEq α]
(BS : Sequent α)
extends Sequent α :
Type v
- ant : FormulaFinset α
- suc : FormulaFinset α
- saturated : self.Saturated
Instances For
def
LogicGL.ExpandedSequent.widen
{α : Type v}
[DecidableEq α]
{BS₀ BS₁ : Sequent α}
(S : ExpandedSequent BS₀)
(hBS : BS₀ ⊆ BS₁)
:
ExpandedSequent BS₁
Equations
Instances For
theorem
LogicGL.ExpandedSequent.not_mem_both
{α : Type v}
[DecidableEq α]
{BS : Sequent α}
{S : ExpandedSequent BS}
{A : Formula α}
:
theorem
LogicGL.ExpandedSequent.not_mem_bot_ant
{α : Type v}
[DecidableEq α]
{BS : Sequent α}
{S : ExpandedSequent BS}
:
noncomputable def
LogicGL.ExpandedSequent.lindenbaum_indexed
{α : Type v}
[DecidableEq α]
(BS : Sequent α)
(BS_unprovable : ¬⊢ᵍ[GL] BS)
(S₀ : Sequent α)
(S₀_unprovable : ¬⊢ᵍ[GL] S₀)
:
Equations
- One or more equations did not get rendered due to their size.
- LogicGL.ExpandedSequent.lindenbaum_indexed BS BS_unprovable S₀ S₀_unprovable [] = ⟨S₀, S₀_unprovable⟩
- LogicGL.ExpandedSequent.lindenbaum_indexed BS BS_unprovable S₀ S₀_unprovable (head :: Γ) = LogicGL.ExpandedSequent.lindenbaum_indexed BS BS_unprovable S₀ S₀_unprovable Γ
Instances For
theorem
LogicGL.ExpandedSequent.subset_lindenbaum_indexed
{α : Type v}
[DecidableEq α]
{BS : Sequent α}
{BS_unprovable : ¬⊢ᵍ[GL] BS}
{S₀ : Sequent α}
{S₀_unprovable : ¬⊢ᵍ[GL] S₀}
{Γ : FormulaList α}
:
theorem
LogicGL.ExpandedSequent.subfmls_lindenbaum_indexed
{α : Type v}
[DecidableEq α]
{BS : Sequent α}
{BS_unprovable : ¬⊢ᵍ[GL] BS}
{S₀ : Sequent α}
{S₀_unprovable : ¬⊢ᵍ[GL] S₀}
(S₀sub : S₀.ant ∪ S₀.suc ⊆ BS.subfmls)
{Γ : FormulaList α}
(hΓ : ∀ C ∈ Γ, C ∈ BS.subfmls)
:
(↑(lindenbaum_indexed BS BS_unprovable S₀ S₀_unprovable Γ)).ant ∪ (↑(lindenbaum_indexed BS BS_unprovable S₀ S₀_unprovable Γ)).suc ⊆
BS.subfmls
theorem
LogicGL.ExpandedSequent.saturated_lindenbaum_indexed
{α : Type v}
[DecidableEq α]
{BS : Sequent α}
{BS_unprovable : ¬⊢ᵍ[GL] BS}
{S₀ : Sequent α}
{S₀_unprovable : ¬⊢ᵍ[GL] S₀}
{Γ : FormulaList α}
(hΓ : (List.map (fun (x : Formula α) => x.complexity) Γ).SortedLE)
:
theorem
LogicGL.ExpandedSequent.lindenbaum_indexed_saturated_impL_of_sorted_complexity
{α : Type v}
[DecidableEq α]
{B A : Formula α}
{BS : Sequent α}
{BS_unprovable : ¬⊢ᵍ[GL] BS}
{S₀ : Sequent α}
{S₀_unprovable : ¬⊢ᵍ[GL] S₀}
{Γ : FormulaList α}
(hΓ : (List.map (fun (x : Formula α) => x.complexity) Γ).SortedLE)
(h₁ : A 🡒 B ∈ Γ)
(h₂ : A 🡒 B ∈ (↑(lindenbaum_indexed BS BS_unprovable S₀ S₀_unprovable Γ)).ant)
:
A ∈ (↑(lindenbaum_indexed BS BS_unprovable S₀ S₀_unprovable Γ)).suc ∨ B ∈ (↑(lindenbaum_indexed BS BS_unprovable S₀ S₀_unprovable Γ)).ant
theorem
LogicGL.ExpandedSequent.lindenbaum_indexed_saturated_impL
{α : Type v}
[DecidableEq α]
{B A : Formula α}
{BS : Sequent α}
{BS_unprovable : ¬⊢ᵍ[GL] BS}
{S₀ : Sequent α}
{S₀_unprovable : ¬⊢ᵍ[GL] S₀}
{Γ : FormulaList α}
(h : A 🡒 B ∈ Γ)
:
A 🡒 B ∈ (↑(lindenbaum_indexed BS BS_unprovable S₀ S₀_unprovable
(List.insertionSort (fun (x1 x2 : Formula α) => x1.complexity ≤ x2.complexity) Γ))).ant →
A ∈ (↑(lindenbaum_indexed BS BS_unprovable S₀ S₀_unprovable
(List.insertionSort (fun (x1 x2 : Formula α) => x1.complexity ≤ x2.complexity) Γ))).suc ∨ B ∈ (↑(lindenbaum_indexed BS BS_unprovable S₀ S₀_unprovable
(List.insertionSort (fun (x1 x2 : Formula α) => x1.complexity ≤ x2.complexity) Γ))).ant
theorem
LogicGL.ExpandedSequent.lindenbaum_indexed_saturated_impR_of_sorted_complexity
{α : Type v}
[DecidableEq α]
{B A : Formula α}
{BS : Sequent α}
{BS_unprovable : ¬⊢ᵍ[GL] BS}
{S₀ : Sequent α}
{S₀_unprovable : ¬⊢ᵍ[GL] S₀}
{Γ : FormulaList α}
(hΓ : (List.map (fun (x : Formula α) => x.complexity) Γ).SortedLE)
(h₁ : A 🡒 B ∈ Γ)
(h₂ : A 🡒 B ∈ (↑(lindenbaum_indexed BS BS_unprovable S₀ S₀_unprovable Γ)).suc)
:
A ∈ (↑(lindenbaum_indexed BS BS_unprovable S₀ S₀_unprovable Γ)).ant ∧ B ∈ (↑(lindenbaum_indexed BS BS_unprovable S₀ S₀_unprovable Γ)).suc
theorem
LogicGL.ExpandedSequent.lindenbaum_indexed_saturated_impR
{α : Type v}
[DecidableEq α]
{B A : Formula α}
{BS : Sequent α}
{BS_unprovable : ¬⊢ᵍ[GL] BS}
{S₀ : Sequent α}
{S₀_unprovable : ¬⊢ᵍ[GL] S₀}
{Γ : FormulaList α}
(h : A 🡒 B ∈ Γ)
:
A 🡒 B ∈ (↑(lindenbaum_indexed BS BS_unprovable S₀ S₀_unprovable
(List.insertionSort (fun (x1 x2 : Formula α) => x1.complexity ≤ x2.complexity) Γ))).suc →
A ∈ (↑(lindenbaum_indexed BS BS_unprovable S₀ S₀_unprovable
(List.insertionSort (fun (x1 x2 : Formula α) => x1.complexity ≤ x2.complexity) Γ))).ant ∧ B ∈ (↑(lindenbaum_indexed BS BS_unprovable S₀ S₀_unprovable
(List.insertionSort (fun (x1 x2 : Formula α) => x1.complexity ≤ x2.complexity) Γ))).suc
noncomputable def
LogicGL.ExpandedSequent.lindenbaum
{α : Type v}
[DecidableEq α]
{BS : Sequent α}
[BS_unprovable : Fact ¬⊢ᵍ[GL] BS]
(S₀ : Sequent α)
(S₀_unprovable : ¬⊢ᵍ[GL] S₀)
(S₀sub : S₀.ant ∪ S₀.suc ⊆ BS.subfmls)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LogicGL.ExpandedSequent.ext
{α : Type v}
[DecidableEq α]
{BS : Sequent α}
{S T : ExpandedSequent BS}
(ha : S.ant = T.ant)
(hs : S.suc = T.suc)
:
instance
LogicGL.ExpandedSequent.instFinite
{α : Type v}
[DecidableEq α]
{BS : Sequent α}
:
Finite (ExpandedSequent BS)
instance
LogicGL.ExpandedSequent.instNonemptyOfFactNotProvableGentzen
{α : Type v}
[DecidableEq α]
{BS : Sequent α}
[Fact ¬⊢ᵍ[GL] BS]
:
Nonempty (ExpandedSequent BS)
def
LogicGL.ProvableGentzen.Kripke.countermodelOf
{α : Type v}
[DecidableEq α]
(BS : Sequent α)
[Fact ¬⊢ᵍ[GL] BS]
:
Model (ExpandedSequent BS) α
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LogicGL.ProvableGentzen.Kripke.instIsFiniteGLExpandedSequentCountermodelOf
{α : Type v}
[DecidableEq α]
{BS : Sequent α}
[Fact ¬⊢ᵍ[GL] BS]
:
(countermodelOf BS).IsFiniteGL
theorem
LogicGL.ProvableGentzen.Kripke.truthlemma
{α : Type v}
[DecidableEq α]
{BS : Sequent α}
[Fact ¬⊢ᵍ[GL] BS]
{x : (countermodelOf BS).World}
{A : Formula α}
:
theorem
LogicGL.ProvableGentzen.Kripke.truthlemma_ant
{α : Type v}
[DecidableEq α]
{BS : Sequent α}
[Fact ¬⊢ᵍ[GL] BS]
{x : (countermodelOf BS).World}
{A : Formula α}
:
A ∈ x.ant → x ⊩[countermodelOf BS] A
theorem
LogicGL.ProvableGentzen.Kripke.truthlemma_suc
{α : Type v}
[DecidableEq α]
{BS : Sequent α}
[Fact ¬⊢ᵍ[GL] BS]
{x : (countermodelOf BS).World}
{A : Formula α}
:
theorem
LogicGL.ProvableGentzen.Kripke.completeness
{α : Type v}
[DecidableEq α]
{S : Sequent α}
(h : ∀ {κ : Type v} [inst : Nonempty κ] (M : Model κ α) [M.IsFiniteGL], M ⊧ S)
:
⊢ᵍ[GL] S
Cut-elimination: any sequent provable with the cut rule (⊢ᵍᶜ[GL]) is also provable without it (⊢ᵍ[GL]).
theorem
LogicGL.GentzenWithCutProvable.cut_elimination
{α : Type v}
[DecidableEq α]
{S : Sequent α}
:
Alias of LogicGL.ProvableGentzen.of_with_cut.
Cut-elimination: any sequent provable with the cut rule (⊢ᵍᶜ[GL]) is also provable without it (⊢ᵍ[GL]).