Skip to main content
Link
Menu
Expand
(external link)
Document
Search
Copy
Copied
PL&C Reference
Prerequisites
Sets
Functions
Prologue
Concrete Syntax
Abstract Syntax
Regular Expressions
Regex Syntax
Regex Semantics
Finite Automata
Kleene's Theorem
Inexpressibility
Pumping Lemma
The While Language
Expressions
Statements
Liveness and Safety
Correctness
Computability
Computable functions
Decidable predicates
Bijections etc.
Encoding data
Reflections
Gödel numbering
The universal function
The Church-Turing thesis
The Halting Problem
Reductions
Rice's theorem
-------------------------
Slides
1. Strings
2. Concrete Syntax
3. Arithmetic Concretely
4. Turtle Concretely
5. Loops Concretely
6. Arity
7. Tree Grammars
8. Left Association
9. Right Association
10. Arithmetic Abstractly
11. Regular Expressions
12. Notational Conventions
13. Big Step Semantics
14. Correct Instances
15. Proof Trees
16. Proof Tree Ex 1
17. Proof Tree Ex 2
18. Automata
19. Automaton Language
20. Regex Language
21. Kleene's Theorem
22. Derivatives
23. Regular Language
24. Nested List
25. Nested List Src
Unit Webpage
Slides
3. Arithmetic Concretely
\[ \newcommand{\tr}{\Rightarrow} \newcommand{\trs}{\tr^{\!\ast}} \newcommand{\rlnm}[1]{\mathsf{(#1)}} \newcommand{\rred}[1]{\xrightarrow{#1}} \newcommand{\rreds}[1]{\mathrel{\xrightarrow{#1}\!\!^*}} \newcommand{\cl}{\mathsf{Cl}} \newcommand{\pow}{\mathcal{P}} \newcommand{\matches}{\mathrel{\mathsf{matches}}} \newcommand{\kw}[1]{\mathsf{#1}} \]
Concrete Syntax for Arithmetic
In the following, $n$ may be any integer:
\[\begin{array}{rrcl} (1) & A &::=& F \\ (2) & A &::=& F + A \\ (3) & A &::=& F - A \\ (4) & F &::=& L \\ (5) & F &::=& L * F\\ (6) & L &::=& n \\ (7) & L &::=& (A) \end{array}\]