Defining GL-proof systems. #
Here we define the GL-proof system along with finitization and basic properties.
Basic components of the GL-proof system. #
Rule applications for the GL-proof system.
- top (Δ : Sequent) : ⊤ ∈ Δ → RuleApp
- ax (Δ : Sequent) (n : ℕ) : at n ∈ Δ ∧ na n ∈ Δ → RuleApp
- and (Δ : Sequent) (φ ψ : Formula) : (φ&ψ) ∈ Δ → RuleApp
- or (Δ : Sequent) (φ ψ : Formula) : (φ v ψ) ∈ Δ → RuleApp
- box (Δ : Sequent) (φ : Formula) : □φ ∈ Δ → RuleApp
Instances For
Endofunctor for the GL-proof system.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given a RuleApp, obtain the sequent.
Equations
- f (RuleApp.top Δ a) = Δ
- f (RuleApp.ax Δ n a) = Δ
- f (RuleApp.and Δ A B a) = Δ
- f (RuleApp.or Δ A B a) = Δ
- f (RuleApp.box Δ A a) = Δ
Instances For
Defininion of GL-proof.
- X : Type
- step (x : self.X) : match r self.α x with | RuleApp.top Δ a => p self.α x = [] | RuleApp.ax Δ n a => p self.α x = [] | RuleApp.and Δ φ ψ a => List.map (fun (x : self.X) => f (r self.α x)) (p self.α x) = [fₙ (r self.α x) ∪ {φ}, fₙ (r self.α x) ∪ {ψ}] | RuleApp.or Δ φ ψ a => List.map (fun (x : self.X) => f (r self.α x)) (p self.α x) = [fₙ (r self.α x) ∪ {φ, ψ}] | RuleApp.box Δ φ a => List.map (fun (x : self.X) => f (r self.α x)) (p self.α x) = [(fₙ (r self.α x)).D ∪ {φ}]
Instances For
Equations
- «term_⊢_» = Lean.ParserDescr.trailingNode `«term_⊢_» 6 7 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "⊢") (Lean.ParserDescr.cat `term 6))
Instances For
Equations
- «term⊢_» = Lean.ParserDescr.node `«term⊢_» 40 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "⊢") (Lean.ParserDescr.cat `term 40))
Instances For
Fischer-Ladner properties of GL-proofs #
Point Generated GL-Proofs #
Filtration of GL-Proofs #
noncomputable def
αQuot
(𝕐 : Proof)
(x : Quotient (instSetoidX 𝕐))
:
T.obj (Quotient (instSetoidX 𝕐))
Structure morphism for Filtration.
Equations
- αQuot 𝕐 x = T.map (Quotient.mk (instSetoidX 𝕐)) (𝕐.α x.out)
Instances For
Filtration of a GL-Proof is a GL-proof.
Equations
- filtration 𝕐 = { X := Quotient (instSetoidX 𝕐), α := αQuot 𝕐, step := ⋯ }