An Introduction to Computational Logic
Introduction to Computational Logic
1
History: Basic Ideas
Aristotle (†322 B.C.) Formalization syllogisms SeP PeQ SeQ
Herodot (†430 B.C.) Calculization Egyptian stones, abacus
Herodot (†430 B.C.) Mechanization mechanai
Introduction to Computational Logic
2
History: Combining the Ideas (1)
Descartes (1596-1650)
Hobbes (1588-1679)
Leibnitz (1646-1719)
geometry
thinking = calculating
lingua characteristica calculus ratiocinator universal encyclopedia
Pascal (1623-1662)
Leibnitz (1646-1719)
Lullus (1232-1315) ars magna
Introduction to Computational Logic
3
History: Combining the Ideas (2)
DeMorgan (1806-1871) Boole (1815-1864) propositional logic
Frege(1882)
Whitehead, Russell (1910-1913)
first order logic “Begriffsschrift”
Principia Mathematica
Javins(1869)
Babbage (1792-1871)
evaluating boolean expressions
analytical engine
Introduction to Computational Logic
4
History: Combining the Ideas (3)
Skolem, Herbrand, G¨ odel (1930)
“Beamten”-logic: F |= G iff G ∈ F “H¨ ohere Beamten”-logic: F |= G iff F = {G}
completeness of first order logic Zuse (1936-1941) Z1, Z3 Turing (1936) Turing machine
Introduction to Computational Logic
5
History: Finally, Computers Arrive
von Neumann (1946)
Zuse (1949)
Turing (1950)
computer
Plankalk¨ ul
Turing test Can machines think?
Introduction to Computational Logic
6
History: Deduction Systems I early 1950s: Davis: Preßburger arithmetic. I 1955/6: Beth, Sch¨ utte, Hintikka: semantic tableaus. I 1956: Simon, Newell: first heuristic theorem prover. I late 1950s: Gilmore, Davis, Putnam: theorem prover based on Herbrand’s “Eigenschaft B Methode”. I 1960: Prawitz: unification. I 1965: J.A. Robinson: resolution principle. I thereafter: improved resolution rules vs. intelligent heuristics. I 1996: McCune’s OTTER proves Robbin’s conjecture. I today: TPTP library, yearly CASC competition.
Introduction to Computational Logic
7
History: Logic Programming I 1971: A. Colmerauer: System Q
Prolog.
brother-of (X, Y ) ← father-of (Z, X ) ∧ father-of (Z, Y ) ∧ male(X ). I 1979: R.A. Kowalski: algorithm = logic + control. I late-70s to mid-80s: theoretical foundations. I 1977: D.H.D. Warren: first Prolog compiler. I 1982: A. Colmerauer: Prolog II
constraints.
. Constraint logic programming.
Introduction to Computational Logic
8
Deduction I A world without deduction would be a world without science, technology, laws, social conventions and culture (Johnson–Laird, Byrne: 1991).
Introduction to Computational Logic
9
A Simple Example I ‘Socrates is a human. All humans are mortal. Hence, Socrates is mortal. human(socrates) (forall X ) (if human(X ) then mortal(X )) mortal(socrates)
h( s ) (∀X ) (h(X ) → m(X )) m( s ) I 5 is a natural number. All natural numbers are integers. Hence, 5 is an integer.
Introduction to Computational Logic
10
The Addition of Natural Numbers I The sum of zero and the number Y is Y. The sum of the successor of the number X and the number Y is the successor of the sum of X and Y.
. Are you willing to conclude from these statements that the sum of one and one is two? 0+Y =Y s (X ) + Y = s (X + Y ) s(0) + s(0) = s(s(0))
. Are you willing to conclude that addition is commutative? 0+Y =Y s (X ) + Y = s (X + Y ) X+Y =Y +X
Introduction to Computational Logic
11
Applications I Functional equivalence of two chips. I Verification of hard- and software. I Year 2000 problem. I Eliminating redundancies and proving properties of group communication systems. I Designing the layout of yellow pages. I Managing a tunnel project. I Natural language processing. I Cognitive Robotics. I Semantic web. I Law. Logic is Everywhere
Introduction to Computational Logic
12
Some Background Literature I L. Chang and R.C.T. Lee: Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York (1973). I M. Fitting: First–Order Logic and Automated Theorem Proving. Springer Verlag. Berlin, second edition (1996). I J. Gallier: Logic for Computer Science: Foundations of Automated Theorem Proving. Harper and Row. New York (1986). I S. H¨ olldobler: Logik und Logikprogrammierung. Synchron Publishers GmbH, Heidelberg (2001). I D. Poole and A. Mackworth and R. Goebel: Computational Intelligence: A Logical Approach. Oxford University Press, New York, Oxford (1998). I S. Russell and P. Norvig: Artificial Intelligence. Prentice Hall, Englewood Cliffs (1995). I U. Sch¨ oning: Logik f¨ ur Informatiker. Spektrum Akademischer Verlag (1995).
Introduction to Computational Logic
13
Module Foundations I Students without solid background in logic:
. Logic (H¨ olldobler, Pietzsch) . Science of Computational Logic (Thielscher, Pietzsch) I Students with a solid background in logic:
. Complexity Theory (Lutz) . Science of Computational Logic (Thielscher, Pietzsch) I Logic is offered from now until the end of November. I Science of Computational Logic is offered from beginning of December until end of the lecturing period. I Common written exam in the examination period following the lecturing period.
Introduction to Computational Logic
14
Logic I Agenda
. Introduction . Propositional Logic . First Order Logic I Exercises
. . . . . .
Exercises are announced each week. 3 students may form a group. Solutions are to be turned in a week later. Solutions will be corrected. 10% of the final mark will be given based on performance in the exercises. In the tutorial students discuss their solutions to exercises.
I More details including the exercises can be found on our web pages. I Ask questions as soon as they arise, anywhere and at anytime. I Don’t except a situation, where you do not understand everything. Introduction to Computational Logic
15