Vocabulary #
A vocabulary is a set of atoms.
A formula lies in a vocabulary when every atom occurring in it belongs to the vocabulary. A theory lies in a vocabulary when all of its members do.
Valuations that agree on a vocabulary give every formula in that vocabulary the
same truth value (eval_congr). That is the only fact about vocabularies the
later results need from the semantics.
@[reducible, inline]
A vocabulary is a set of atoms.
Equations
- SE.CommonGround.Logic.Vocabulary Atom = MathlibMini.Set Atom
Instances For
Two vocabularies are disjoint when no atom belongs to both.
Equations
- SE.CommonGround.Logic.VocabularyDisjoint V W = ∀ (a : Atom), a ∈ V → a ∈ W → False
Instances For
A formula lies in a vocabulary when every atom occurring in it belongs to the vocabulary.
Equations
- SE.CommonGround.Logic.FormulaIn V (SE.CommonGround.Logic.Formula.atom a) = (a ∈ V)
- SE.CommonGround.Logic.FormulaIn V SE.CommonGround.Logic.Formula.bot = True
- SE.CommonGround.Logic.FormulaIn V f.neg = SE.CommonGround.Logic.FormulaIn V f
- SE.CommonGround.Logic.FormulaIn V (f.conj g) = (SE.CommonGround.Logic.FormulaIn V f ∧ SE.CommonGround.Logic.FormulaIn V g)
Instances For
def
SE.CommonGround.Logic.TheoryIn
{Atom : Type u}
(V : Vocabulary Atom)
(T : MathlibMini.Set (Formula Atom))
:
A theory lies in a vocabulary when every member lies in the vocabulary.
Equations
- SE.CommonGround.Logic.TheoryIn V T = ∀ (f : SE.CommonGround.Logic.Formula Atom), f ∈ T → SE.CommonGround.Logic.FormulaIn V f
Instances For
theorem
SE.CommonGround.Logic.satisfies_congr
{Atom : Type u}
{V : Vocabulary Atom}
{v w : Valuation Atom}
(hagree : ∀ (a : Atom), a ∈ V → (v a ↔ w a))
{T : MathlibMini.Set (Formula Atom)}
(hT : TheoryIn V T)
:
Valuations that agree on a vocabulary satisfy the same theories over it.