- **Today**: - Proofs by rule (natural) induction - Simultaneous inductive definitions **Definition:** We call a set of inference rules an **inductive definition** of a judgement if the rules are **exhaustive** e.e. - If a judgement holds, it can be inferred from the rules, and - If a judgement can be inferred, it holds **Announcement:** 4 weeks for assignment after the christmas week. You probably only need 2 weeks. If $s_1N s_2 L \implies s_1s_2 L$, $\epsilon L$, $s L\implies (s)N$ Assume $s_1 L$ and $s_2L$ and we know that $s_1 N s_2 L \implies s_1s_2 L$ # Syntax - So far - Revision of inference rules, natural (rule) induction - First steps in Haskell - Simple grammars specified using inference rules - The inference rule for SExpr defined the **concrete syntax** of a simple language, including precedence and associativity - The concrete syntax of a language is designed with the human user in mind.