Download An Introduction to Computational Logic

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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