Previously I have talked about the need for a framework in which to discuss axiomatic systems, such framework is often called logic, and several such methods were developed and iterated over the years, culminating at what we now know as modern formal logic. This is a vast subject to which it is hard to do justice in just a blog post, nevertheless it is a subject worth understanding, it is a subject that once practiced helps a person think more systematically, and therefore I will try my best.

## Terms and Properties

A term is an object in the domain of discourse, like: rainy days, a chicken, or Socrates. Terms have properties which are characteristics attributed to them, such as: blue, or has two legs, or mortal. Formally, We can say that a chicken has two legs by denoting $\text{bipedal}(\text{chicken})$, or that Socrates is mortal by denoting $\text{mortal}(\text{Socrates})$, the result is a proposition a statement that has a truth value, i.e. it is either true or false, and never both.

## Propositional Calculus

Given two propositions $p$ and $q$, we can use binary operations to create new propositions, such as: $p \land q$ (read: p and q), $p \lor q$ (read: p or q), and $p \rightarrow q$ (read: p implies q), and we can use the unary operator: $\lnot p$ (read: not p). In the following truth table we use $T$ to denote truth, and $F$ to denote false.

$p$$q$$\lnot p$$p \lor q$$p \land q$$p \rightarrow q F$$F$$T F F T F$$T$$T T F T T$$F$$F T F F T$$T$$F$ $T$ $T$ $T$

## First-Order Logic

Instead of terms, we may use variables, replacing specific terms with a latin letter like $x$, instead of saying that Socrates is human, we can say that $x$ is human, in the same way: $\text{human}(x)$, and also that if $x$ is human, then it is mortal by denoting: $\text{human}(x) \rightarrow \text{mortal}(x)$. This allows us to add the univeral quantifier $\forall$ to express that all men are mortal: $\forall x (\text{human}(x) \rightarrow \text{mortal}(x))$ (read: for all x holds that: $x$ is human implies $x$ is mortal). in a similar way we can use the existensial quantifier to denote that there is an ice cream in the fridge: $\exists x(\text{isIceCream}(x) \land \text{inTheFridge}(x) )$ (read: exists $x$ such that: $x$ is an ice cream and $x$ is in the fridge).

## Rules of Inference

Given rules of inference we can deduce new propositions. Rules of inference are divided into premise propositions and a conclusion proposition. By accepting a rule of inference one accepts that if the premise propositions are true, then the conclusion must also be true. The most well known rule of inference is modus ponens, given two propositions: p implies q and p, we can deduce q. We denote:

$p \rightarrow q$
$\underline{p \quad \quad \quad}$
$q$

And modus tollens rule of inference goes like this:

$p \rightarrow q$
$\underline{\lnot q \quad \quad \quad}$
$\lnot p$