October 13th, 2003 (all 6's in these notes are to represent a Greeek small delta, and all 0's except s0's represent capital phi) From previous class ---------------------------- D : a causes f if p1 .. pm, -q1 .. -qn. O : initially f. querry f after a1 .. an. how do you define that from (D, O) |= f after a1 .. an. 0: states x action -> states 60: intial state ----------------------------- load causes loaded shoot causes -alive if loaded. intially alive. ----------------------------- 0(6, a) = things true in the world before a plus the fluent results from a (or removed if a resutls in a negative fluent). 0(6, a) = ( 6 U Pa6 ) \ Na6 if Pa6 intersection Na6 = 0 otherwise undefined. Pa6 = {f : a causes f if p1 ... pm, -q1 ... -pn exists in D p1 ... pm are in 6, none of q1 ... qn are in 6 q1 ... qn} intersection 6= 0 } Na6 = {-f : a causes f if p1 ... pm, -q1 ... -qn exists in D p1 ... pm are in 6, none of q1 ... qn are in 6 q1 ... qn} intersection 6= 0 } 60 is an intial state for (D, O) if (i) for all intially f in 0 f exists in 60 and (ii) for al initally -f in O f not exists in 60 (D, O) |= f after a1 .. an if and only if for all intially states 60 of (D, O) f is true in 0( ... 0(0(60, a1), a2 ... an) ------------------------------------------------------------ example: -Assume O is complete. assume closed world holds(alive, s0). s0 - intial situation. holds(loaded, res(load, S)) <- . res(a, s) - situation reached after executing a in situation s. ab(alive, shoot, S) <- holds(loaded, S). holds(F, res(A, S)) <- holds(F, S), not ab(F, A, S). -alive is proved by the closed world assumption, because alive can not be proved in S after shoot. can not be proven. holds(alive, res(shot, res(load, s0))) holds(alive, res(load, s0)), can be proven by the frame rule, but alive can not be proven after shoot.