Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Law of thought wikipedia , lookup
Mathematical proof wikipedia , lookup
Intuitionistic logic wikipedia , lookup
Quantum logic wikipedia , lookup
First-order logic wikipedia , lookup
Structure (mathematical logic) wikipedia , lookup
Curry–Howard correspondence wikipedia , lookup
Propositional calculus wikipedia , lookup
Combinatory logic wikipedia , lookup
Propositional formula wikipedia , lookup
Binary Decision Diagrams for First Order Predicate Logic By: Jan Friso Groote Afsaneh Shirazi BDDs for FOL First order predicate logic Binary Decision Diagrams Simple operations on BDDs Advanced operations on BDDs Algorithm Example 2 First Order Predicate Logic V : variables , F : functions , Pr : predicate symbols Terms: x V is a term If f F is a function symbol of arity r and t1,…, tr are terms, then f(t1,…, tr) is a term Set of all terms over F and V is denoted by T(F,V) Set of all predicates of the form P(t1,…,tr) is denoted by P(Pr, F, V) 3 Substitution Substitution is a mapping :V T(F,V) [x1:=t]: maps each variable x to (x), except x1 to t Composition: o (t) = ((t)) We assume that is extended : term to term, predicates to predicates 4 Formulas Formulas are defined by: t, f P(t1, …, tr) P(Pr, F, V) is a formula is a formula and are formulas is a formula is a formula, and x V is a variable x. and x. are formulas Set of all formulas: F (Pr, F, V) 5 Structure and Interpretation A Structure is a ,multi-tuple = <A; R1, R2,…;F1, F2,…> where A is a non empty set R1, R2,… are relations on A F1, F2,… are functions on A Herbrand structures have the form H = <T(F,); R1, R2,…;f1, f2,…> Let be a structure and : V A be a valuation. The interpretation [t ] : T(F, V) A of a term t is defined: [ x] ( x) if x V [ fj (t1,..., tr )] Fj ([t1] ,..., [tr ] ) 6 Interpretation of a formula [ ] : F (Pr, F, V) {0,1} [ f ] 0 [t ] 1 1 if [ t ] ,..., [ t ] 1 r Ri [ pi (t1 ,..., t r )] 0 otherwise [ ] 1 [ ] [ ] min([ ] , [ ] ) [x. ] min aA ([ ] [ x: a ] ) [x. ] max aA ([ ] [ x: a ] ) 7 FOL , ╞ iff [ ] 1 ╞ iff , ╞ unsatisifiable iff for each there is a valuation , , ╞ 8 equivalency strongly (logically) equivalent (,╞ iff ,╞ ) logically equivalent (╞ iff ╞ ) weakly (logically) equivalent ,╞ iff ,╞ No free variables: strong logical equivalence and logical equivalence coincide 9 Binary Decision Diagrams f t A BDD, B (Q, l , , , s,0,1) is an acyclic, node labeled graph where Q : finite set of nodes l : Q {0, 1} P(Pr, F, V) {0, 1} is a node labeling, that l(q) 0, 1 for all qQ f is the false continuation of a node t is the true continuation of a node s Q {0, 1} is a start node 0 is a symbol representing false, and 1 representing truth 0 1 Each sequence q0 q1… is bounded 10 Interpretation of a BDD Let B be a BDD, be a structure and be a valuation. A , -path of a node q0 Q is the sequence 0 1 n 1 q0 q1 ... qn where qn {0,1} and for each i, i = f if , ╞ l(qi) and i = t if , ╞ l(qi) If q0 ends in 1 we say that q0 holds, , ╞ q0 So, A BDD yields a truth value. 11 Bf = 0 Bt = 1 BP(t1, …, tr) = P(t1,…,tr) 0 1 then B = If B = 0 1 If B = 1 0 and B = 0 1 then B = 0 1 0 1 0 1 12 Example P(x) P(x) P(x) 0 1 Q(y) R(z) 0 0 P( x) P( x) 1 ( P( x) Q( y )) R( z ) 13 BDD Let be a (quantifier free) formula and B its corresponding BDD. For each structure and each valuation we find that , ╞ iff , ╞ B Proof: Straightforward on the structure of 14 BDDs for FOL First order predicate logic Binary Decision Diagrams Simple operations on BDDs Advanced operations on BDDs Algorithm Example 15 Neglect Operator f t f t Let B (Q, l , , , s,0,1) be a BDD. Neglect operator is defined for some q, f t p q, pq by: Np ( B) (Q' , l , ' , ' , s' ,0,1) where s if s p s' q if s p Q ' Q \ { p} ' { r1, r 2 | r1 p, r 2 p} { r1, q | r1 p} 16 p,q-join Operator f f t t If l ( p) l (q), p r, p r ' , q r, q r ' then f t J p ,q ( B) (Q' , l , ' , ' , s' ,0,1) where s if s q s' p if s q Q' Q \ {q} ' { r1, r 2 | r 2 q} { r1, p | r1 q} 17 f-merge and f-sort operators f-merge and f-sort operators, sort the BDD such that labels occur in ascending order. Sorting a BDD is NP-hard Avoid sorting a BDD 18 f-merge Operator f If p q, l ( p) l (q) then f t M ( B) (Q' , l , ' , , s,0,1) f p where Q' Q(non reachable parts are removed) f f f ' { r1, r 2 | r1 p, r 2 q} { p, r | p q} 19 f-sort Operator f If p q, l ( p) l (q) then f t S pf ( B) (Q' , l ' , ' , ' , s' ,0,1) where l ( p ) if r p ' l ' ( r ) l ( q ) if r p ' ' l ( r ) otherwise Q ' Q { p ' , p ' '}(non reachable parts are removed) f f f ' { r1, r 2 | r1 p or r 2 p} { r , p ' ' | r p} f t { p ' ' , p } { p ' , r | q r} { p, r | q r} t t t ' { r1, r 2 | r 2 p} { r , p ' ' | r p} t { p ' ' , p ' } { p ' , r | p r} 20 21 Simple Operations on BDDs Lemma: (Soundness) Let B be a BDD. In case O is applicable to B, O(B) B (O is one of N p , J p,q , M tp , M pf , S tp and S pf ) Proof: check that for all structures and valuations , ╞ O(B) iff , ╞ B Definition: B is reduced iff non of the operators is applicable 22 Simple Operations on BDDs Lemma: Let B, C be BDDs pQB and qQC .Let be a structure and a valuation such that , ╞ p and , ╞ q. P(t1,…,tn) : label not occurring in subdags p and q. Then Exists a structure and a valuation , ╞ p, , ╞ q and , ╞ P(t1,…,tn) Exists a structure and a valuation , ╞ p, , ╞ q and , ╞ P(t1,…,tn) 23 Simple Operations on BDDs Lemma: Let B and C be reduced BDDs. pQB and qQC such that p q. Then, l(p) = l(q) pf qf pt qt If B,C are the same, then p=q back 24 Isomorphism Let B and C be BDDs. f: QB{0B,1B} QC{0C,1C} is called homomorphism iff lC(f(p))=lB(p), f(pf ) = f(p)f and f(pt) = f(p)t . In case f is bijective, f is called isomorphism. B = C (isomorphic) if there exists an isomorphism f. 25 Example C B f P(x) Q(x) 0 1 P(x) Q(x) 0 P( x) Q( x) 26 Theorem B and C are reduced BDDs, B C. Then B = C (isomorphic). Proof back 27 Theorem Operators N p , J p,q , M tp , M pf , S tp and S pf can be applied a finite number of times to B. Proof back 28 R(B) Let B be a BDD, C be a reduced BDD, B C. According to theorem C is unique up to an isomorphism and It can be efficiently obtained (Thrm) R(B) for C R(B) = Bt ( tautology) R(B) = Bf ( contradiction) Basis for Propositional Logic 29 Advanced Operations on BDDs Copying Operator C(B): puts B in conjunction with a copy of itself (different variables) Unification Operator U(B): instantiate B according to ( is a relevant unifier) 30 Copy Operator Let B be a BDD in which variables occur. C ( B) B B[ x : x1 ] x 1 not occurring in B x 31 Unifier A substitution is called a unifier of P(t1, …, tn) and Q(u1, …, um) iff (P(t1,…, tn))=(Q(u1,…,um)) A unifier is most general (MGU) iff for each unifier ’ of P(t1,…, tn) and Q(u1,…,um) there is a substitution such that o = ’ Idempotent MGU: ((x)) = x Linear time 32 Relevant Unifier A node p of B is redundant iff pt pf A path 0 1 n 1 n p0 p1 ... pn l is allowed iff there are no i, j such that l(pi)=l(pj) and i j A node is truth-truth capable iff there is an allowed path t 1 n 1 n p p1 ... pn 1 33 Relevant Unifier A valuation is a relevant unifier iff 0 1 n 1 n s p1 ... pn 1 pi is not redundant, if i = f, pi is not truth-truth capable, and for some i, j, i = f, j = t and is an idempotent MGU of l(pi) and l(pj). 34 Lemma Let B be a reduced BDD. No redundant nodes Every path allowed If pi is not truth-truth capable pit = 0 is a relevant unifier iff for some i, j, i=f, j=t and is the MGU of l(pi) and l(pj) on the rightmost path of B 0 1 n 1 n p0 p1 ... pn 1 35 MGU y=a 36 Unification Operator If is a relevant unifier of B U ( B) ( B) Lemma: (Soundness) B C(B) B B U(B) Proof: easy logical consequence back 37 BDDs for FOL First order predicate logic Binary Decision Diagrams Simple operations on BDDs Advanced operations on BDDs Algorithm Example 38 Algorithm Solve( ) B : R ( B ) Avoid expensive sorting operator Repeat TryToReduc e( B ) B : R (C ( B )) Endrepeat All pairs of pi, pj in the rightmost path, with pit=0 and pjt0 Linearly in size of terms TryToReduc e( B ) If B B f , report ' unsatisfia ble' and stop For all relevant unifiers of B TryToReduc e( R (U ( B ))) 39 Algorithm Solve( ) B : R ( B ) Repeat TryToReduc e( B ) B : R (C ( B )) Endrepeat The depth of recursive calls is limited by the number of free variables Avoid sorting by grouping predicates with the same predicate symbol TryToReduc e( B ) If B B f , report ' unsatisfia ble' and stop For all relevant unifiers of B TryToReduc e( R (U ( B ))) 40 Algorithm Solve( ) B : R ( B ) Repeat TryToReduc e( B ) B : R (C ( B )) R(U 1 ( R(U 2 (...R(C (...R(C ( B )))))))) Endrepeat TryToReduc e( B ) If B B f , report ' unsatisfia ble' and stop For all relevant unifiers of B TryToReduc e( R (U ( B ))) 41 Algorithm The program is browsing through larger and larger BDDs of the form R(U 1 ( R(U 2 (...R(C (...R(C ( B )))))))) We stop: Bf Lemma Bt 42 Russel’s Paradox A set which contains those sets that are not members of themselves F(x,y): x is a member of y Problem: xy ( F ( y, x) F ( y, y )) negated and Skolemised formula F ( y , a ) F ( y , y ) 43 Russel’s Paradox F ( y , a ) F ( y , y ) (y) = a Example 44 Thank You 45 Appendix A Thrm: B and C are reduced BDDs, B C. Then B = C (isomorphic). Proof: Define f: QBQC and g: QCQB f(p) = q such that p q g(q) = p such that p q f is a homomorphism, g is the inverse of f f is an isomorphism We assumed f and g are well defined. 46 Proof B C and all nodes in B are reachable from the root each node in B is related via to 1 node in C p related to q1,q2 q1 q2 q1 = q2 (using thrm) back 47 Appendix B Proof: The transformation operators can be formulated as rewrite rules.l1 and l2 are predicates. l1 > l2 l1 (l2 ( x, y ), z ) l2 (l1 ( x, z ), l1 ( y, z )) S pf l1 ( x, l2 ( y, z )) l2 (l1 ( x, z ), l1 ( y, z )) S tp l1 ( x, x) x Np l1 (l1 ( x, y ), z ) l1 ( x, z ) M pf l1 ( x, l1 ( y, z )) l1 ( x, z ) M tp 48 Proof To each DAG we can obtain its canonical tree by undoing the sharing of subdags. Application of these rules must terminate on these trees. Each rewrite of the DAG corresponds to one or more rewrite of canonical tree. In Join operator the number of nodes are strictly decreasing It should terminate back 49 Appendix C A set is circular if it is a member of another set, which in turn is a member of the original. There is no set containing all non circular sets. Problem: yx( F ( x, y ) z ( F ( x, z ) F ( z, x))) negated and Skolemised formula (a, f are skolem functions) ( F ( x, a ) ( F ( x, z ) F ( z , x))) (( F ( x, f ( x)) F ( f ( x), x)) F ( x, a)) 50 There are no circular sets Two relevant unifier: 1. Mapping z and x to a 2. Mapping x to z ( F ( x, a ) ( F ( x, z ) F ( z , x))) (( F ( x, f ( x)) F ( f ( x), x)) F ( x, a)) 51 There are no circular sets We must apply copying operator. 6 relevant unifier: 1. x:=a z:=a 2. u:=a v:=a 3. x:=v u:=a 4. u:=z x:=a 5. z:=x 6. v:=u 52 There are no circular sets We apply first unifier. 4 relevant unifier: 1. u:=f(a) v:=a 2. u:=a v:=a 3. u:=a 4. v:=u back 53