- toRel : Rel M₁.World M₂.World
Instances For
Equations
- LO.Modal.Kripke.«term_⇄_» = Lean.ParserDescr.trailingNode `LO.Modal.Kripke.«term_⇄_» 80 81 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⇄ ") (Lean.ParserDescr.cat `term 81))
Instances For
instance
LO.Modal.Kripke.instCoeFunBisimulationForallWorldForallProp
{M₁ M₂ : LO.Modal.Kripke.Model}
:
def
LO.Modal.Kripke.ModalEquivalent
{M₁ M₂ : LO.Modal.Kripke.Model}
(w₁ : M₁.World)
(w₂ : M₂.World)
:
Instances For
Equations
- LO.Modal.Kripke.«term_↭_» = Lean.ParserDescr.trailingNode `LO.Modal.Kripke.«term_↭_» 50 51 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ↭ ") (Lean.ParserDescr.cat `term 51))
Instances For
theorem
LO.Modal.Kripke.modal_equivalent_of_bisimilar
{M₁ M₂ : LO.Modal.Kripke.Model}
{x₁ : M₁.World}
{x₂ : M₂.World}
(Bi : M₁ ⇄ M₂)
(bisx : Bi.toRel x₁ x₂)
:
x₁ ↭ x₂
- toFun : F₁.World → F₂.World
Instances For
Equations
- LO.Modal.Kripke.«term_→ₚ_» = Lean.ParserDescr.trailingNode `LO.Modal.Kripke.«term_→ₚ_» 80 81 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " →ₚ ") (Lean.ParserDescr.cat `term 81))
Instances For
Equations
- LO.Modal.Kripke.Frame.PseudoEpimorphism.id = { toFun := id, forth := ⋯, back := ⋯ }
Instances For
def
LO.Modal.Kripke.Frame.PseudoEpimorphism.TransitiveClosure
{F₁ F₂ : LO.Modal.Kripke.Frame}
(f : F₁ →ₚ F₂)
(F₂_trans : Transitive F₂.Rel)
:
Equations
- f.TransitiveClosure F₂_trans = { toFun := f.toFun, forth := ⋯, back := ⋯ }
Instances For
def
LO.Modal.Kripke.Frame.PseudoEpimorphism.comp
{F₁ F₂ F₃ : LO.Modal.Kripke.Frame}
(f : F₁ →ₚ F₂)
(g : F₂ →ₚ F₃)
:
F₁ →ₚ F₃
Instances For
structure
LO.Modal.Kripke.Model.PseudoEpimorphism
(M₁ M₂ : LO.Modal.Kripke.Model)
extends M₁.toFrame →ₚ M₂.toFrame :
- toFun : M₁.World → M₂.World
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- LO.Modal.Kripke.Model.PseudoEpimorphism.id = { toFun := id, forth := ⋯, back := ⋯, atomic := ⋯ }
Instances For
def
LO.Modal.Kripke.Model.PseudoEpimorphism.mkAtomic
{M₁ M₂ : LO.Modal.Kripke.Model}
(f : M₁.toFrame →ₚ M₂.toFrame)
(atomic : ∀ {w : M₁.World} {a : ℕ}, M₁.Val w a ↔ M₂.Val (f.toFun w) a)
:
M₁ →ₚ M₂
Equations
- LO.Modal.Kripke.Model.PseudoEpimorphism.mkAtomic f atomic = { toFun := f.toFun, forth := ⋯, back := ⋯, atomic := ⋯ }
Instances For
def
LO.Modal.Kripke.Model.PseudoEpimorphism.comp
{M₁ M₂ M₃ : LO.Modal.Kripke.Model}
(f : M₁ →ₚ M₂)
(g : M₂ →ₚ M₃)
:
M₁ →ₚ M₃
Equations
- f.comp g = LO.Modal.Kripke.Model.PseudoEpimorphism.mkAtomic (f.comp g.toPseudoEpimorphism) ⋯
Instances For
def
LO.Modal.Kripke.Model.PseudoEpimorphism.bisimulation
{M₁ M₂ : LO.Modal.Kripke.Model}
(f : M₁ →ₚ M₂)
:
M₁ ⇄ M₂
Equations
- f.bisimulation = { toRel := Function.graph f.toFun, atomic := ⋯, forth := ⋯, back := ⋯ }
Instances For
theorem
LO.Modal.Kripke.Model.PseudoEpimorphism.modal_equivalence
{M₁ M₂ : LO.Modal.Kripke.Model}
(f : M₁ →ₚ M₂)
(w : M₁.World)
:
w ↭ f.toFun w
theorem
LO.Modal.Kripke.iff_formula_valid_on_frame_surjective_morphism
{F₁ F₂ : LO.Modal.Kripke.Frame}
{φ : LO.Modal.Formula ℕ}
(f : F₁ →ₚ F₂)
(f_surjective : Function.Surjective f.toFun)
:
theorem
LO.Modal.Kripke.iff_theory_valid_on_frame_surjective_morphism
{F₁ F₂ : LO.Modal.Kripke.Frame}
{T : Set (LO.Modal.Formula ℕ)}
(f : F₁ →ₚ F₂)
(f_surjective : Function.Surjective f.toFun)
:
Instances For
- world_nonempty : Nonempty self.World
- root : self.World
- root_rooted : self.isRooted self.root
- default : self.World
Instances For
Equations
Instances For
Equations
- LO.Modal.Kripke.«term_↾_» = Lean.ParserDescr.trailingNode `LO.Modal.Kripke.«term_↾_» 100 101 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "↾") (Lean.ParserDescr.cat `term 101))
Instances For
theorem
LO.Modal.Kripke.Frame.PointGenerated.rel_transitive
{F : LO.Modal.Kripke.Frame}
{r : F.World}
(F_trans : Transitive F.Rel)
:
Transitive (F↾r).Rel
theorem
LO.Modal.Kripke.Frame.PointGenerated.rel_irreflexive
{F : LO.Modal.Kripke.Frame}
{r : F.World}
(F_irrefl : Irreflexive F.Rel)
:
Irreflexive (F↾r).Rel
theorem
LO.Modal.Kripke.Frame.PointGenerated.rel_universal
{F : LO.Modal.Kripke.Frame}
{r : F.World}
(F_refl : Reflexive F.Rel)
(F_eucl : Euclidean F.Rel)
:
instance
LO.Modal.Kripke.Frame.PointGenerated.instFiniteWorld
{F : LO.Modal.Kripke.Frame}
{r : F.World}
[Finite F.World]
:
Equations
- ⋯ = ⋯
instance
LO.Modal.Kripke.Frame.PointGenerated.instDecidableEqWorld
{F : LO.Modal.Kripke.Frame}
{r : F.World}
[DecidableEq F.World]
:
DecidableEq (F↾r).World
Equations
- LO.Modal.Kripke.Frame.PointGenerated.instDecidableEqWorld = Subtype.instDecidableEq
structure
LO.Modal.Kripke.RootedModelextends LO.Modal.Kripke.Model, LO.Modal.Kripke.RootedFrame :
Type 1
- world_nonempty : Nonempty self.World
- Val : LO.Modal.Kripke.Valuation self.toFrame
- root : self.World
- root_rooted : self.isRooted self.root
- default : self.World
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
LO.Modal.Kripke.Model.PointGenerated.bisimulation_of_trans
{M : LO.Modal.Kripke.Model}
(M_trans : Transitive M.Rel)
(r : M.World)
:
Equations
- LO.Modal.Kripke.Model.PointGenerated.bisimulation_of_trans M_trans r = { toRel := fun (x : (M↾r).World) (y : M.World) => ↑x = y, atomic := ⋯, forth := ⋯, back := ⋯ }
Instances For
theorem
LO.Modal.Kripke.Model.PointGenerated.modal_equivalent_at_root
{M : LO.Modal.Kripke.Model}
(M_trans : Transitive M.Rel)
(r : M.World)
:
⟨r, ⋯⟩ ↭ r
- toFun : F₁.World → F₂.World
- monic : Function.Injective self.toFun
Instances For
Equations
- LO.Modal.Kripke.«term_⊆ₚ_» = Lean.ParserDescr.trailingNode `LO.Modal.Kripke.«term_⊆ₚ_» 80 81 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⊆ₚ ") (Lean.ParserDescr.cat `term 81))
Instances For
@[reducible, inline]
Equations
Instances For
theorem
LO.Modal.Kripke.undefinable_irreflexive :
¬∃ (Ax : LO.Modal.Theory ℕ), LO.Modal.Kripke.IrreflexiveFrameClass.DefinedBy Ax