- World : Type
- Rel : _root_.Rel self.World self.World
- world_nonempty : Nonempty self.World
- rel_po : IsPartialOrder self.World self.Rel
Instances For
Equations
Equations
Equations
- LO.IntProp.Kripke.«term_≺_» = Lean.ParserDescr.trailingNode `LO.IntProp.Kripke.«term_≺_» 45 46 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ≺ ") (Lean.ParserDescr.cat `term 46))
Instances For
@[reducible, inline]
Equations
- LO.IntProp.Kripke.pointFrame = LO.IntProp.Kripke.Frame.mk Unit fun (x x : Unit) => True
Instances For
@[reducible, inline]
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
- Rel : _root_.Rel self.World self.World
- world_nonempty : Nonempty self.World
- rel_po : IsPartialOrder self.World self.Rel
- Val : Valuation self.toFrame
Instances For
Equations
- LO.IntProp.Kripke.instCoeFunModelForallWorldForallNatProp = { coe := fun (m : LO.IntProp.Kripke.Model) => m.Val.Val }
Equations
- LO.IntProp.Formula.Kripke.Satisfies M w (LO.IntProp.Formula.atom a) = M.Val.Val w a
- LO.IntProp.Formula.Kripke.Satisfies M w LO.IntProp.Formula.verum = True
- LO.IntProp.Formula.Kripke.Satisfies M w LO.IntProp.Formula.falsum = False
- LO.IntProp.Formula.Kripke.Satisfies M w (φ.and ψ) = (LO.IntProp.Formula.Kripke.Satisfies M w φ ∧ LO.IntProp.Formula.Kripke.Satisfies M w ψ)
- LO.IntProp.Formula.Kripke.Satisfies M w (φ.or ψ) = (LO.IntProp.Formula.Kripke.Satisfies M w φ ∨ LO.IntProp.Formula.Kripke.Satisfies M w ψ)
- LO.IntProp.Formula.Kripke.Satisfies M w φ.neg = ∀ {w' : M.World}, w ≺ w' → ¬LO.IntProp.Formula.Kripke.Satisfies M w' φ
- LO.IntProp.Formula.Kripke.Satisfies M w (φ.imp ψ) = ∀ {w' : M.World}, w ≺ w' → LO.IntProp.Formula.Kripke.Satisfies M w' φ → LO.IntProp.Formula.Kripke.Satisfies M w' ψ
Instances For
Equations
- LO.IntProp.Formula.Kripke.Satisfies.semantics M = { Realize := fun (w : M.World) => LO.IntProp.Formula.Kripke.Satisfies M w }
@[simp]
theorem
LO.IntProp.Formula.Kripke.Satisfies.iff_models
{M : Kripke.Model}
{w : M.World}
{φ : Formula ℕ}
:
@[simp]
@[simp]
@[simp]
instance
LO.IntProp.Formula.Kripke.Satisfies.instTopWorldNat
{M : Kripke.Model}
:
Semantics.Top M.World
instance
LO.IntProp.Formula.Kripke.Satisfies.instBotWorldNat
{M : Kripke.Model}
:
Semantics.Bot M.World
instance
LO.IntProp.Formula.Kripke.Satisfies.instAndWorldNat
{M : Kripke.Model}
:
Semantics.And M.World
instance
LO.IntProp.Formula.Kripke.Satisfies.instOrWorldNat
{M : Kripke.Model}
:
Semantics.Or M.World
theorem
LO.IntProp.Formula.Kripke.Satisfies.formula_hereditary
{M : Kripke.Model}
{w w' : M.World}
{φ : Formula ℕ}
(hw : w ≺ w')
:
Equations
- LO.IntProp.Formula.Kripke.ValidOnModel M φ = ∀ (w : M.World), w ⊧ φ
Instances For
Equations
- LO.IntProp.Formula.Kripke.ValidOnModel.semantics = { Realize := fun (M : LO.IntProp.Kripke.Model) => LO.IntProp.Formula.Kripke.ValidOnModel M }
@[simp]
theorem
LO.IntProp.Formula.Kripke.ValidOnModel.iff_models
{M : Kripke.Model}
{φ : Formula ℕ}
:
M ⊧ φ ↔ ValidOnModel M φ
theorem
LO.IntProp.Formula.Kripke.ValidOnModel.mdp
{M : Kripke.Model}
{φ ψ : Formula ℕ}
(hpq : M ⊧ φ ➝ ψ)
(hp : M ⊧ φ)
:
M ⊧ ψ
theorem
LO.IntProp.Formula.Kripke.ValidOnModel.efq
{M : Kripke.Model}
{φ : Formula ℕ}
:
M ⊧ Axioms.EFQ φ
theorem
LO.IntProp.Formula.Kripke.ValidOnModel.neg_equiv
{M : Kripke.Model}
{φ : Formula ℕ}
:
M ⊧ Axioms.NegEquiv φ
theorem
LO.IntProp.Formula.Kripke.ValidOnModel.lem
{M : Kripke.Model}
{φ : Formula ℕ}
:
Symmetric M.Rel → M ⊧ Axioms.LEM φ
theorem
LO.IntProp.Formula.Kripke.ValidOnModel.dum
{M : Kripke.Model}
{φ ψ : Formula ℕ}
:
Connected M.Rel → M ⊧ Axioms.Dummett φ ψ
theorem
LO.IntProp.Formula.Kripke.ValidOnModel.wlem
{M : Kripke.Model}
{φ : Formula ℕ}
:
Confluent M.Rel → M ⊧ Axioms.WeakLEM φ
Equations
- LO.IntProp.Formula.Kripke.ValidOnFrame F φ = ∀ {V : LO.IntProp.Kripke.Valuation F}, { toFrame := F, Val := V } ⊧ φ
Instances For
Equations
- LO.IntProp.Formula.Kripke.ValidOnFrame.semantics = { Realize := fun (F : LO.IntProp.Kripke.Frame) => LO.IntProp.Formula.Kripke.ValidOnFrame F }
@[simp]
theorem
LO.IntProp.Formula.Kripke.ValidOnFrame.models_iff
{F : Kripke.Frame}
{φ : Formula ℕ}
:
F ⊧ φ ↔ ValidOnFrame F φ
theorem
LO.IntProp.Formula.Kripke.ValidOnFrame.mdp
{F : Kripke.Frame}
{φ ψ : Formula ℕ}
(hpq : F ⊧ φ ➝ ψ)
(hp : F ⊧ φ)
:
F ⊧ ψ
theorem
LO.IntProp.Formula.Kripke.ValidOnFrame.efq
{F : Kripke.Frame}
{φ : Formula ℕ}
:
F ⊧ Axioms.EFQ φ
theorem
LO.IntProp.Formula.Kripke.ValidOnFrame.neg_equiv
{F : Kripke.Frame}
{φ : Formula ℕ}
:
F ⊧ Axioms.NegEquiv φ
theorem
LO.IntProp.Formula.Kripke.ValidOnFrame.lem
{F : Kripke.Frame}
{φ : Formula ℕ}
(F_symm : Symmetric F.Rel)
:
F ⊧ Axioms.LEM φ
theorem
LO.IntProp.Formula.Kripke.ValidOnFrame.dum
{F : Kripke.Frame}
{φ ψ : Formula ℕ}
(F_conn : Connected F.Rel)
:
F ⊧ Axioms.Dummett φ ψ
theorem
LO.IntProp.Formula.Kripke.ValidOnFrame.wlem
{F : Kripke.Frame}
{φ : Formula ℕ}
(F_conf : Confluent F.Rel)
:
F ⊧ Axioms.WeakLEM φ
Equations
- LO.IntProp.Formula.Kripke.ValidOnFrameClass C φ = ∀ F ∈ C, F ⊧ φ
Instances For
Equations
- LO.IntProp.Formula.Kripke.ValidOnFrameClass.semantics = { Realize := fun (C : LO.IntProp.Kripke.FrameClass) => LO.IntProp.Formula.Kripke.ValidOnFrameClass C }
@[simp]
theorem
LO.IntProp.Formula.Kripke.ValidOnFrameClass.models_iff
{C : Kripke.FrameClass}
{φ : Formula ℕ}
:
C ⊧ φ ↔ ValidOnFrameClass C φ
theorem
LO.IntProp.Formula.Kripke.ValidOnFrameClass.bot
{C : Kripke.FrameClass}
(h_nonempty : Set.Nonempty C)
:
A set of formula that valid on frame F
.
Equations
- F.theorems = {φ : LO.IntProp.Formula ℕ | F ⊧ φ}
Instances For
Equations
- C.DefinedBy T = ∀ (F : LO.IntProp.Kripke.Frame), F ∈ C ↔ F ⊧* T
Instances For
theorem
LO.IntProp.Hilbert.Kripke.unprovable_bot
{H : Hilbert ℕ}
{C : Kripke.FrameClass}
[sound : Sound H C]
(hNonempty : Set.Nonempty C)
:
theorem
LO.IntProp.Hilbert.Kripke.consistent
{H : Hilbert ℕ}
{C : Kripke.FrameClass}
[Sound H C]
(h_nonempty : Set.Nonempty C)
:
H.Consistent