Modal Logic for Lean #
This module develops the interplay between modal logic and Lean's propositional language, in order
to enable the use of modal logic to reason about standard Lean relations using Prop.
Given a frame f on α, constructs the modal model whose worlds are elements of α
and whose atoms are Lean predicates on α (α → Prop).
Valuation checks that a world satisfies a predicate. For example, under Model.ofPredicates r, □P
at a : α means that P a' holds at every a' such that r a a'.
Equations
- Cslib.Logic.Modal.Model.ofPredicates f = { toFrame := f, v := fun (w : α) (P : α → Prop) => P w }
Instances For
Given a frame f on α and a container type β for α (Membership α β), constructs the
modal model whose worlds are elements of α and whose atoms are of type β.
Valuation is membership. For example, under Model.ofContainers r, □b at a : α means that
a' ∈ b holds for every a' such that r a a'.
Equations
- Cslib.Logic.Modal.Model.ofContainers f = { toFrame := f, v := fun (w : α) (p : β) => w ∈ p }
Instances For
Abbreviation for Model.ofContainers where the container type is a Set.
Instances For
The valuations of the set model and the predicate model of a frame agree under
Set.ofPred.
Under Model.ofPredicates r, an atomic proposition P holds at a iff P a.
In the predicate model generated by f, P → ∇[op]Ps holds everywhere iff op
preserves the predicate map Ps from P.
Logical equivalence under Model.ofPredicates.
Equations
Instances For
Logical equivalence under Model.ofContainers.
Equations
Instances For
Logically equivalent propositions under Equiv.OfPredicates f have the same denotation in the
Lean modal model induced by ofPredicates f.
Logically equivalent propositions under Equiv.OfContainers f have the same denotation in the
modal model induced by Model.ofContainers f.
Pointwise conjunction of Lean predicates is logically equivalent to their modal conjunction in
the predicate model induced by f.
Under Equiv.OfContainers f, if membership in the infimum of two containers is equivalent to
membership in both containers, then atomic infimum is logically equivalent to modal conjunction.