Propositional logic is a type of logic where variables can only take on true/false as values. The set of all propositional formulas is defined recursively:

  • Base: every propositional variable is a propositional formula.
  • If is a propositional formula, then so is .
  • If are propositional formulas, then so are:
    • : conjunction
    • : disjunction
    • : implication. Where is called the antecedent and is the consequence of the implication.
    • : bi-implication.

A truth assignment is a function from the propositional variables into the set of truth values . We define: let be a truth assignment. The extension of assigns either or to every formula and is defined as follows:

  • If , where is a variable, then .
  • iff ( and ).
  • iff ( and ).
  • iff ( and ).
    • When the antecedent is false, the implication is vacuously true. Intuitively, it means the proposition doesn’t really say anything.

A truth assignment satisfies a formula iff . satisfies a set of formulas iff satisfies all formulas in . A set of formulas is satisfiable iff some truth assignment satisfies . Otherwise is unsatisfiable.

A formula is a logical consequence of (denoted by ) iff for every truth assignment , if satisfies , then satisfies .

Limitations

We are restricted to only Boolean variables in propositional language. Without non-Boolean variables, cross references between individuals in statements are impossible.

For example:

  • : a person has a sibling.
  • : a sibling has a child.
  • : a person is an aunt or an uncle.

However, the person in and are not related.

No quantifiers: to state a property for all (or some) members of the domain, we have to explicitly list them.