The following are in addition to
those of propositional logic.
Table 1: Our first-order inference rules
| Abbreviation |
Name |
If you know all of… |
…then you can infer |
| ∀∀Intro |
∀∀-introduction |
|
∀x. φ[y↦x]∀x.φ[y↦x] |
| ∀∀Elim |
∀∀-elimination |
| ∀x. φ∀x.φ |
| tt is any term that is free to be replaced in
φφ. |
| Domain non-empty. |
|
φ [x↦t]φ[x↦t] |
| ∃∃Intro |
∃∃-introduction |
| φφ |
| tt is any term in φφ that is free to be
replaced. |
| Domain non-empty. |
|
∃x. φ[t↦x]∃x.φ[t↦x] ,
where tt is arbitrary |
| ∃∃Elim |
∃∃-elimination |
| ∃x. φ∃x.φ |
| cc is a new constant in the proof. |
| cc does not occur in the proof's
conclusion. |
|
φ [x↦c]φ[x↦c] |
As usual, we use φφ as a meta-variable to range over first-order WFFs.
Similarly, tt is a meta-variable for first-order terms, and cc is a
meta-variable for domain constants.
The notation φ[v↦w]φ[v↦w] means the
formula φφ but with every
appropriate
occurrence of vv replaced by ww.
As discussed in the
lecture notes, a variable is arbitrary unless:
- A variable is not arbitrary if it is free in (an enclosing) premise.
- A variable is not arbitrary if it is free after applying ∃∃Elim
— either as the introduced witness cc,
or free anywhere else in the formula.
The usual way to introduce arbitrary variables is during
∀∀Elim (w/o later using it in
∃∃Elim).
As a detail in ∀∀Elim and ∃∃Intro, the term tt must be free to replace the variable xx in φφ.
This means that it is not the case that both tt contains a variable quantified in φφ, and that xx occurs free within that quantifier.
In short, the bound variable names should be kept distinct from the free variable names.
Also, only free occurrences xx get replaced.
The restriction in ∃∃Elim on cc being new is similar.