Propositional logic involves **only** declarative statements.

- Declarative statements can be declared to be either true or false (but not both).
- "The train is late"
- "There are no taxis in the station"

**Not all**statements are declarative. The following cannot be declared true/false.- "Let’s go to the cinema" (proposal)
- "It will probably rain tomorrow" (likelihood)
- "Where is Eric?" (question)
- "Fantastic!" (exclamation)

Complex propositions can be constructed by simple ones using operators.

<aside>
💡 p : "**If** the train is late **and** there are no taxis in the station, **then** Bob is late to work."

</aside>

We can examine whether such propositions are true or false when we know the values of the basic propositions.

English (or any human language) is imprecise and subtle (verb tenses, etc.) and error-prone. A more mathematical language for logic would make the above arguments clear (Propositional Logic).

- Declarative statement is just a "string of symbols"
- Consider some statements are atomic. Name atomic propositions with distinct mathematical symbols (lowercase English letters): $p,p_1,q,q_2$
- We form complex propositions using the following operators
- Negation
- Disjunction
- Conjunction
- Implication
- Parentheses

- We will call atomic and complex propositions "formulas": $(p∧ q)→r$

To be rigorous, we need to define grammar (or meta-) variables that stand for any term derivable from the grammar: $A,B,...$

**Definition** The logical formulas of Propositional Logic are exactly those accepted by the following grammar in Backus Naur Form (BNF):

$$ A::=p | (¬A) | (A∧A) | (A∨A) | (A→A) $$