Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
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ödel (1930)
“Beamten”-logic:
F |= G iff G ∈ F
“Höhere 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ül
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ütte, 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ölldobler: 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öning: Logik für Informatiker.
Spektrum Akademischer Verlag (1995).
Introduction to Computational Logic
13
Module Foundations
I Students without solid background in logic:
. Logic (Hölldobler, 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