Advanced Data Modeling Minimal Models

Slides:



Advertisements
Similar presentations
Lecture 11: Datalog Tuesday, February 6, Outline Datalog syntax Examples Semantics: –Minimal model –Least fixpoint –They are equivalent Naive evaluation.
Advertisements

Answer Set Programming Overview Dr. Rogelio Dávila Pérez Profesor-Investigador División de Posgrado Universidad Autónoma de Guadalajara
Web Science & Technologies University of Koblenz ▪ Landau, Germany Advanced Data Modeling Minimal Models Steffen Staab TexPoint fonts used in EMF. Read.
Computability and Complexity 9-1 Computability and Complexity Andrei Bulatov Logic Reminder (Cnt’d)
11 November 2005 Foundations of Logic and Constraint Programming 1 Negation: Declarative Interpretation ­An overview First Order Formulas and Logical Truth.
Exam #3 is Friday. It will consist of proofs, plus symbolizations in predicate logic.
CS240A: Databases and Knowledge Bases Fixpoint Semantics of Datalog Carlo Zaniolo Department of Computer Science University of California, Los Angeles.
Search in the semantic domain. Some definitions atomic formula: smallest formula possible (no sub- formulas) literal: atomic formula or negation of an.
Last time Proof-system search ( ` ) Interpretation search ( ² ) Quantifiers Equality Decision procedures Induction Cross-cutting aspectsMain search strategy.
EE1J2 - Slide 1 EE1J2 – Discrete Maths Lecture 6 Limitations of propositional logic Introduction to predicate logic Symbols, terms and formulae, Parse.
Introduction to Logic for Artificial Intelligence Lecture 2 Erik Sandewall 2010.
Binary Decision Diagrams for First Order Predicate Logic By: Jan Friso Groote Afsaneh Shirazi.
Herbrand Models Logic Lecture 2. Example: Models  X(  Y((mother(X)  child_of(Y,X))  loves(X,Y))) mother(mary) child_of(tom,mary)
1st-order Predicate Logic (FOL)
1 Knowledge Based Systems (CM0377) Lecture 4 (Last modified 5th February 2001)
Web Science & Technologies University of Koblenz ▪ Landau, Germany Stable Models See Bry et al 2007.
First Order Predicate Logic
CS344: Introduction to Artificial Intelligence Lecture: Herbrand’s Theorem Proving satisfiability of logic formulae using semantic trees (from Symbolic.
CS621: Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 28– Interpretation; Herbrand Interpertation 30 th Sept, 2010.
Web Science & Technologies University of Koblenz ▪ Landau, Germany Procedural Semantics Soundness of SLD-Resolution.
Naïve Set Theory. Basic Definitions Naïve set theory is the non-axiomatic treatment of set theory. In the axiomatic treatment, which we will only allude.
Mathematical Preliminaries
LDK R Logics for Data and Knowledge Representation ClassL (Propositional Description Logic with Individuals) 1.
1 Knowledge Based Systems (CM0377) Lecture 6 (last modified 20th February 2002)
Web Science & Technologies University of Koblenz ▪ Landau, Germany Models in First Order Logics.
1 Reasoning with Infinite stable models Piero A. Bonatti presented by Axel Polleres (IJCAI 2001,
Web Science & Technologies University of Koblenz ▪ Landau, Germany Models of Definite Programs.
Web Science & Technologies University of Koblenz ▪ Landau, Germany Models in First Order Logics.
Syntax of First-Order Predicate Calculus (FOPC): 1. Alphabet Countable set of predicate symbols, each with specified arity  0. Countable set of function.
Information Systems & Semantic Web University of Koblenz ▪ Landau, Germany Advanced Data Modeling Steffen Staab with Simon Schenk TexPoint fonts used in.
1 Finite Model Theory Lecture 9 Logics and Complexity Classes (cont’d)
CS589 Principles of DB Systems Fall 2008 Lecture 4c: Query Language Equivalence Lois Delcambre
Quick Course Overview Quick review of logic and computational problems
Models of Definite Programs
Introduction to Logic for Artificial Intelligence Lecture 2
Logics for Data and Knowledge Representation
Advanced Algorithms Analysis and Design
Formal Modeling Concepts
Completeness of the SLD-Resolution
Goal for this lecture Demonstrate how we can prove that one query language is more expressive than (i.e., “contained in” as described in the book) another.
Proposition & Predicates
Chapter 7: Beyond Definite Knowledge
Chapter 5 Induction and Recursion
Semantics of Datalog With Negation
Proving Properties of Recursive List Functions
Logics for Data and Knowledge Representation
ICS 353: Design and Analysis of Algorithms
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
Logic: Top-down proof procedure and Datalog
Soundness of SLD-Resolution
General Solution – Homogeneous and Non-Homogeneous Equations
Logics for Data and Knowledge Representation
1st-order Predicate Logic (FOL)
Models of Definite Programs
MA/CSSE 474 More Math Review Theory of Computation
Computer Security: Art and Science, 2nd Edition
Search techniques.
Brief Introduction to Computational Logic
This Lecture Substitution model
Logics for Data and Knowledge Representation
Models of Definite Programs
Logical and Rule-Based Reasoning Part I
Resolution Proof System for First Order Logic
Appendix A: Numbers, Inequalities, and Absolute values
Representations & Reasoning Systems (RRS) (2.2)
CS589 Principles of DB Systems Fall 2008 Lecture 4e: Logic (Model-theoretic view of a DB) Lois Delcambre
COMPILER CONSTRUCTION
1st-order Predicate Logic (FOL)
Logics for Data and Knowledge Representation
Presentation transcript:

Advanced Data Modeling Minimal Models Steffen Staab TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA

Logic as query language. Grounding. Minimal Herbrand models. Overview Logic as query language. Grounding. Minimal Herbrand models. Completion.

Logic as query language Given: first-order formula A[x1, …, xn] Herbrand interpretation I This first-order formula can be considered as a definition of a relation RA on T nΣ as follows: (t1, … , tn)  RA := I |= A[t1, … , tn]

Clauses as definitions We say that a clause p(t1, … , tm) :- L1 , … , Ln defines the relation symbol p. Let C be a set of clauses and p be a relation symbol. We call the definition of p in C the set of all clauses in C that define p.

Principles of semantics A deductive database is a set of clauses. This set of clauses is regarded as a collection of definitions of relations. The semantics defines the meaning of these definitions by associating with them an interpretation, or a class of interpretations. Query answering is based on the semantics.

the unique name assumption: each name denotes a unique object. Two key assumptions the unique name assumption: each name denotes a unique object. the closed world assumption: a negative statement A holds if the corresponding positive one A does not hold. Both assumptions are not supported by (Tarskian) models for first-order logics (why not?)  One solution: minimal models

Minimal Herbrand Models Let I be a Herbrand model of a set of formulas S. We call I a minimal Herbrand model of S if it is minimal w.r.t. the subset relation, i.e. for every Herbrand model I´of S of the same signature we have I  I´ I is called the least Herbrand model of S if for every Herbrand model I´ of S of the same signature we have I  I´.

Does every set of formulas S have a least Herbrand model?

Does every set of formulas S have a least Herbrand model? Counterexample for normal clauses: person(a). man(X) :- person(X), not woman(X). woman(X) :- person(X), not man(X).

Does every set of formulas S have a least Herbrand model? What about definite clauses?

Let E, E´ be a pair of terms or formulas. Instance and variant Let E, E´ be a pair of terms or formulas. E´ is an instance of E, denoted E > E´, if there exists a substitution θ: such that Eθ: = E´. ground instance: instance that is ground, E´ is a variant of E if E´ is an instance of E and E is an instance of E´.

P(x,a) is instance of P(x,y) because of P(x,y)[y|a] Examples P(x,a) is instance of P(x,y) because of P(x,y)[y|a] P(b,a) is a ground instance P(x,y) and P(u,v) are variants of each other, because of [x|u, y|v] and [u|x, v|y]

Grounding Let C be a set of clauses and Σ be any signature containing all symbols used in C. The grounding of C w.r.t. Σ, denoted C* is the set of all ground instances of the signature Σ of clauses in C. Lemma. Let I be a Herbrand interpretation and C be a set of clauses. Then I |= C if and only if I |= C*.

General proof scheme calculus First order formula First order Consequences (all possible ways of) grounding lifting calculus Propositional formula Propositional Consequences

Proof

Additional atomic formulas s = t, where s, t are terms. Logic with equality Additional atomic formulas s = t, where s, t are terms. Abbreviation: x  y := (x = y). Unlike other relations, the semantics of s = t is predefined in all Herbrand interpretations: I |= s = t if s coincides with t.

Example valid formulas f(x1, … , xn) = f(y1, … yn) ! x1 = y1 Æ … Æ xn = yn f(x1, … , xn)  g(y1, … , yn) f(x1, … ,xn)  c d  c A[t] $ 8x(x = t ! A[x])

Semantics of definitions Consider a definition of a relation r What is the meaning of this definition? Is there a largest Herbrand model? Especially in the light of negation as failure?

Idea of completion man(hans). man(adam). person(eva). woman(X) :- person(X), not man(X). Is eva a woman? She might be a man and we just don‘t know! Minimal model says that she is not a woman! (no minimal model) Trick: Completion: man(X)  (X=hans X=adam). woman(X)  X=eva. I.e. hans and adam are the only men.

man(X) :- lovesBeer(X,Y). Completion: man(X)  Idea of Completion man(hans). man(X) :- lovesBeer(X,Y). Completion: man(X)  X=hans ( Y: X=U lovesBeer(U,Y)) A man is a man only if he is hans or if he loves some brand of beer.

Completion. Step 1. Replace every clause by an equivalent one such that the arguments of r are x1, …, xn: Given: r(t1, … , tn) :- G Replace by: r(x1, … , xn) :- x1 = t1 … xn = tn G

Completion. Step 2. If there are variables y1, … , yk occurring in a body but not in the head, apply  to these variables, i.e., Given r(x1, … , xn) :- G Modify to r(x1, … , xn) :-  y1 …  yk G

If there are several definitions, replace them by one Given Completion. Step 3. If there are several definitions, replace them by one Given r(x1, … ,xn) :- G1 … r(x1, … , xn) :- Gm Replace by r(x1, … , xn) :- G1 … Gm

is called the completed definition of the original set of clauses. Completion. Step 4. Replace :- by $: Given r(x1, … , xn) :- G1Ç … Ç Gm Replace by r(x1, … , xn) $ G1Ç … Ç Gm The formula is called the completed definition of the original set of clauses.

r(x,y) :- z,u,v x=u y=v p(u,1,z). r(x,y) :- z,u,v x=u y=v p(2,v,z). Example r(u,v):-p(u,1,z). r(v,u):-p(2,u,z). r(x,y) :- x=u y=v p(u,1,z). r(x,y) :- x=v y=u p(2,v,z). r(x,y) :- z,u,v x=u y=v p(u,1,z). r(x,y) :- z,u,v x=u y=v p(2,v,z). r(x,y)  (z,u,v x=u y=v p(u,1,z)) (z,u,v x=u y=v p(2,v,z))

All steps preserve Herbrand models, except for the last one. Properties All steps preserve Herbrand models, except for the last one. Why? Gives a unique semantics to non-recursive definitions What about recursive definitions? Logic programming semantics and first-order semantics coincide for definite programs

Recursive definitions odd(1). even(f(X)) :- odd(X). odd(f(X)) :- even(X). Completion: odd(X)  X=1 Y(X=f(Y) even(Y)). even(X)  Y(X=f(Y) odd(Y)).

Recursive definitions person(adam). person(eva). woman(X) :- person(X), not man(X). man(X) :- person(X), not woman(X). Completion: woman(X)  Y(Y=X person(Y) not man(Y)). man(X)  Y(Y=X person(Y) not woman(Y)). Semantics not unique in logic programming: Models are I={woman(adam),woman(eva),person(adam),person(eva)} I={man(adam),man(eva), person(adam),person(eva)} I={woman(adam),man(eva), person(adam),person(eva)} I={man(adam),woman(eva), person(adam),person(eva)} What is the semantics in first order logics?

Recursive definitions person(adam). person(eva). woman(X) :- person(X), not man(X). man(X) :- person(X), not woman(X). Completion: woman(X)  Y(Y=X person(Y) not man(Y)). man(X)  Y(Y=X person(Y) not woman(Y)). Semantics not unique in logic programming: Models are I={woman(adam),woman(eva),person(adam),person(eva)} I={man(adam),man(eva), person(adam),person(eva)} I={woman(adam),man(eva), person(adam),person(eva)} I={man(adam),woman(eva), person(adam),person(eva)} What is the semantics in first order logics? Models are: womanI={}=manI

Simple characterization of completion Let C be a definition of r, I be a Herbrand model of the corresponding completed definition, and r(t1, … , tn) be a ground atom. Then I |= r(t1, … , tn) ,  (r(t1, … , tn) :- L1, … , Lm)  C* (I |= L1  …  Ln):

Immediate consequence operator TC(I) := { A | there exists (A :- G)  C* such that I |= G } Fixpoint: an interpretation such that TC(I) = I.

Definite clauses have the least model Let C be a set of definite clauses. Define I0 := {} In+1 := TC(In), for all n  0, I := i=0 Ii Then I is the least fixpoint of TC and also the least Herbrand model of C.

Non-recursive databases Let C be a non-recursive database and K be an arbitrary interpretation. Define I0 := K In+1 := TC(In), for all n  0, I := i=0 Ii Then I is the only fixpoint of TC. Moreover, for some n we have I = In.

Non-recursive sets of clauses Let C be a set of clauses. Its dependency graph consists of pairs p ! r such that p occurs in the body of a clause which defines r in C. A set of clauses is non-recursive if the dependency graph contains no cycles.

Non-recursive sets of clauses Let C be a set of clauses. Its dependency graph consists of pairs p ! r such that p occurs in the body of a clause which defines r in C. A set of clauses is non-recursive if the dependency graph contains no cycles. Person(a). Woman(X) :- Person(X), Not Man(X). Man(X) :- Person(X), Not Woman(X). Person Man Woman

Non-recursive sets of clauses Dependency graph of C consists of pairs p ! r such that p occurs in the body of a clause which defines r in C. C is non-recursive if the dependency graph contains no cycles. A relation p depends on a relation q in C if there exists a path of length  1 from q to p in the dependency graph of C. A set of clauses is non-recursive if and only if no relation depends on itself.