Title: Logic Program Semantics Background
1Logic Program Semantics Background
AI Centre, Universidade Nova de Lisboa
U.I. at Jakarta, Jan/Feb 2006
2Language
- A Normal Logic Programs P is a set of rules
- H A1, , An, not B1, not Bm (n,m ³ 0)
- where H, Ai and Bj are atoms
- Literal not Bj are called default literals
- When no rule in P has default literal, P is
called definite - The Herbrand base HP is the set of all
instantiated atoms from program P. - We will consider programs as possibly infinite
sets of instantiated rules.
3Declarative Programming
- A logic program can be an executable
specification of a problem
member(X,XY). member(X,YL) member(X,L).
- Easier to program, compact code
- Adequate for building prototypes
- Given efficient implementations, why not use it
to program directly?
4LP and Deductive Databases
- In a database, tables are viewed as sets of facts
- Other relations are represented with rules
5LP and Deductive DBs (cont)
- LP allows to store, besides relations, rules for
deducing other relations - Note that default negation cannot be classical
negation in
- A form of Closed World Assumption (CWA) is needed
for inferring non-availability of connections
6Default Rules
- The representation of default rules, such as
- All birds fly
- can be done via the non-monotonic operator not
7The need for a semantics
- In all the previous examples, classical logic is
not an appropriate semantics - In the 1st, it does not derive not
member(3,1,2) - In the 2nd, it never concludes choosing another
company - In the 3rd, all abnormalities must be expressed
- The precise definition of a declarative semantics
for LPs is recognized as an important issue for
its use in KRR.
82-valued Interpretations
- A 2-valued interpretation I of P is a subset of
HP - A is true in I (ie. I(A) 1) iff A Î I
- Otherwise, A is false in I (ie. I(A) 0)
- Interpretations can be viewed as representing
possible states of knowledge. - If knowledge is incomplete, there might be in
some states atoms that are neither true nor false
93-valued Interpretations
- A 3-valued interpretation I of P is a set
- I T U not F
- where T and F are disjoint subsets of HP
- A is true in I iff A Î T
- A is false in I iff A Î F
- Otherwise, A is undefined (I(A) 1/2)
- 2-valued interpretations are a special case,
where - HP T U F
10Models
- Models can be defined via an evaluation function
Î - For an atom A, Î(A) I(A)
- For a formula F, Î(not F) 1 - Î(F)
- For formulas F and G
- Î((F,G)) min(Î(F), Î(G))
- Î(F G) 1 if Î(G) Î(F), and 0 otherwise
- I is a model of P iff, for all rule H B of P
- Î(H B) 1
11Minimal Models Semantics
- The idea of this semantics is to minimize
positive information. What is implied as true by
the program is true everything else is false.
- pr(s),pr(e),ph(s),ph(e),aM(s),aM(e) is a model
- Lack of information that sampaio is a physicist,
should indicate that he isnt - The minimal model is pr(s),ph(e),aM(e)
12Minimal Models Semantics
- Truth ordering For interpretations I and J, I
J iff for all atom A, I(A) J(A), i.e. - TI Í TJ and FI Ê FJ
- Every definite logic program has a least (truth
ordering) model.
- minimal models semantics An atom A is true in
(definite) P iff A belongs to its least model.
Otherwise, A is false in P.
13TP operator
- The minimal models of a definite P can be
computed (bottom-up) via operator TP
- TP Let I be an interpretation of definite P.
- TP(I) H (H Body) Î P and Body Í I
- If P is definite, TP is monotone and continuous.
Its minimal fixpoint can be built by - I0 and In TP(In-1)
- The least model of definite P is TPw()
14Stable Models Idea
- The identification of models can be done by
guessing a possible model, processing it into P
and checking if its least model coincides with
the guess. - This can be applied to non-stratified programs.
15Stable Models Idea (cont)
- Guessing a model corresponds to assuming
default negations not. This type of reasoning is
usual in NMR - Assume some default literals
- Check in P the consequences of such assumptions
- If the consequences completely corroborate the
assumptions, they form a stable model - The stable models semantics is defined as the
intersection of all the stable models (i.e. what
follows, no matter what stable assumptions)
16SMs preliminary example
a not b c a p not q b not a c b
q not r r
- Assume, e.g., not r and not p as true, and all
others as false. By processing this into P
a false c a p false b false c b
q true r
- Its least model is not a, not b, not c, not p,
q, r - So, it isnt a stable model
- By assuming not r, r becomes true
- not a is not assumed and a becomes false
17SMs example (cont)
a not b c a p not q b not a c b
q not r r
- Now assume, e.g., not b and not q as true, and
all others as false. By processing this into P
a true c a p true b false c b q
false r
- Its least model is a, not b, c, p, not q, r
- I is a stable model
- The other one is not a, b, c, p, not q, r
- According to Stable Model Semantics
- c, r and p are true and q is false.
- a and b are undefined
18Stable Models definition
- Let I be a (2-valued) interpretation of P. The
definite program P/I is obtained from P by - deleting all rules whose body has not A, and A Î
I - deleting from the body all the remaining default
literals - GP(I) least(P/I)
- M is a stable model of P iff M GP(M).
- A is true in P iff A belongs to all SMs of P
- A is false in P iff A doesnt belongs to any SMs
of P (i.e. not A belongs to all SMs of P).
19Properties of SMs
- Stable models are minimal models
- Stable models are supported
- If P is locally stratified then its single stable
model is the perfect model - Stable models semantics assign meaning to (some)
non-stratified programs - E.g. the one in the example before
20Importance of Stable Models
- Stable Models were an important contribution
- Introduced the notion of default negation (versus
negation as failure) - Allowed important connections to NMR. Started the
area of LPNMR - Allowed for a better understanding of the use of
LPs in Knowledge Representation - It is considered as THE semantics of LPs by a
significant part of the community.
21LP representing a static world
- The work on LP allows the (non-monotonic)
addition of new knowledge. - But
- Much of the work does not consider this evolution
of knowledge - LPs represent a static knowledge of a given world
in a given situation. - The issues of how to add new information to a
logic program are less studied.
22Knowledge Evolution
- In real situations knowledge evolves by
- completing it with new information (revision)
- changing it according to the changes in the world
itself (updates)
- I know that I have a flight booked for London
(either for Heathrow or for Gatwick). - I learn that it is not for Heathrow (revision)
- I conclude my flight is for Gatwick
- I learn that flights for Heathrow were canceled
(update) - Either I have a flight for Gatwick or no flight
at all
23Model Updates
- Updates are usually performed model by model.
- Marek and Truszczynski defined a language for
defining updates - in(A0) out(A0) ? in(A1), , out(An)
- Given an update program and a model of the
current situation, produce model(s) of the new
situation. - If several models of the current situation exist,
one has to proceed model by model.
24Updates of Logic Programs
P
- Weve defined a program transformation to
directly obtain Pu
- Weve generalized MTs approach to the 3-valued
case
25Updates of LPs by LPs
- When updating LPs, doing it model by model is not
desired. It loses the directional information of
the LP arrow.
P sleep ? not tv_on. watch ? tv_on. tv_on.
M tv,w
Mu pf,w vs
pf,s
U not tv_on ? p_failure. p_failure.
U2 not p_failure.
Mu2 w vs
tv,w
- Bodies are evaluated in the last state.
26Generalized LPs
- A generalized logic program P is a set of
propositional Horn clauses - L ? L1 ,, Ln
- where L and Li are atoms from LK , i.e. of
the form A or not A. - Program P is normal if no head of the clause in P
has form not A.
27Generalized LP semantics
- A set M is an interpretation of LK if for every
atom A in K exactly one of A and not A is in M. - Definition
- An interpretation M of LK is a stable model of a
generalized logic program P if M is the least
model of the Horn theory P ? not A A ? M.
28Generalized LPs example
- Example K a,b,c,d,e
- P a ? not b
- c ? b
- e ? not d
- not d ? a, not c
- d ? not e
- this program has exactly one stable model
- M Least(P ? not b, c, d) a, e, not b,
not c, not d - N not a, not e, b, c, d is not a stable
model since - N ? Least(P ? not a, not e)
29Relation to stable models
- Proposition
- An interpretation M of LK is a stable model of
a generalized logic program P iff for every A?
LK - if P/M - A then A? M
- if A? K ? M then P/M - A
- where P/M denotes Gelfond-Lifschitz transform of
P wrt M - Conclusion
- The class of stable models of generalized logic
programs extends the class of stable models of
normal programs.
30Drawbacks of Interpretation Updates
- How to update a logic program P by a logic
program U obtaining as a result a new, updated
logic program P ? U. - Interpretation update approach (H.Katsuno and
A.Mendelzon, M.Winslett) models of DB
updated models of DB - Drawbacks of this approach
- all the models of DB have to be computed and
updated - separately
- no natural way to compute DB (DB may not
exist) - produces counter-intuitive results when
intensional part of DB - is allowed to be updated.
31Update Example
- Example
- P sleep ? not tv_on
- watch_tv ? tv_on
- tv_on ?
- the only stable model is M tv_on, watch_tv
- U not tv_on ? power_failure
- power_failure ?
- the only update is MU power_failure,
watch_tv - the intended model is MI power_failure,
sleep - U2 not power_failure ?
32Update Example (2)
- Example
- P innocent ? not found_guilty
- the only stable model is M innocent
- U found_guilty ?
- the only update is MU innocent, found_guilty
- the intended model is MI found_guilty
33Dynamic Program Updates
- Program P is semantically equivalent to the
program - P innocent ?
- the model MU innocent, found_guilty is the
only reasonable model of the update of P by
U. - DB depends not only on semantics of DB and
update U (interpretation updates) but also on
their syntax. - We propose a new approach to the problem of
updating knowledge bases represented by logic
programs that attempts to eliminate the drawbacks
of the previous approaches
34Dynamic Program Updates
- How to update a logic program with another
- A ? B1 , , Bm , not C1, , not Cn
- not A ? B1 , , Bm , not C1, ,
not Cn
35Program Update
- Definition Let P and U be generalized logic
programs in the language L. By the update of P by
U we mean the generalized logic program P ? U,
consisting of the clauses -
- (RP) Rewritten original program clauses
- AP ? B1 , , Bm , C1, , Cn
- AP ? B1 , , Bm , C1, ,
Cn - (RU) Rewritten updating program clauses
- AU ? B1 , , Bm , C1, , Cn
- AU ? B1 , , Bm , C1, ,
Cn
36Translation into LP
- (UR) Update rules
- A ? AU and not A ? AU
- (IR) Inheritance rules
- A ? AP , not AU and A ? AP ,
not AU - (DR) Default rules
- A ? not AP , not AU and not
A ? A
37Example
- Example
- P sleep ? not tv_on
- watch_tv ? tv_on
- tv_on ?
- U not tv_on ? power_failure
- power_failure ?
- P ? U (RP) ? (RU) ? (UR) ? (IR) ? (DR)
- RP sleepP ? tv_on RU tv_onU ?
power_failure - watch_tvP ? tv_on power_failureU ?
- tv_onP ?
- M power_failure, sleep is the only stable
model of P ? U
38Semantic characterization
- Definition Let M be a model of the program U
in the language L. - Def M not A M ? Body, ?(A? Body) ? P ?
U - Rej M
- A? Body ? P ? (not A ? Body) ? U
and M Body - ? not A? Body? P ? (A ? Body) ? U
and M Body - Res M P ? U Rej M.
39Equivalence to LP translation
- Theorem
- An interpretation N is a stable model of the
update program P ? U iff N is an extension of a
model M of U such that - M Least(Res M ? Def M)
- Conclusion
- If N is a stable model of P ? U then its
restriction M to the language L is a stable
model of Res M.
40Properties
- Proposition
- If M is a stable model of the union P ? U of
programs P and U , then its extension N is a
stable model of the update program P ? U. - Thus, the semantics of the program P ? U is
always weaker than or equal to the semantics of P
? U. - If either P or U is empty, or if both P and U
are normal programs, then semantics of P ? U and
P ? U coincide.
41Dynamic Program Updates
- Definition
- Let P Ps s? S be a finite or
infinite sequence of generalized logic programs.
The dynamic program update over the sequence of
programs P and at the state s? S is a logic
program ?s P resulting from the successive
updates.
42Dynamic LP example
- Example P P1, P2, P3
- P1 sleep ? not tv_on
- watch_tv ? tv_on
- tv_on ?
- P2 not tv_on ? power_failure
- power_failure ?
- P3 not power_failure ?
- M1 tv_on, watch_tv is the unique stable
model of program ?1 P
43Dynamic LP example (2)
- M2 sleep, power_failure is the unique
stable model of the program ?2P. - M3 tv_on, watch_tv is the unique stable
model of the program ?3P. - Program ?2P is semantically equivalent to
- P1 ?P2.
44Dynamic LP example (3)
- Example P P1, P2, P3, P4
- P1 not fly(X) ? animal(X) P4
animal(X) ? bird(X) - P2 fly(X) ? bird(X) bird(X) ?
penguin(X) - P3 not fly(X) ? penguin(X)
animal(pluto) ? -
bird(duffy) ? -
penguin(tweety) ? - Program ? 4 P has a unique stable model in
which fly(duffy) is true and both fly(pluto) and
fly(tweety) are false.