A Crash Course in Predicate Logic
20 days ago
- Predicates are Boolean functions that can be abstract or concrete, with abstract ones enclosed in backticks and TitleCase naming.
- Truth tables help disambiguate logical expressions, especially with ambiguous operator precedence like && and ||.
- The implication operator (=>) is equivalent to !P || Q and is used to express conditional logic concisely.
- Sets are unordered collections; set operations include union (|), intersection (&), and difference (-).
- Quantifiers 'some' and 'all' allow expressing existence and universality in logical statements.
- Rewrite rules (e.g., De Morgan's law, contrapositive) simplify logical expressions, similar to algebraic simplification.
- The ability-guarantee tradeoff: more expressive systems offer fewer guarantees, as seen with Unicode vs ASCII or read-only vs full file access.
- Mathematical notation is flexible; new syntax can be introduced as long as it is consistent and clearly explained.