The Timpson Lyceum seal

The Timpson Lyceum · First-Order Predicate Logic (2024)

Example of an Axiomatic System - Lecture 7 (Logic)

Overview

This lecture works through a second, richer example of an axiomatic system to build fluency with the machinery of formal logic. After recapping the grammar of our formal language, the four components of any axiomatic system, and the five rules of derivation, we meet a new system built from a single predicate CC, a two-term operator ++, and a one-term operator ′' (prime). The whole point of the exercise is to reason about uninterpreted symbols: we are deliberately given no intuition for what the axioms "mean," so every theorem must follow from the axioms alone. Working this way trains the habit of deriving conclusions strictly from stated premises, which is the heart of axiomatic reasoning. (The intended interpretation — that this is a fragment of propositional logic — is revealed only at the very end.)

Key Concepts

The grammar. Every symbol we write falls into exactly one of these categories (plus parentheses):

A sentence is a formula with no free variables (every variable is bound by a quantifier).

The four components of an axiomatic system.

Predicate vs. operator. A predicate takes terms and returns true or false (e.g. "is blue," or a two-term relation like <<). An operator takes terms and returns a term (e.g. ++ or   \sqrt{\;}). Both can be one-term, two-term, etc. For a two-term predicate we often write the name between its arguments (xQyxQy means Q(x,y)Q(x,y)).

The new axiomatic system. Undefined terms: the one-term predicate CC, the two-term operator ++, and the one-term operator ′'. No definitions; five axioms:

The five rules of derivation. (Distinct from rules of logic — the tautologies you can verify with a truth table.)

Flag variables. A variable that is free in an assumed premise is flagged. You may not universally generalize on a flagged variable while it is still active — doing so would let you "prove" absurdities like "if anything is human, everything is human." A discharged premise (via CP or RAA) removes its flag.

Worked Example

Theorem 1: ∀x (¬C(x)→C(x′))\forall x\,\big(\lnot C(x)\rightarrow C(x')\big).

The strategy: assume the antecedent, derive the consequent, discharge with CP, then generalize. The key move is applying the contrapositive (Rule T) of A4, ¬C(x′)→C(x)\lnot C(x')\rightarrow C(x), which gives ¬C(x)→C(x′)\lnot C(x)\rightarrow C(x').

1.¬C(x)Rule P (assume; x flagged)2.¬C(x)→C(x′)US on A4, then contrapositive (Rule T)3.C(x′)from 1, 2 (modus ponens, Rule T)4.¬C(x)→C(x′)Rule CP, discharging line 15.∀x (¬C(x)→C(x′))UG on 4 (x no longer flagged)\begin{aligned} &1.\quad \lnot C(x) &&\text{Rule P (assume; }x\text{ flagged)} \\ &2.\quad \lnot C(x)\rightarrow C(x') &&\text{US on A4, then contrapositive (Rule T)} \\ &3.\quad C(x') &&\text{from 1, 2 (modus ponens, Rule T)} \\ &4.\quad \lnot C(x)\rightarrow C(x') &&\text{Rule CP, discharging line 1} \\ &5.\quad \forall x\,\big(\lnot C(x)\rightarrow C(x')\big) &&\text{UG on 4 (}x\text{ no longer flagged)} \end{aligned}

Once a theorem is proved it becomes a reusable block: later proofs cite Theorem 1 directly rather than re-deriving it. For the "always true" (non-implication) theorems, the standard tactic is RAA — assume the negation, break the sum apart with results like Theorem 5 (¬C(x+y)→(¬C(x)∧¬C(y))\lnot C(x+y)\rightarrow(\lnot C(x)\land\lnot C(y))), then drive both C(x)C(x) and ¬C(x)\lnot C(x) to reach a contradiction.

Summary