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.