Documentation

ProvabilityLogic.Gentzen.A.Basic

inductive LogicA.ProofGentzen {α : Type u} [DecidableEq α] :
Instances For
    @[reducible, inline]
    Equations
    Instances For
      theorem LogicA.ProvableGentzen.wkL {α : Type u} [DecidableEq α] {Γ Γ' Δ : FormulaFinset α} {l : Fin 2} (h : ProvableGentzen (Γ ⟹[l] Δ)) (hΓ : Γ ⊆ Γ') :
      theorem LogicA.ProvableGentzen.wkR {α : Type u} [DecidableEq α] {Γ Δ Δ' : FormulaFinset α} {l : Fin 2} (h : ProvableGentzen (Γ ⟹[l] Δ)) (hΔ : Δ ⊆ Δ') :
      theorem LogicA.ProvableGentzen.impL {α : Type u} [DecidableEq α] {Γ Δ : FormulaFinset α} {A B : Formula α} {l : Fin 2} (h₁ : ProvableGentzen (Γ ⟹[l] insert A Δ)) (h₂ : ProvableGentzen (insert B Γ ⟹[l] Δ)) :
      theorem LogicA.ProvableGentzen.impR {α : Type u} [DecidableEq α] {Γ Δ : FormulaFinset α} {A B : Formula α} {l : Fin 2} (h : ProvableGentzen (insert A Γ ⟹[l] insert B Δ)) :
      theorem LogicA.ProvableGentzen.rec {α : Type u} [DecidableEq α] {motive : (S : TwoLayeredSequent α) → ProvableGentzen S → Prop} (axm : ∀ (l : Fin 2) (A : Formula α), motive ({A} ⟹[l] {A}) ⋯) (botL : ∀ (l : Fin 2), motive ({⊥} ⟹[l] ∅) ⋯) (wkL : ∀ {l : Fin 2} {Γ Γ' Δ : FormulaFinset α} (h : ProvableGentzen (Γ ⟹[l] Δ)) (hΓ : Γ ⊆ Γ'), motive (Γ ⟹[l] Δ) h → motive (Γ' ⟹[l] Δ) ⋯) (wkR : ∀ {l : Fin 2} {Γ Δ Δ' : FormulaFinset α} (h : ProvableGentzen (Γ ⟹[l] Δ)) (hΔ : Δ ⊆ Δ'), motive (Γ ⟹[l] Δ) h → motive (Γ ⟹[l] Δ') ⋯) (impL : ∀ {l : Fin 2} {Γ Δ : FormulaFinset α} {A B : Formula α} (h₁ : ProvableGentzen (Γ ⟹[l] insert A Δ)) (h₂ : ProvableGentzen (insert B Γ ⟹[l] Δ)), motive (Γ ⟹[l] insert A Δ) h₁ → motive (insert B Γ ⟹[l] Δ) h₂ → motive (insert (A 🡒 B) Γ ⟹[l] Δ) ⋯) (impR : ∀ {l : Fin 2} {Γ Δ : FormulaFinset α} {A B : Formula α} (h : ProvableGentzen (insert A Γ ⟹[l] insert B Δ)), motive (insert A Γ ⟹[l] insert B Δ) h → motive (Γ ⟹[l] insert (A 🡒 B) Δ) ⋯) (liftUp : ∀ {Γ Δ : FormulaFinset α} (h : ProvableGentzen (Γ ⟹[0] Δ)), motive (Γ ⟹[0] Δ) h → motive (Γ ⟹[1] Δ) ⋯) (boxGL : ∀ {Γ : FormulaFinset α} {A : Formula α} (h : ProvableGentzen (insert (□A) (Γ ∪ Γ.box) ⟹[0] {A})), motive (insert (□A) (Γ ∪ Γ.box) ⟹[0] {A}) h → motive (Γ.box ⟹[0] {□A}) ⋯) (boxGP : ∀ {Γ Δ : FormulaFinset α} {n : ℕ} (h : ProvableGentzen (Γ ⟹[1] insert (□^[n]⊥) Δ)), motive (Γ ⟹[1] insert (□^[n]⊥) Δ) h → motive (Γ ⟹[1] Δ) ⋯) {S : TwoLayeredSequent α} (h : ProvableGentzen S) :
      motive S h
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem LogicA.ProvableGentzen.union {α : Type u} [DecidableEq α] {Γ Δ : FormulaFinset α} (l : Fin 2) (A : Formula α) (hΓ : A ∈ Γ := by grind) (hΔ : A ∈ Δ := by grind) :
        theorem LogicA.ProvableGentzen.union' {α : Type u} [DecidableEq α] (l : Fin 2) (A : Formula α) {S : Sequent α} (hΓ : A ∈ S.ant := by grind) (hΔ : A ∈ S.suc := by grind) :
        theorem LogicA.ProvableGentzen.botL_mem {α : Type u} [DecidableEq α] {Γ Δ : FormulaFinset α} (l : Fin 2) (h : ⊥ ∈ Γ := by grind) :
        Instances For
          theorem LogicA.GentzenWithCutProvable.wkL {α : Type u} [DecidableEq α] {Γ Γ' Δ : FormulaFinset α} {l : Fin 2} (h : GentzenWithCutProvable (Γ ⟹[l] Δ)) (h' : Γ ⊆ Γ') :
          theorem LogicA.GentzenWithCutProvable.wkR {α : Type u} [DecidableEq α] {Γ Δ Δ' : FormulaFinset α} {l : Fin 2} (h : GentzenWithCutProvable (Γ ⟹[l] Δ)) (h' : Δ ⊆ Δ') :
          theorem LogicA.GentzenWithCutProvable.impL {α : Type u} [DecidableEq α] {Γ Δ : FormulaFinset α} {A B : Formula α} {l : Fin 2} (h₁ : GentzenWithCutProvable (Γ ⟹[l] insert A Δ)) (h₂ : GentzenWithCutProvable (insert B Γ ⟹[l] Δ)) :
          theorem LogicA.GentzenWithCutProvable.cut {α : Type u} [DecidableEq α] {Γ₁ Γ₂ Δ₁ Δ₂ : FormulaFinset α} {A : Formula α} {l : Fin 2} (h₁ : GentzenWithCutProvable (Γ₁ ⟹[l] insert A Δ₁)) (h₂ : GentzenWithCutProvable (insert A Γ₂ ⟹[l] Δ₂)) :
          GentzenWithCutProvable (Γ₁ ∪ Γ₂ ⟹[l] Δ₁ ∪ Δ₂)
          theorem LogicA.GentzenWithCutProvable.rec {α : Type u} [DecidableEq α] {motive : (S : TwoLayeredSequent α) → GentzenWithCutProvable S → Prop} (axm : ∀ (l : Fin 2) (A : Formula α), motive ({A} ⟹[l] {A}) ⋯) (botL : ∀ (l : Fin 2), motive ({⊥} ⟹[l] ∅) ⋯) (wkL : ∀ {l : Fin 2} {Γ Γ' Δ : FormulaFinset α} (h : GentzenWithCutProvable (Γ ⟹[l] Δ)) (h' : Γ ⊆ Γ'), motive (Γ ⟹[l] Δ) h → motive (Γ' ⟹[l] Δ) ⋯) (wkR : ∀ {l : Fin 2} {Γ Δ Δ' : FormulaFinset α} (h : GentzenWithCutProvable (Γ ⟹[l] Δ)) (h' : Δ ⊆ Δ'), motive (Γ ⟹[l] Δ) h → motive (Γ ⟹[l] Δ') ⋯) (impL : ∀ {l : Fin 2} {Γ Δ : FormulaFinset α} {A B : Formula α} (h₁ : GentzenWithCutProvable (Γ ⟹[l] insert A Δ)) (h₂ : GentzenWithCutProvable (insert B Γ ⟹[l] Δ)), motive (Γ ⟹[l] insert A Δ) h₁ → motive (insert B Γ ⟹[l] Δ) h₂ → motive (insert (A 🡒 B) Γ ⟹[l] Δ) ⋯) (impR : ∀ {l : Fin 2} {Γ Δ : FormulaFinset α} {A B : Formula α} (h : GentzenWithCutProvable (insert A Γ ⟹[l] insert B Δ)), motive (insert A Γ ⟹[l] insert B Δ) h → motive (Γ ⟹[l] insert (A 🡒 B) Δ) ⋯) (liftUp : ∀ {Γ Δ : FormulaFinset α} (h : GentzenWithCutProvable (Γ ⟹[0] Δ)), motive (Γ ⟹[0] Δ) h → motive (Γ ⟹[1] Δ) ⋯) (boxGL : ∀ {Γ : FormulaFinset α} {A : Formula α} (h : GentzenWithCutProvable (insert (□A) (Γ ∪ Γ.box) ⟹[0] {A})), motive (insert (□A) (Γ ∪ Γ.box) ⟹[0] {A}) h → motive (Γ.box ⟹[0] {□A}) ⋯) (boxGP : ∀ {Γ Δ : FormulaFinset α} {n : ℕ} (h : GentzenWithCutProvable (Γ ⟹[1] insert (□^[n]⊥) Δ)), motive (Γ ⟹[1] insert (□^[n]⊥) Δ) h → motive (Γ ⟹[1] Δ) ⋯) (cut : ∀ {l : Fin 2} {Γ₁ Γ₂ Δ₁ Δ₂ : FormulaFinset α} {A : Formula α} (h₁ : GentzenWithCutProvable (Γ₁ ⟹[l] insert A Δ₁)) (h₂ : GentzenWithCutProvable (insert A Γ₂ ⟹[l] Δ₂)), motive (Γ₁ ⟹[l] insert A Δ₁) h₁ → motive (insert A Γ₂ ⟹[l] Δ₂) h₂ → motive (Γ₁ ∪ Γ₂ ⟹[l] Δ₁ ∪ Δ₂) ⋯) {S : TwoLayeredSequent α} (h : GentzenWithCutProvable S) :
          motive S h