- World : Type u_1
- World_nonempty : Nonempty self.World
- Rel : LO.Modal.Formula α → self.World → self.World → Prop
Instances For
@[reducible, inline]
noncomputable abbrev
LO.Modal.PLoN.Frame.default
{α : Type u_1}
{F : LO.Modal.PLoN.Frame α}
:
F.World
Equations
- LO.Modal.PLoN.Frame.default = ⋯.some
Instances For
Equations
- LO.Modal.PLoN.«term﹫» = Lean.ParserDescr.node `LO.Modal.PLoN.«term﹫» 1024 (Lean.ParserDescr.symbol "﹫")
Instances For
instance
LO.Modal.PLoN.instCoeFunFrameForallFormulaForallWorldForallProp
{α : Type u_1}
:
CoeFun (LO.Modal.PLoN.Frame α) fun (F : LO.Modal.PLoN.Frame α) => LO.Modal.Formula α → F.World → F.World → Prop
Equations
- LO.Modal.PLoN.instCoeFunFrameForallFormulaForallWorldForallProp = { coe := LO.Modal.PLoN.Frame.Rel }
@[reducible, inline]
abbrev
LO.Modal.PLoN.Frame.Rel'
{α : Type u_1}
{F : LO.Modal.PLoN.Frame α}
(φ : LO.Modal.Formula α)
(x y : F.World)
:
Equations
- LO.Modal.PLoN.Frame.Rel' φ x y = F.Rel φ x y
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
structure
LO.Modal.PLoN.FiniteFrame
(α : Type u_1)
extends LO.Modal.PLoN.Frame α :
Type (max u_1 (u_2 + 1))
- World_nonempty : Nonempty self.World
- Rel : LO.Modal.Formula α → self.World → self.World → Prop
- World_finite : Finite self.World
Instances For
Equations
- LO.Modal.PLoN.instCoeFiniteFrameFrame = { coe := fun (F : LO.Modal.PLoN.FiniteFrame α) => F.toFrame }
@[reducible, inline]
Equations
- LO.Modal.PLoN.terminalFrame α = LO.Modal.PLoN.FiniteFrame.mk (LO.Modal.PLoN.Frame.mk Unit fun (x : LO.Modal.Formula α) (x x : Unit) => True)
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
- LO.Modal.PLoN.Valuation F α = (F.World → α → Prop)
Instances For
- Frame : LO.Modal.PLoN.Frame α
- Valuation : LO.Modal.PLoN.Valuation self.Frame α
Instances For
instance
LO.Modal.PLoN.instCoeSortModelType
{α : Type u_1}
:
CoeSort (LO.Modal.PLoN.Model α) (Type u_2)
Equations
- LO.Modal.PLoN.instCoeSortModelType = { coe := LO.Modal.PLoN.Model.World }
def
LO.Modal.Formula.PLoN.Satisfies
{α : Type u_1}
(M : LO.Modal.PLoN.Model α)
(w : M.World)
:
LO.Modal.Formula α → Prop
Equations
- LO.Modal.Formula.PLoN.Satisfies M w (LO.Modal.Formula.atom a) = M.Valuation w a
- LO.Modal.Formula.PLoN.Satisfies M w LO.Modal.Formula.falsum = False
- LO.Modal.Formula.PLoN.Satisfies M w (φ.imp ψ) = (LO.Modal.Formula.PLoN.Satisfies M w φ → LO.Modal.Formula.PLoN.Satisfies M w ψ)
- LO.Modal.Formula.PLoN.Satisfies M w φ.box = ∀ {w' : M.Frame.World}, LO.Modal.PLoN.Frame.Rel' φ w w' → LO.Modal.Formula.PLoN.Satisfies M w' φ
Instances For
instance
LO.Modal.Formula.PLoN.Satisfies.semantics
{α : Type u_1}
(M : LO.Modal.PLoN.Model α)
:
LO.Semantics (LO.Modal.Formula α) M.World
Equations
- LO.Modal.Formula.PLoN.Satisfies.semantics M = { Realize := fun (w : M.World) => LO.Modal.Formula.PLoN.Satisfies M w }
@[simp]
theorem
LO.Modal.Formula.PLoN.Satisfies.iff_models
{α : Type u_1}
{M : LO.Modal.PLoN.Model α}
{x : M.World}
{φ : LO.Modal.Formula α}
:
x ⊧ φ ↔ LO.Modal.Formula.PLoN.Satisfies M x φ
theorem
LO.Modal.Formula.PLoN.Satisfies.box_def
{α : Type u_1}
{M : LO.Modal.PLoN.Model α}
{x : M.World}
{φ : LO.Modal.Formula α}
:
x ⊧ □φ ↔ ∀ (y : M.Frame.World), LO.Modal.PLoN.Frame.Rel' φ x y → y ⊧ φ
theorem
LO.Modal.Formula.PLoN.Satisfies.not_def
{α : Type u_1}
{M : LO.Modal.PLoN.Model α}
{x : M.World}
{φ : LO.Modal.Formula α}
:
instance
LO.Modal.Formula.PLoN.Satisfies.instNotWorld
{α : Type u_1}
{M : LO.Modal.PLoN.Model α}
:
LO.Semantics.Not M.World
Equations
- ⋯ = ⋯
theorem
LO.Modal.Formula.PLoN.Satisfies.imp_def
{α : Type u_1}
{M : LO.Modal.PLoN.Model α}
{x : M.World}
{φ ψ : LO.Modal.Formula α}
:
instance
LO.Modal.Formula.PLoN.Satisfies.instImpWorld
{α : Type u_1}
{M : LO.Modal.PLoN.Model α}
:
LO.Semantics.Imp M.World
Equations
- ⋯ = ⋯
theorem
LO.Modal.Formula.PLoN.Satisfies.or_def
{α : Type u_1}
{M : LO.Modal.PLoN.Model α}
{x : M.World}
{φ ψ : LO.Modal.Formula α}
:
instance
LO.Modal.Formula.PLoN.Satisfies.instOrWorld
{α : Type u_1}
{M : LO.Modal.PLoN.Model α}
:
LO.Semantics.Or M.World
Equations
- ⋯ = ⋯
theorem
LO.Modal.Formula.PLoN.Satisfies.and_def
{α : Type u_1}
{M : LO.Modal.PLoN.Model α}
{x : M.World}
{φ ψ : LO.Modal.Formula α}
:
instance
LO.Modal.Formula.PLoN.Satisfies.instAndWorld
{α : Type u_1}
{M : LO.Modal.PLoN.Model α}
:
LO.Semantics.And M.World
Equations
- ⋯ = ⋯
instance
LO.Modal.Formula.PLoN.Satisfies.instTarskiWorld
{α : Type u_1}
{M : LO.Modal.PLoN.Model α}
:
LO.Semantics.Tarski M.World
Equations
- ⋯ = ⋯
def
LO.Modal.Formula.PLoN.ValidOnModel
{α : Type u_1}
(M : LO.Modal.PLoN.Model α)
(φ : LO.Modal.Formula α)
:
Equations
- LO.Modal.Formula.PLoN.ValidOnModel M φ = ∀ (w : M.World), w ⊧ φ
Instances For
Equations
- LO.Modal.Formula.PLoN.ValidOnModel.instSemanticsModel = { Realize := fun (M : LO.Modal.PLoN.Model α) => LO.Modal.Formula.PLoN.ValidOnModel M }
@[simp]
theorem
LO.Modal.Formula.PLoN.ValidOnModel.iff_models
{α : Type u_1}
{M : LO.Modal.PLoN.Model α}
{φ : LO.Modal.Formula α}
:
M ⊧ φ ↔ LO.Modal.Formula.PLoN.ValidOnModel M φ
Equations
- ⋯ = ⋯
theorem
LO.Modal.Formula.PLoN.ValidOnModel.imply₁
{α : Type u_1}
{M : LO.Modal.PLoN.Model α}
{φ ψ : LO.Modal.Formula α}
:
M ⊧ LO.Axioms.Imply₁ φ ψ
theorem
LO.Modal.Formula.PLoN.ValidOnModel.imply₂
{α : Type u_1}
{M : LO.Modal.PLoN.Model α}
{φ ψ χ : LO.Modal.Formula α}
:
M ⊧ LO.Axioms.Imply₂ φ ψ χ
theorem
LO.Modal.Formula.PLoN.ValidOnModel.elim_contra
{α : Type u_1}
{M : LO.Modal.PLoN.Model α}
{φ ψ : LO.Modal.Formula α}
:
M ⊧ LO.Axioms.ElimContra φ ψ
def
LO.Modal.Formula.PLoN.ValidOnFrame
{α : Type u_1}
(F : LO.Modal.PLoN.Frame α)
(φ : LO.Modal.Formula α)
:
Equations
- LO.Modal.Formula.PLoN.ValidOnFrame F φ = ∀ (V : LO.Modal.PLoN.Valuation F α), { Frame := F, Valuation := V } ⊧ φ
Instances For
Equations
- LO.Modal.Formula.PLoN.ValidOnFrame.instSemanticsFrame = { Realize := fun (F : LO.Modal.PLoN.Frame α) => LO.Modal.Formula.PLoN.ValidOnFrame F }
@[simp]
theorem
LO.Modal.Formula.PLoN.ValidOnFrame.iff_models
{α : Type u_1}
{F : LO.Modal.PLoN.Frame α}
{φ : LO.Modal.Formula α}
:
F ⊧ φ ↔ LO.Modal.Formula.PLoN.ValidOnFrame F φ
Equations
- ⋯ = ⋯
theorem
LO.Modal.Formula.PLoN.ValidOnFrame.nec
{α : Type u_1}
{F : LO.Modal.PLoN.Frame α}
{φ : LO.Modal.Formula α}
(h : F ⊧ φ)
:
theorem
LO.Modal.Formula.PLoN.ValidOnFrame.mdp
{α : Type u_1}
{F : LO.Modal.PLoN.Frame α}
{φ ψ : LO.Modal.Formula α}
(hpq : F ⊧ φ ➝ ψ)
(hp : F ⊧ φ)
:
F ⊧ ψ
theorem
LO.Modal.Formula.PLoN.ValidOnFrame.imply₁
{α : Type u_1}
{F : LO.Modal.PLoN.Frame α}
{φ ψ : LO.Modal.Formula α}
:
F ⊧ LO.Axioms.Imply₁ φ ψ
theorem
LO.Modal.Formula.PLoN.ValidOnFrame.imply₂
{α : Type u_1}
{F : LO.Modal.PLoN.Frame α}
{φ ψ χ : LO.Modal.Formula α}
:
F ⊧ LO.Axioms.Imply₂ φ ψ χ
theorem
LO.Modal.Formula.PLoN.ValidOnFrame.elim_contra
{α : Type u_1}
{F : LO.Modal.PLoN.Frame α}
{φ ψ : LO.Modal.Formula α}
:
F ⊧ LO.Axioms.ElimContra φ ψ
def
LO.Modal.Formula.PLoN.ValidOnFrameClass
{α : Type u_1}
(𝔽 : LO.Modal.PLoN.FrameClass α)
(φ : LO.Modal.Formula α)
:
Equations
- LO.Modal.Formula.PLoN.ValidOnFrameClass 𝔽 φ = ∀ {F : LO.Modal.PLoN.Frame α}, F ∈ 𝔽 → F ⊧ φ
Instances For
Equations
- LO.Modal.Formula.PLoN.ValidOnFrameClass.instSemanticsFrameClass = { Realize := fun (𝔽 : LO.Modal.PLoN.FrameClass α) => LO.Modal.Formula.PLoN.ValidOnFrameClass 𝔽 }
@[simp]
theorem
LO.Modal.Formula.PLoN.ValidOnFrameClass.iff_models
{α : Type u_1}
{𝔽 : LO.Modal.PLoN.FrameClass α}
{φ : LO.Modal.Formula α}
:
theorem
LO.Modal.Formula.PLoN.ValidOnFrameClass.nec
{α : Type u_1}
{𝔽 : LO.Modal.PLoN.FrameClass α}
{φ : LO.Modal.Formula α}
(h : 𝔽 ⊧ φ)
:
theorem
LO.Modal.Formula.PLoN.ValidOnFrameClass.mdp
{α : Type u_1}
{𝔽 : LO.Modal.PLoN.FrameClass α}
{φ ψ : LO.Modal.Formula α}
(hpq : 𝔽 ⊧ φ ➝ ψ)
(hp : 𝔽 ⊧ φ)
:
𝔽 ⊧ ψ
theorem
LO.Modal.Formula.PLoN.ValidOnFrameClass.imply₁
{α : Type u_1}
{𝔽 : LO.Modal.PLoN.FrameClass α}
{φ ψ : LO.Modal.Formula α}
:
𝔽 ⊧ LO.Axioms.Imply₁ φ ψ
theorem
LO.Modal.Formula.PLoN.ValidOnFrameClass.imply₂
{α : Type u_1}
{𝔽 : LO.Modal.PLoN.FrameClass α}
{φ ψ χ : LO.Modal.Formula α}
:
𝔽 ⊧ LO.Axioms.Imply₂ φ ψ χ
theorem
LO.Modal.Formula.PLoN.ValidOnFrameClass.elim_contra
{α : Type u_1}
{𝔽 : LO.Modal.PLoN.FrameClass α}
{φ ψ : LO.Modal.Formula α}
:
𝔽 ⊧ LO.Axioms.ElimContra φ ψ
def
LO.Modal.Hilbert.DefinesPLoNFrameClass
{α : Type u_1}
(H : LO.Modal.Hilbert α)
(𝔽 : LO.Modal.PLoN.FrameClass α)
:
Equations
- H.DefinesPLoNFrameClass 𝔽 = ∀ {F : LO.Modal.PLoN.Frame α}, F ⊧* H.theorems ↔ F ∈ 𝔽
Instances For
theorem
LO.Modal.PLoN.N_defines
{α : Type u_1}
:
(LO.Modal.Hilbert.N α).DefinesPLoNFrameClass (LO.Modal.PLoN.AllFrameClass α)