theorem
List.Chain'.nodup_of_trans_irreflex
{α : Type u_1}
{l : List α}
{R : α → α → Prop}
(R_trans : Transitive R)
(R_irrefl : Irreflexive R)
(h_chain : List.Chain' R l)
:
l.Nodup
Equations
- ⋯ = ⋯
theorem
List.chains_finite
{α : Type u_1}
{R : α → α → Prop}
[DecidableEq α]
[Finite α]
(R_trans : Transitive R)
(R_irrefl : Irreflexive R)
:
Finite { l : List α // List.Chain' R l }
def
LO.Modal.Standard.Kripke.Frame.TreeUnravelling
(F : LO.Modal.Standard.Kripke.Frame)
(r : F.World)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
LO.Modal.Standard.Kripke.Frame.TreeUnravelling.not_nil
{F : LO.Modal.Standard.Kripke.Frame}
{r : F.World}
{c : (F.TreeUnravelling r).World}
:
↑c ≠ []
theorem
LO.Modal.Standard.Kripke.Frame.TreeUnravelling.rel_length
{F : LO.Modal.Standard.Kripke.Frame}
{r : F.World}
{x : (F.TreeUnravelling r).World}
{y : (F.TreeUnravelling r).World}
(h : LO.Modal.Standard.Kripke.Frame.Rel' x y)
:
(↑x).length < (↑y).length
theorem
LO.Modal.Standard.Kripke.Frame.TreeUnravelling.irreflexive
{F : LO.Modal.Standard.Kripke.Frame}
{r : F.World}
:
Irreflexive (F.TreeUnravelling r).Rel
theorem
LO.Modal.Standard.Kripke.Frame.TreeUnravelling.assymetric
{F : LO.Modal.Standard.Kripke.Frame}
{r : F.World}
:
Assymetric (F.TreeUnravelling r).Rel
def
LO.Modal.Standard.Kripke.Frame.TreeUnravelling.PMorphism
(F : LO.Modal.Standard.Kripke.Frame)
(r : F.World)
:
F.TreeUnravelling r →ₚ F
Equations
- LO.Modal.Standard.Kripke.Frame.TreeUnravelling.PMorphism F r = { toFun := fun (c : (F.TreeUnravelling r).World) => (↑c).getLast ⋯, forth := ⋯, back := ⋯ }
Instances For
def
LO.Modal.Standard.Kripke.Model.TreeUnravelling
{α : Type u}
(M : LO.Modal.Standard.Kripke.Model α)
(r : M.World)
:
Equations
- M.TreeUnravelling r = { Frame := M.Frame.TreeUnravelling r, Valuation := fun (c : (M.Frame.TreeUnravelling r).World) (a : α) => M.Valuation ((↑c).getLast ⋯) a }
Instances For
def
LO.Modal.Standard.Kripke.Model.TreeUnravelling.PMorphism
{α : Type u}
(M : LO.Modal.Standard.Kripke.Model α)
(r : M.World)
:
M.TreeUnravelling r →ₚ M
Equations
Instances For
@[reducible, inline]
abbrev
LO.Modal.Standard.Kripke.Frame.TransitiveTreeUnravelling
(F : LO.Modal.Standard.Kripke.Frame)
(r : F.World)
:
Equations
- F.TransitiveTreeUnravelling r = (F.TreeUnravelling r).TransitiveClosure
Instances For
@[simp]
theorem
LO.Modal.Standard.Kripke.Frame.TransitiveTreeUnravelling.not_nil
{F : LO.Modal.Standard.Kripke.Frame}
{r : F.World}
{c : (F.TransitiveTreeUnravelling r).World}
:
↑c ≠ []
theorem
LO.Modal.Standard.Kripke.Frame.TransitiveTreeUnravelling.rel_length
{F : LO.Modal.Standard.Kripke.Frame}
{r : F.World}
{x : (F.TransitiveTreeUnravelling r).World}
{y : (F.TransitiveTreeUnravelling r).World}
(Rxy : LO.Modal.Standard.Kripke.Frame.Rel' x y)
:
(↑x).length < (↑y).length
theorem
LO.Modal.Standard.Kripke.Frame.TransitiveTreeUnravelling.rel_transitive
{F : LO.Modal.Standard.Kripke.Frame}
{r : F.World}
:
Transitive (F.TransitiveTreeUnravelling r).Rel
theorem
LO.Modal.Standard.Kripke.Frame.TransitiveTreeUnravelling.rel_asymmetric
{F : LO.Modal.Standard.Kripke.Frame}
{r : F.World}
:
Assymetric (F.TransitiveTreeUnravelling r).Rel
theorem
LO.Modal.Standard.Kripke.Frame.TransitiveTreeUnravelling.rel_def
{F : LO.Modal.Standard.Kripke.Frame}
{r : F.World}
{x : (F.TransitiveTreeUnravelling r).World}
{y : (F.TransitiveTreeUnravelling r).World}
:
LO.Modal.Standard.Kripke.Frame.Rel' x y ↔ (↑x).length < (↑y).length ∧ ↑x <+: ↑y
theorem
LO.Modal.Standard.Kripke.Frame.TransitiveTreeUnravelling.rooted
{F : LO.Modal.Standard.Kripke.Frame}
{r : F.World}
:
(F.TransitiveTreeUnravelling r).isRooted ⟨[r], ⋯⟩
def
LO.Modal.Standard.Kripke.Frame.TransitiveTreeUnravelling.PMorphism
(F : LO.Modal.Standard.Kripke.Frame)
(F_trans : Transitive F.Rel)
(r : F.World)
:
F.TransitiveTreeUnravelling r →ₚ F
Equations
- LO.Modal.Standard.Kripke.Frame.TransitiveTreeUnravelling.PMorphism F F_trans r = (LO.Modal.Standard.Kripke.Frame.TreeUnravelling.PMorphism F r).TransitiveClosure F_trans
Instances For
def
LO.Modal.Standard.Kripke.Model.TransitiveTreeUnravelling
{α : Type u}
(M : LO.Modal.Standard.Kripke.Model α)
(r : M.World)
:
Equations
- M.TransitiveTreeUnravelling r = { Frame := M.Frame.TransitiveTreeUnravelling r, Valuation := fun (c : (M.Frame.TransitiveTreeUnravelling r).World) (a : α) => M.Valuation ((↑c).getLast ⋯) a }
Instances For
def
LO.Modal.Standard.Kripke.Model.TransitiveTreeUnravelling.PMorphism
{α : Type u}
(M : LO.Modal.Standard.Kripke.Model α)
(M_trans : Transitive M.Frame.Rel)
(r : M.World)
:
M.TransitiveTreeUnravelling r →ₚ M
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LO.Modal.Standard.Kripke.Model.TransitiveTreeUnravelling.modal_equivalence_to_root
{α : Type u}
(M : LO.Modal.Standard.Kripke.Model α)
(M_trans : Transitive M.Frame.Rel)
(r : M.World)
:
⟨[r], ⋯⟩ ↭ r
structure
LO.Modal.Standard.Kripke.FiniteTransitiveTreeextends
LO.Modal.Standard.Kripke.FiniteFrame
:
Type (u_1 + 1)
- World : Type u_1
- Rel : Rel self.World self.World
- World_nonempty : Nonempty self.World
- World_finite : Finite self.World
- root : self.World
- root_rooted : self.isRooted self.root
- default : self.World
- rel_assymetric : Assymetric self.Rel
- rel_transitive : Transitive self.Rel
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
abbrev
LO.Modal.Standard.Kripke.FiniteTransitiveTree.alt
(T : LO.Modal.Standard.Kripke.FiniteTransitiveTree)
{α : Type u_2}
:
Instances For
Equations
- LO.Modal.Standard.Kripke.«term_#_2» = Lean.ParserDescr.trailingNode `LO.Modal.Standard.Kripke.term_#_2 1024 1024 (Lean.ParserDescr.symbol "#")
Instances For
Equations
- One or more equations did not get rendered due to their size.
@[reducible, inline]
abbrev
LO.Modal.Standard.Kripke.FiniteFrame.FiniteTransitiveTreeUnravelling
(F : LO.Modal.Standard.Kripke.FiniteFrame)
[DecidableEq F.World]
(F_trans : Transitive F.Rel)
(F_irrefl : Irreflexive F.Rel)
(r : F.World)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible, inline]
abbrev
LO.Modal.Standard.Kripke.Model.FiniteTransitiveTreeUnravelling
{α : Type u}
(M : LO.Modal.Standard.Kripke.Model α)
(r : M.World)
:
Instances For
structure
LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel
(α : Type u_1)
:
Type (max u_1 (u_2 + 1))
- Valuation : LO.Modal.Standard.Kripke.Valuation self.Tree.toFrame α
Instances For
@[reducible, inline]
abbrev
LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel.World
{α : Type u}
(M : LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel α)
:
Type u_1
Equations
- M.World = M.Tree.World
Instances For
@[reducible, inline]
abbrev
LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel.root
{α : Type u}
(M : LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel α)
:
M.World
Equations
- M.root = M.Tree.root
Instances For
@[reducible, inline]
abbrev
LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel.toFrame
{α : Type u}
(M : LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel α)
:
Equations
- M.toFrame = M.Tree.toFrame
Instances For
@[reducible, inline]
abbrev
LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel.toModel
{α : Type u}
(M : LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel α)
:
Equations
- M.toModel = { Frame := M.toFrame, Valuation := M.Valuation }
Instances For
Equations
- LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel.instCoeModel = { coe := LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel.toModel }
Equations
- LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel.instCoeSortType = { coe := LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel.World }
@[reducible]
instance
LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel.instSemanticsFormulaWorld
{α : Type u}
{M : LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel α}
:
LO.Semantics (LO.Modal.Standard.Formula α) M.World
Equations
- LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel.instSemanticsFormulaWorld = LO.Modal.Standard.Formula.Kripke.Satisfies.semantics
theorem
LO.Modal.Standard.Kripke.satisfies_at_root_on_FiniteTransitiveTree
{α : Type u}
{p : LO.Modal.Standard.Formula α}
(h : ∀ (F : LO.Modal.Standard.Kripke.FiniteTransitiveTree), F# ⊧ p)
(M : LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel α)
:
LO.Modal.Standard.Formula.Kripke.Satisfies M.toModel M.root p
theorem
LO.Modal.Standard.Kripke.valid_on_TransitiveIrreflexiveFrameClass_of_satisfies_at_root_on_FiniteTransitiveTree
{α : Type u}
{p : LO.Modal.Standard.Formula α}
:
(∀ (M : LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel α),
LO.Modal.Standard.Formula.Kripke.Satisfies M.toModel M.root p) →
LO.Modal.Standard.Kripke.TransitiveIrreflexiveFrameClassꟳ.alt ⊧ p
theorem
LO.Modal.Standard.Kripke.iff_provable_GL_satisfies_at_root_on_FiniteTransitiveTree
{α : Type u}
[Inhabited α]
[DecidableEq α]
{p : LO.Modal.Standard.Formula α}
:
𝐆𝐋 ⊢! p ↔ ∀ (M : LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel α),
LO.Modal.Standard.Formula.Kripke.Satisfies M.toModel M.root p
Segerberg [1971]?
theorem
LO.Modal.Standard.Kripke.iff_unprovable_GL_exists_unsatisfies_at_root_on_FiniteTransitiveTree
{α : Type u}
[Inhabited α]
[DecidableEq α]
{p : LO.Modal.Standard.Formula α}
:
𝐆𝐋 ⊬! p ↔ ∃ (M : LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel α),
¬LO.Modal.Standard.Formula.Kripke.Satisfies M.toModel M.root p
def
LO.Modal.Standard.Kripke.FiniteTransitiveTree.SimpleExtension
(F : LO.Modal.Standard.Kripke.FiniteTransitiveTree)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- LO.Modal.Standard.Kripke.«term_↧» = Lean.ParserDescr.trailingNode `LO.Modal.Standard.Kripke.term_↧ 1024 1024 (Lean.ParserDescr.symbol "↧")
Instances For
instance
LO.Modal.Standard.Kripke.FiniteTransitiveTree.SimpleExtension.instCoeWorld
{F : LO.Modal.Standard.Kripke.FiniteTransitiveTree}
:
Equations
- LO.Modal.Standard.Kripke.FiniteTransitiveTree.SimpleExtension.instCoeWorld = { coe := Sum.inr }
@[simp]
theorem
LO.Modal.Standard.Kripke.FiniteTransitiveTree.SimpleExtension.root_not_original
{F : LO.Modal.Standard.Kripke.FiniteTransitiveTree}
{x : F.World}
:
theorem
LO.Modal.Standard.Kripke.FiniteTransitiveTree.SimpleExtension.forth
{F : LO.Modal.Standard.Kripke.FiniteTransitiveTree}
{x : F.World}
{y : F.World}
(h : LO.Modal.Standard.Kripke.Frame.Rel' x y)
:
def
LO.Modal.Standard.Kripke.FiniteTransitiveTree.SimpleExtension.p_morphism
{F : LO.Modal.Standard.Kripke.FiniteTransitiveTree}
:
Equations
Instances For
theorem
LO.Modal.Standard.Kripke.FiniteTransitiveTree.SimpleExtension.through_original_root
{F : LO.Modal.Standard.Kripke.FiniteTransitiveTree}
{x : F↧.World}
(h : LO.Modal.Standard.Kripke.Frame.Rel' F↧.root x)
:
x = Sum.inr F.root ∨ LO.Modal.Standard.Kripke.Frame.Rel' (Sum.inr F.root) x
@[reducible, inline]
abbrev
LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel.SimpleExtension
{α : Type u}
(M : LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel α)
:
Equations
Instances For
Equations
- LO.Modal.Standard.Kripke.«term_↧_1» = Lean.ParserDescr.trailingNode `LO.Modal.Standard.Kripke.term_↧_1 1024 1024 (Lean.ParserDescr.symbol "↧")
Instances For
instance
LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel.SimpleExtension.instCoeWorld
{α : Type u}
{M : LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel α}
:
Equations
- LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel.SimpleExtension.instCoeWorld = { coe := Sum.inr }
def
LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel.SimpleExtension.p_morphism
{α : Type u}
{M : LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel α}
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel.SimpleExtension.modal_equivalence_original_world
{α : Type u}
{M : LO.Modal.Standard.Kripke.FiniteTransitiveTreeModel α}
{x : M.toModel.World}
:
theorem
LO.Modal.Standard.GL_imply_boxdot_plain_of_imply_box_box
{α : Type u_1}
[DecidableEq α]
[Inhabited α]
{p : LO.Modal.Standard.Formula α}
{q : LO.Modal.Standard.Formula α}
:
theorem
LO.Modal.Standard.GL_unnecessitation!
{α : Type u_1}
[DecidableEq α]
[Inhabited α]
{p : LO.Modal.Standard.Formula α}
:
noncomputable instance
LO.Modal.Standard.instUnnecessitationDeductionParameterFormulaGL
{α : Type u_1}
[DecidableEq α]
[Inhabited α]
:
Equations
- LO.Modal.Standard.instUnnecessitationDeductionParameterFormulaGL = { unnec := fun {p : LO.Modal.Standard.Formula α} (h : 𝐆𝐋 ⊢ □p) => Nonempty.some ⋯ }