functions: take different numbers of arguments, returns a result. e.g. $mul(x,y)$, $square(x)$
predicates, relations: takes one or more arguments, is either true or false. e.g. $even(x)$, $divides(x,y)$
formulas: say things. make assertions about objects in the domain.
Quantifiers:
Generally bind tightly: ∀x P ∨ Q == (∀x P) ∨ Q
free variable: variable that’s not bound
sentence: a formula that has no free variables
Universal quantification | Existential quantification | Equality |
You can use implication to relativize quantification (put it into a specific domain).
Universal quantification, e.g. “every prime number greater than two is odd”:
∀x (prime(x) ∧ x > 2 → odd(x))
Existential quantification, e.g. “some woman is strong”:
∃x (woman(x) ∧ strong(x))
Remember to use ∧ with ∃, and not →.
Let F be a set of function symbols, P a set of predicate symbols.
Model M for (F, P) consists of:
Universe A can be any non-empty set.
only constraint: $F^M$ and $P^M$ have same number of arguments as F and P.
Truth definition for formula Φ without quantifiers and free variables in model M by induction on the structure of Φ:
Interpretation of terms $t^M$:
to interpret free variables, you use an environment.
an environment l: var → A
(look up function) interprets free variables in the domain
terms are built from variables, constants, function symbols
Truth of formula Φ in model M with universe A with respect to environment e is defined by induction on the structure of Φ.
Interpretation $t^{M,l}$ of term t is
$ \begin{aligned} t^{M, l} = \begin{cases} l(x) &&\text{if } t = x \text{ for a variable } x \\ c^M &&\text{if } t = c \text{ for a constant } c \\ f^M (t_1^{M, l}, \ldots, t_n^{M, l}) &&\text{if } t = f(t_1, \ldots, t_n) \end{cases} \end{aligned} $
by induction on term structure.
M ⊨l ∀x HI ↔ for all a ∈ A it holds that $ M \models_{l [x \to a]} \phi $
M ⊨l ∃x Φ ↔ for some a ∈ A it holds that $ M \models_{l [x \to a]} \phi $
For all models M and all environments e, such that M ⊨l Φ₁ and … and M ⊨l Φn hold, it also holds that M ⊨l ψ
Formulas φ and ψ are logically equivalent (φ ≡ ψ) if for all models M and environments l, M ⊨l φ ↔ M ⊨l ψ
i.e. φ and ψ are true in precisely the same models when interpreted with the same environments.
theorem: φ ≡ ψ ↔ φ ⊨ ψ and ψ ⊨ φ
Let φ be a formula, and Γ be a set of formulas.
φ is satisfiable iff there is some model M and some environment l such that M ⊨l φ
φ is valid iff M ⊨l φ holds for all models M and all environments l in which φ can be checked.
Γ is consistent/satisfiable iff there is some model M and some environment l such tat M ⊨l ψ for all ψ ∈ Γ
for all formulas φ, ψ: φ ≡ ψ means that φ ↔ ψ is valid
Example: “Marie and Jan are clever.”
Specification and model used:
two predicates:
two constants:
model M:
Then:
∀ and →:
∃ and ∧:
Formulas with free variables express properties and relations:
If you move a negation around ∀, it becomes ∃, and vice versa.
It also holds that:
In general, you can’t move quantifiers through an implication.
Order of repeated ∀ or ∃ doesn’t matter. But if you have both ∃ and ∀, the order is important.
Interpretation: specifying the meaning of a predicate symbol.
You can find the truth value of sentences intuitively.
Completeness: if formula A is logical consequence of set of sentences Γ, then A is provable from Γ.
Soundness: if A is provable from Γ then A is true in any model of Γ