Semantics of GL #
Here we supply the semantics of GL.
Kripke models for GL (note: we add the transitivity and con_wf conditions directly into our definition of a model, i.e. this is not a general definition of a Krike model!)
Auxiliary declaration used in the GL coalgebra development.
- R : α → α → Prop
Auxiliary declaration used in the GL coalgebra development.
- con_wf : WellFounded (Function.swap self.R)
Instances For
GL Models are irreflexive.
Standard semantics for Kripke models.
Equations
- Lean4GlCoalgebras.evaluate (fst, snd) Lean4GlCoalgebras.Formula.bottom = False
- Lean4GlCoalgebras.evaluate (fst, snd) Lean4GlCoalgebras.Formula.top = True
- Lean4GlCoalgebras.evaluate (M, w) (at n) = M.V w n
- Lean4GlCoalgebras.evaluate (M, w) (na n) = ¬M.V w n
- Lean4GlCoalgebras.evaluate (M, w) (φ&ψ) = (Lean4GlCoalgebras.evaluate (M, w) φ ∧ Lean4GlCoalgebras.evaluate (M, w) ψ)
- Lean4GlCoalgebras.evaluate (M, w) (φ v ψ) = (Lean4GlCoalgebras.evaluate (M, w) φ ∨ Lean4GlCoalgebras.evaluate (M, w) ψ)
- Lean4GlCoalgebras.evaluate (M, w) (□φ) = ∀ (u : α), M.R w u → Lean4GlCoalgebras.evaluate (M, u) φ
- Lean4GlCoalgebras.evaluate (M, w) (◇φ) = ∃ (u : α), M.R w u ∧ Lean4GlCoalgebras.evaluate (M, u) φ
Instances For
note: sequent are read disjunctively!
Equations
- Lean4GlCoalgebras.evaluateSeq M_u Γ = ∃ φ ∈ Γ, Lean4GlCoalgebras.evaluate M_u φ
Instances For
note: ignores the left/right annotation.
Equations
- Lean4GlCoalgebras.evaluateSSeq M_u Γ = ∃ φ ∈ Γ, Lean4GlCoalgebras.evaluate M_u (Sum.elim id id φ)
Instances For
A formula is valid if it holds at every world in every GL model.
Equations
- (⊨φ) = ∀ (α : Type) (M : Lean4GlCoalgebras.Model α) (u : α), Lean4GlCoalgebras.evaluate (M, u) φ
Instances For
A sequent is valid if some formula in it holds at every world in every GL model.
Equations
- (⊨Δ) = ∀ (α : Type) (M : Lean4GlCoalgebras.Model α) (u : α), Lean4GlCoalgebras.evaluateSeq (M, u) Δ
Instances For
A split sequent is valid if some formula in it holds at every world in every GL model.
Equations
- (⊨Δ) = ∀ (α : Type) (M : Lean4GlCoalgebras.Model α) (u : α), Lean4GlCoalgebras.evaluateSSeq (M, u) Δ
Instances For
Auxiliary declaration used in the GL coalgebra development.
Equations
- Lean4GlCoalgebras.«term⊨_» = Lean.ParserDescr.node `Lean4GlCoalgebras.«term⊨_» 40 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "⊨") (Lean.ParserDescr.cat `term 40))
Instances For
Auxiliary declaration used in the GL coalgebra development.
Equations
- Lean4GlCoalgebras.«term⊨__1» = Lean.ParserDescr.node `Lean4GlCoalgebras.«term⊨__1» 40 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "⊨") (Lean.ParserDescr.cat `term 40))
Instances For
Auxiliary declaration used in the GL coalgebra development.
Equations
- Lean4GlCoalgebras.«term⊨__2» = Lean.ParserDescr.node `Lean4GlCoalgebras.«term⊨__2» 40 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "⊨") (Lean.ParserDescr.cat `term 40))
Instances For
Model construction for substitution lemma.