- World : Type
- Rel : _root_.Rel self.World self.World
- world_nonempty : Nonempty self.World
Instances For
Equations
Equations
Equations
- LO.Modal.Kripke.«term_≺_» = Lean.ParserDescr.trailingNode `LO.Modal.Kripke.«term_≺_» 45 46 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ≺ ") (Lean.ParserDescr.cat `term 46))
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
- Rel : _root_.Rel self.World self.World
- world_nonempty : Nonempty self.World
- world_finite : Finite self.World
Instances For
Equations
- F.toFinite = LO.Modal.Kripke.FiniteFrame.mk F
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Instances For
@[reducible, inline]
Instances For
Equations
- C.restrictFinite = {F : LO.Modal.Kripke.FiniteFrame | F.toFrame ∈ C}
Instances For
Equations
- C.toFrameClass = (fun (x : LO.Modal.Kripke.FiniteFrame) => x.toFrame) '' C
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
- Rel : _root_.Rel self.World self.World
- world_nonempty : Nonempty self.World
- Val : Valuation self.toFrame
Instances For
Equations
- LO.Modal.Kripke.instCoeFunModelForallWorldForallNatProp = { coe := fun (m : LO.Modal.Kripke.Model) => m.Val }
Equations
- LO.Modal.Formula.Kripke.Satisfies M x (LO.Modal.Formula.atom a) = M.Val x a
- LO.Modal.Formula.Kripke.Satisfies M x LO.Modal.Formula.falsum = False
- LO.Modal.Formula.Kripke.Satisfies M x (φ.imp ψ) = LO.Modal.Formula.Kripke.Satisfies M x φ ➝ LO.Modal.Formula.Kripke.Satisfies M x ψ
- LO.Modal.Formula.Kripke.Satisfies M x φ.box = ∀ (y : M.World), x ≺ y → LO.Modal.Formula.Kripke.Satisfies M y φ
Instances For
Equations
- LO.Modal.Formula.Kripke.Satisfies.semantics = { Realize := fun (x : M.World) => LO.Modal.Formula.Kripke.Satisfies M x }
@[simp]
theorem
LO.Modal.Formula.Kripke.Satisfies.iff_models
{M : Kripke.Model}
{x : M.World}
{φ : Formula ℕ}
:
@[simp]
theorem
LO.Modal.Formula.Kripke.Satisfies.box_def
{M : Kripke.Model}
{x : M.World}
{φ : Formula ℕ}
:
theorem
LO.Modal.Formula.Kripke.Satisfies.not_def
{M : Kripke.Model}
{x : M.World}
{φ : Formula ℕ}
:
theorem
LO.Modal.Formula.Kripke.Satisfies.imp_def
{M : Kripke.Model}
{x : M.World}
{φ ψ : Formula ℕ}
:
instance
LO.Modal.Formula.Kripke.Satisfies.instTarskiWorldNat
{M : Kripke.Model}
:
Semantics.Tarski M.World
theorem
LO.Modal.Formula.Kripke.Satisfies.negneg_def
{M : Kripke.Model}
{x : M.World}
{φ : Formula ℕ}
:
theorem
LO.Modal.Formula.Kripke.Satisfies.mdp
{M : Kripke.Model}
{x : M.World}
{φ ψ : Formula ℕ}
(hpq : x ⊧ φ ➝ ψ)
(hp : x ⊧ φ)
:
x ⊧ ψ
Equations
- LO.Modal.Formula.Kripke.ValidOnModel M φ = ∀ (x : M.World), x ⊧ φ
Instances For
Equations
- LO.Modal.Formula.Kripke.ValidOnModel.semantics = { Realize := fun (M : LO.Modal.Kripke.Model) => LO.Modal.Formula.Kripke.ValidOnModel M }
@[simp]
theorem
LO.Modal.Formula.Kripke.ValidOnModel.iff_models
{f : Formula ℕ}
{M : Kripke.Model}
:
M ⊧ f ↔ ValidOnModel M f
theorem
LO.Modal.Formula.Kripke.ValidOnModel.mdp
{M : Kripke.Model}
{φ ψ : Formula ℕ}
(hpq : M ⊧ φ ➝ ψ)
(hp : M ⊧ φ)
:
M ⊧ ψ
theorem
LO.Modal.Formula.Kripke.ValidOnModel.imply₁
{M : Kripke.Model}
{φ ψ : Formula ℕ}
:
M ⊧ Axioms.Imply₁ φ ψ
theorem
LO.Modal.Formula.Kripke.ValidOnModel.imply₂
{M : Kripke.Model}
{φ ψ χ : Formula ℕ}
:
M ⊧ Axioms.Imply₂ φ ψ χ
theorem
LO.Modal.Formula.Kripke.ValidOnModel.elimContra
{M : Kripke.Model}
{φ ψ : Formula ℕ}
:
M ⊧ Axioms.ElimContra φ ψ
Equations
- LO.Modal.Formula.Kripke.ValidOnFrame F φ = ∀ (V : LO.Modal.Kripke.Valuation F), { toFrame := F, Val := V } ⊧ φ
Instances For
Equations
- LO.Modal.Formula.Kripke.ValidOnFrame.semantics = { Realize := fun (F : LO.Modal.Kripke.Frame) => LO.Modal.Formula.Kripke.ValidOnFrame F }
@[simp]
theorem
LO.Modal.Formula.Kripke.ValidOnFrame.models_iff
{F : Kripke.Frame}
{φ : Formula ℕ}
:
F ⊧ φ ↔ ValidOnFrame F φ
theorem
LO.Modal.Formula.Kripke.ValidOnFrame.models_set_iff
{F : Kripke.Frame}
{Φ : Set (Formula ℕ)}
:
theorem
LO.Modal.Formula.Kripke.ValidOnFrame.not_valid_iff_exists_valuation_world
{F : Kripke.Frame}
{φ : Formula ℕ}
:
theorem
LO.Modal.Formula.Kripke.ValidOnFrame.mdp
{F : Kripke.Frame}
{φ ψ : Formula ℕ}
(hpq : F ⊧ φ ➝ ψ)
(hp : F ⊧ φ)
:
F ⊧ ψ
theorem
LO.Modal.Formula.Kripke.ValidOnFrame.imply₁
{F : Kripke.Frame}
{φ ψ : Formula ℕ}
:
F ⊧ Axioms.Imply₁ φ ψ
theorem
LO.Modal.Formula.Kripke.ValidOnFrame.imply₂
{F : Kripke.Frame}
{φ ψ χ : Formula ℕ}
:
F ⊧ Axioms.Imply₂ φ ψ χ
theorem
LO.Modal.Formula.Kripke.ValidOnFrame.elimContra
{F : Kripke.Frame}
{φ ψ : Formula ℕ}
:
F ⊧ Axioms.ElimContra φ ψ
Equations
- LO.Modal.Formula.Kripke.ValidOnFrameClass C φ = ∀ {F : LO.Modal.Kripke.Frame}, F ∈ C → F ⊧ φ
Instances For
Equations
- LO.Modal.Formula.Kripke.ValidOnFrameClass.semantics = { Realize := fun (C : LO.Modal.Kripke.FrameClass) => LO.Modal.Formula.Kripke.ValidOnFrameClass C }
@[simp]
theorem
LO.Modal.Formula.Kripke.ValidOnFrameClass.models_iff
{C : Kripke.FrameClass}
{φ : Formula ℕ}
:
C ⊧ φ ↔ ValidOnFrameClass C φ
def
LO.Modal.Formula.Kripke.ValidOnFiniteFrameClass
(FC : Kripke.FiniteFrameClass)
(φ : Formula ℕ)
:
Equations
- LO.Modal.Formula.Kripke.ValidOnFiniteFrameClass FC φ = ∀ {F : LO.Modal.Kripke.FiniteFrame}, F ∈ FC → F.toFrame ⊧ φ
Instances For
Equations
- LO.Modal.Formula.Kripke.ValidOnFiniteFrameClass.semantics = { Realize := fun (C : LO.Modal.Kripke.FiniteFrameClass) => LO.Modal.Formula.Kripke.ValidOnFrameClass C.toFrameClass }
@[simp]
theorem
LO.Modal.Formula.Kripke.ValidOnFiniteFrameClass.models_iff
{FC : Kripke.FiniteFrameClass}
{φ : Formula ℕ}
:
FC ⊧ φ ↔ ValidOnFrameClass FC.toFrameClass φ
theorem
LO.Modal.Formula.Kripke.notValidOnFiniteFrameClass_of_exists_finite_frame
{φ : Formula ℕ}
{FC : Kripke.FiniteFrameClass}
(h : ∃ F ∈ FC, ¬F.toFrame ⊧ φ)
:
Equations
- F.theorems = {φ : LO.Modal.Formula ℕ | F ⊧ φ}
Instances For
Equations
- C.DefinedBy T = ∀ (F : LO.Modal.Kripke.Frame), F ∈ C ↔ F ⊧* T
Instances For
Equations
- C.DefinedBy T = ∀ (F : LO.Modal.Kripke.FiniteFrame), F ∈ C ↔ F.toFrame ⊧* T
Instances For
theorem
LO.Modal.Kripke.FiniteFrameClass.definedBy_of_definedBy_frameclass_aux
{C : FrameClass}
{Ax : Theory ℕ}
(h : C.DefinedBy Ax)
:
C.restrictFinite.DefinedBy Ax
theorem
LO.Modal.Kripke.FiniteFrameClass.definedBy_of_definedBy_frameclass
{C : FrameClass}
{FC : FiniteFrameClass}
{Ax : Theory ℕ}
(h : C.DefinedBy Ax)
(e : FC = C.restrictFinite)
:
FC.DefinedBy Ax
theorem
LO.Modal.Hilbert.Kripke.instSound_of_frameClass_definedBy_aux
{φ : Formula ℕ}
{T : Theory ℕ}
{C : Kripke.FrameClass}
(definedBy : C.DefinedBy T)
:
Hilbert.ExtK T ⊢! φ → C ⊧ φ
theorem
LO.Modal.Hilbert.Kripke.instSound_of_frameClass_definedBy
{H : Hilbert ℕ}
{T : Theory ℕ}
{C : Kripke.FrameClass}
(definedBy : C.DefinedBy T)
(heq : H =ₛ Hilbert.ExtK T)
:
Sound H C
theorem
LO.Modal.Hilbert.Kripke.instConsistent_of_nonempty_frameclass_aux
{H : Hilbert ℕ}
{C : Kripke.FrameClass}
[sound : Sound H C]
(hNonempty : Set.Nonempty C)
:
theorem
LO.Modal.Hilbert.Kripke.instConsistent_of_nonempty_frameclass
{H : Hilbert ℕ}
{C : Kripke.FrameClass}
[Sound H C]
(h_nonempty : Set.Nonempty C)
:
H.Consistent
theorem
LO.Modal.Hilbert.Kripke.instSound_of_finiteFrameClass_definedBy_aux
{φ : Formula ℕ}
{T : Theory ℕ}
{FC : Kripke.FiniteFrameClass}
(definedBy : FC.DefinedBy T)
:
Hilbert.ExtK T ⊢! φ → FC ⊧ φ
theorem
LO.Modal.Hilbert.Kripke.instSound_of_finiteFrameClass_definedBy
{H : Hilbert ℕ}
{T : Theory ℕ}
{FC : Kripke.FiniteFrameClass}
(definedBy : FC.DefinedBy T)
(heq : H =ₛ Hilbert.ExtK T)
:
Sound H FC
theorem
LO.Modal.Hilbert.Kripke.instConsistent_of_nonempty_finiteFrameclass_aux
{H : Hilbert ℕ}
{FC : Kripke.FiniteFrameClass}
[sound : Sound H FC]
(hNonempty : Set.Nonempty FC)
:
theorem
LO.Modal.Hilbert.Kripke.instConsistent_of_nonempty_finiteFrameclass
{H : Hilbert ℕ}
{FC : Kripke.FiniteFrameClass}
[Sound H FC]
(h_nonempty : Set.Nonempty FC)
:
H.Consistent
theorem
LO.Modal.Hilbert.Kripke.instFiniteSound_of_instSound
{H : Hilbert ℕ}
{C : Kripke.FrameClass}
{FC : Kripke.FiniteFrameClass}
(heq : C.restrictFinite = FC)
[sound : Sound H C]
:
Sound H FC
Instances
theorem
LO.Modal.Hilbert.Kripke.weakerThan_of_subset_FrameClass
{Ax₁ Ax₂ : Theory ℕ}
(C₁ C₂ : Kripke.FrameClass)
[sound₁ : Sound (Hilbert.ExtK Ax₁) C₁]
[complete₂ : Complete (Hilbert.ExtK Ax₂) C₂]
(h𝔽 : C₂ ⊆ C₁)
:
Hilbert.ExtK Ax₁ ≤ₛ Hilbert.ExtK Ax₂
theorem
LO.Modal.Hilbert.Kripke.equiv_of_eq_FrameClass
{Ax₁ Ax₂ : Theory ℕ}
(C₁ C₂ : Kripke.FrameClass)
[sound₁ : Sound (Hilbert.ExtK Ax₁) C₁]
[sound₂ : Sound (Hilbert.ExtK Ax₂) C₂]
[complete₁ : Complete (Hilbert.ExtK Ax₁) C₁]
[complete₂ : Complete (Hilbert.ExtK Ax₂) C₂]
(hC : C₁ = C₂)
:
Hilbert.ExtK Ax₁ =ₛ Hilbert.ExtK Ax₂