As an alternative source of information, this site provides summaries
of many of the topics covered in lecture in a form more compact than the
slides. The content will not be identical; sometimes it is easier to
discuss something in a lecture than write it as a stand-alone piece, and
sometimes the summaries may contain an alternative example or
presentation to help give another perspective on a topic. Hopefully you
will find both sources useful resources.
These summaries were originally developed and written by Prof. Stone
when he taught CS81. Later, they were adapted by Prof. Wloka,
Prof. Vidushi, and Prof. Bang, but Prof. Stone should receive primary
credit for them (So if you like them, be sure to tell him how great they
are when you see him! If you don’t like them, you can blame it all on
Prof. Bang!).
List of Topics
1. Propositional Logic
- Introduction
- Propositions
- Truth and
Falsehood
- Entailment
- Abbreviating WFFs
- English to WFFs
- Proof Systems
- Natural
Deduction - Constructive Rules
- Natural
Deduction - Classical Rules
2. Predicate Logic
- Predicate Logic
- Predicate
Formulae
- Predicate
Natural Deduction
3. Proofs
- Mathematical
Induction
- Proofs for
Humans
- Bounded
Quantifiers
- Proving
Implications
- Proofs with
Quantifiers
- Asymptotic
Analysis
4. Prolog
- Logic Programming
- Unification
- Depth-First
Search
- Depth-First
Consequences
- Generate and
Test
- Prolog to
English
- Lists in Prolog
- Arithmetic in
Prolog
- Negation in
Prolog
5. Logic Wrap-up
- Hoare Logic
- Countability
- Uncountable Sets
6. Computability
- Introduction
to Computability
- String Theory
- State Machines
- Regular Languages
- Kleene’s
Theorem
- Closure
Properties
- Regular
Expressions
- Non-Regular
Languages
- Pumping Lemma
- CFLs
- CFGs
- Parsing
- Non-Context-Free
Languages
- CYK Algorithm
- Regular Grammars
- Unrestricted
Grammars
- Turing Machines
- Decidability and
Undecidability
- Semidecidability
- Reductions
- Mapping
Reductions