Contents/Index
Preface
Parsing input (SLR parser)
Parser F# code
@Well-formed syntax
Semantics of propositional logic
Constructing tables
The application
A well formed formula is closely related to the CFG (Context Free Grammar) used in the former chapter. To check whether a formula is well formed, we recursively apply these rules
- ¬: If φ is well-formed, so is ¬φ
- ∧: If φ and ψ are well-formed, so is (φ ∧ ψ).
- ∨: If φ and ψ are well-formed, so is (φ ∨ ψ).
- ⇒: If φ and ψ are well-formed, so is (φ ⇒ ψ).
- ⇔: If φ and ψ are well-formed, so is (φ ⇔ ψ).
Nothing else is a well-formed formula.
To put this into context: if our parser does not return an error, we can brag about how well-formed our input formula is :-).