Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.

[Caml-list] OCaml-based logic and theorem proving book available

Skip to first unread message

Harrison, John R

Mar 31, 2009, 2:02:02 PM3/31/09
to OCaml
I'm pleased to announce the availability of my textbook on logic and
automated theorem proving, in which all the major techniques that are
described are also implemented as concrete OCaml code:

Handbook of Practical Logic and Automated Reasoning

John Harrison

Cambridge University Press 2009

ISBN: 9780521899574

Publisher's Web page:
Code and resources:

You can already buy the book in Europe, and it should be available
elsewhere very soon, if it isn't already. Here's a table of

1 Introduction
1.1 What is logical reasoning?
1.2 Calculemus!
1.3 Symbolism
1.4 Boole's algebra of logic
1.5 Syntax and semantics
1.6 Symbolic computation and OCaml
1.7 Parsing
1.8 Prettyprinting

2 Propositional Logic
2.1 The syntax of propositional logic
2.2 The semantics of propositional logic
2.3 Validity, satisfiability and tautology
2.4 The De Morgan laws, adequacy and duality
2.5 Simplification and negation normal form
2.6 Disjunctive and conjunctive normal forms
2.7 Applications of propositional logic
2.8 Definitional CNF
2.9 The Davis-Putnam procedure
2.10 Staalmarck's method
2.11 Binary Decision Diagrams
2.12 Compactness

3 First-order logic
3.1 First-order logic and its implementation
3.2 Parsing and printing
3.3 The semantics of first-order logic
3.4 Syntax operations
3.5 Prenex normal form
3.6 Skolemization
3.7 Canonical models
3.8 Mechanizing Herbrand's theorem
3.9 Unification
3.10 Tableaux
3.11 Resolution
3.12 Subsumption and replacement
3.13 Refinements of resolution
3.14 Horn clauses and Prolog
3.15 Model elimination
3.16 More first-order metatheorems

4 Equality
4.1 Equality axioms
4.2 Categoricity and elementary equivalence
4.3 Equational logic and completeness theorems
4.4 Congruence closure
4.5 Rewriting
4.6 Termination orderings
4.7 Knuth-Bendix completion
4.8 Equality elimination
4.9 Paramodulation

5 Decidable problems
5.1 The decision problem
5.2 The AE fragment
5.3 Miniscoping and the monadic fragment
5.4 Syllogisms
5.5 The finite model property
5.6 Quantifier elimination
5.7 Presburger arithmetic
5.8 The complex numbers
5.9 The real numbers
5.10 Rings, ideals and word problems
5.11 Groebner bases
5.12 Geometric theorem proving
5.13 Combining decision procedures

6 Interactive theorem proving
6.1 Human-oriented methods
6.2 Interactive provers and proof checkers
6.3 Proof systems for first-order logic
6.4 LCF implementation of first-order logic
6.5 Propositional derived rules
6.6 Proving tautologies by inference
6.7 First-order derived rules
6.8 First-order proof by inference
6.9 Interactive proof styles

7 Limitations
7.1 Hilbert's programme
7.2 Tarski's theorem on the undefinability of truth
7.3 Incompleteness of axiom systems
7.4 Goedel's incompleteness theorem
7.5 Definability and decidability
7.6 Church's theorem
7.7 Further limitative results
7.8 Retrospective: the nature of logic


Caml-list mailing list. Subscription management:
Beginner's list:
Bug reports:

0 new messages