The quantified modal language #
ModalFormula L α: modal formulas over L with named free variables α,
in mathlib's BoundedFormula basis — atomic equal/rel, falsum,
imp — plus □ and named universal quantification, with ∼, ⊤, ⊓,
⊔, ex, and diamond derived exactly as for BoundedFormula.
[UPSTREAM] candidate for Mathlib/ModelTheory.
Modal formulas over L with named free variables α: mathlib's
BoundedFormula basis — atomic equal/rel, falsum, imp — plus
□ and named quantification; ∼, ⊤, ⊓, ⊔, ex, and diamond are
derived exactly as for BoundedFormula.
- equal
{L : Language}
{α : Type u_2}
(t₁ t₂ : L.Term α)
: L.ModalFormula α
The proposition that two terms are equal.
- rel
{L : Language}
{α : Type u_2}
{n : ℕ}
(R : L.Relations n)
(ts : Fin n → L.Term α)
: L.ModalFormula α
A relation symbol applied to terms.
- falsum
{L : Language}
{α : Type u_2}
: L.ModalFormula α
The contradiction.
- imp
{L : Language}
{α : Type u_2}
(φ ψ : L.ModalFormula α)
: L.ModalFormula α
Implication.
- box
{L : Language}
{α : Type u_2}
(φ : L.ModalFormula α)
: L.ModalFormula α
Necessity.
- all
{L : Language}
{α : Type u_2}
(x : α)
(φ : L.ModalFormula α)
: L.ModalFormula α
Universal quantification of a named variable.
Instances For
Equations
Equations
The negation of a modal formula.
Instances For
Equations
- FirstOrder.Language.ModalFormula.instTop = { top := ⊥.not }
Equations
- FirstOrder.Language.ModalFormula.instMin = { min := fun (φ ψ : L.ModalFormula α) => (φ.imp ψ.not).not }
Equations
- FirstOrder.Language.ModalFormula.instMax = { max := fun (φ ψ : L.ModalFormula α) => φ.not.imp ψ }
Existential quantification of a named variable, derived: ∃x := ∼∀x∼.
Equations
Instances For
Possibility, derived: ◇φ := ∼□∼φ — to box what ex is to all.
Instances For
Applies a relation symbol to terms as a modal formula.
Equations
- R.modalFormula ts = FirstOrder.Language.ModalFormula.rel R ts
Instances For
Applies a unary relation symbol to a term as a modal formula.
Equations
- R.modalFormula₁ t = FirstOrder.Language.ModalFormula.rel R ![t]