Date |
Day |
Lab/Lecture Topic |
Assigned HW |
Notes Covered (Expected to pre-read) |
1/20/21 |
Wednesday |
Welcome; why?; website; what’s where; programming review |
HW1 - Setup; Config |
Ch1-2.4 + Website |
1/21/21 |
Thursday |
Programming review; datatypes; expressions; primitives’ syntax & semantics |
|
1-2.4 + REPL + ACL2 Ref |
1/22/21 |
Friday |
Setup; Config |
|
|
1/25/21 |
Monday |
The ACL2 environment: ACL2 design: contracts; termination |
HW2 - My first ACL2HW; functions |
2.5-2.10 |
1/27/21 |
Wednesday |
The dirty dozen: quote let datatype enum range product; etc |
|
2.11-2.13 |
1/28/21 |
Thursday |
Property based-testing |
|
2.14-2.17 |
1/29/21 |
Friday |
My first ACL2HW; functions |
|
|
2/1/21 |
Monday |
Boolean logic; truth tables; formulae; |
HW3 - Propositional Logic; Truth Tables |
3-3.2 |
2/3/21 |
Wednesday |
substitution, instantiation, reasoning, proofs, matching. |
|
3.3-3.4 |
2/4/21 |
Thursday |
Boolean logic in ACL2s; normal forms; applications; Complexity; P ?= NP; decision procs |
|
3.5-3.7 |
2/5/21 |
Friday |
Prop Logic; Minimization |
|
|
2/8/21 |
Monday |
Limitations of boolean logic; relationships w/set theory |
HW4 - Syntax; Semantics; instantiation |
3.8, 4 |
2/10/21 |
Wednesday |
Conjectures; ACL2s conjectures; |
|
4.1 |
2/11/21 |
Thursday |
Program equivalence; Additional axioms (cons/car/cdr rules); Context vs. theorems |
|
4.2-4.3 |
2/12/21 |
Friday |
Syntax and Semantics of a lang |
|
|
2/15/21 |
Monday |
NO CLASS - HOLIDAY |
HW5 - Substitution; normalization; equational reasoning |
|
2/17/21 |
Wednesday |
Proving theorems via equational reasoning; reasoning about arithmetic |
|
4.5-6 |
2/18/21 |
Thursday |
Recapitulate proving theorems via equational reasoning. |
|
M1 A1 M2 A2 M3 |
2/19/21 |
Friday |
Substitutions; minimization; normalization |
|
|
2/22/21 |
Monday |
Definition; soundness termination; contracts; acl2 definition principle |
HW6 - Practice Exam; Admissability |
5.1 |
2/24/21 |
Wednesday |
Termination; measure functions; |
|
5.1 |
2/25/21 |
Thursday |
Showing soundness of common recursion schemes via termination |
|
5.2 |
2/26/21 |
Friday |
Midterm exam review |
|
|
3/1/21 |
Monday |
Undecidability; the Halting problem; proofs by contradiction |
HW7 - Measures; Undecidability and induction |
5.4-5.5 |
3/3/21 |
Wednesday |
More undecidability; consequences; |
|
4.4, 5.4-5.5 “Scooping” |
3/4/21 |
Thursday |
Mathematical induction; well-foundedness; correctness of math. induction; extracting induction schemes |
|
6-6.2 |
3/5/21 |
Friday |
|
|
|
3/8/21 |
Monday |
Proving program correctness via induction |
HW8 - More induction |
6.3 |
3/10/21 |
Wednesday |
Data-function-induction trinity; why termination matters |
|
6.4-6.6 app2-assoc-1 app2-assoc-2 |
3/11/21 |
Thursday |
Induction like a professional; reasoning about algs; generalization; lemma generation; |
|
6.7 |
3/12/21 |
Friday |
|
|
|
3/15/21 |
Monday |
Intro to reasoning w/accumulators; tail recursion; efficiency considerations; |
HW9 - Larger Proofs |
6.8 |
3/17/21 |
Wednesday |
proving correctness wrt accs; Accumulator reasoning |
|
6.9 revt-equal |
3/18/21 |
Thursday |
Abstract Data Types |
|
8.1-8.3 |
3/19/21 |
Friday |
Accumulator try-out + real proving |
|
7 |
3/22/21 |
Monday |
SAT/SMT/CP |
HW10 - Accumulator proofs *Due 1wk later than usual |
|
3/24/21 |
Wednesday |
NO CLASS - HOLIDAY |
|
|
3/25/21 |
Thursday |
SAT/SMT/CP |
|
test.cnf try2.cnf |
3/26/21 |
Friday |
Using real ACL2 |
|
7 |
3/29/21 |
Monday |
Logic programming and Prolog |
|
Predicate Logic as … Downward |
3/31/21 |
Wednesday |
miniKanren introduction |
|
mk1.rkt Presentation/Talk |
4/1/21 |
Thursday |
microKanren implementation |
|
micro-day-1.rkt |
4/2/21 |
Friday |
Accumulator Proofs + LP Racket Set-up |
|
|
4/5/21 |
Monday |
Project description talk-through |
HW11 - My first miniKanren programs |
|
4/7/21 |
Wednesday |
microKanren implementation II |
|
micro-2.rkt Paper |
4/8/21 |
Thursday |
Interpreter Lecture |
|
lang.rkt |
4/9/21 |
Friday |
miniKanren Basics (Nothing due) |
|
|
4/12/21 |
Monday |
NO CLASS - HOLIDAY |
HW12 - Types and Type Inference |
|
4/14/21 |
Wednesday |
more Intepreter + Type inference |
|
|
4/15/21 |
Thursday |
Type inference II & judgments |
|
|
4/16/21 |
Friday |
Types Behavior |
|
|
4/19/21 |
Monday |
Surprise |
|
None. Expect surprise |
4/21/21 |
Wednesday |
What you could have learned in this class |
|
|