completeness of resolution
play

Completeness of Resolution 5ai We will show by construction: - PowerPoint PPT Presentation

Completeness of Resolution 5ai We will show by construction: AUTOMATED REASONING If clauses S have no models then there is a resolution proof of [] from S . As shown in Slides 4 the construction has two parts : SLIDES 5: (i) find a ground


  1. Completeness of Resolution 5ai We will show by construction: AUTOMATED REASONING If clauses S have no models then there is a resolution proof of [] from S . As shown in Slides 4 the construction has two parts : SLIDES 5: (i) find a ground resolution refutation for some finite subset COMPLETENESS of RESOLUTION of the ground instances of the given clauses, and then Basic idea of Completeness proof (ii) transform this ground refutation to a general refutation (called Lifting ). Semantic Trees Lifting a ground resolution refutation Assume S has no models ; then Resolvents and a Semantic Tree (a) find the appropriate ground instances : Refutations from a Semantic Tree construct a finite closed semantic tree for ground instances G of clauses in S; (b) find a ground refutation : construct a ground resolution refutation from the closed semantic tree for G; KB - AR - 09 (c) find a general refutation : construct a resolution refutation for S from the ground refutation. This works because of the relation between ground and general refutations: 5bi Semantic Tree Example of the relationship between a refutation of ground instances A Semantic Tree for S is an enumeration of all HIs over Sig(L), where S uses of clauses S and a resolution refutation of S (used for Step (c)) language L. Each branch represents a H-interpretation (HI) over Sig(L). 1. Dca ∨ Dcb 2. ¬Dxy ∨ Cxy 3. ¬Tu ∨ ¬Cub 4. Tc 5. ¬Dcz Example: Let Sig(L) = < {P,Q, R, S}, {f}, {a, b} > and Given Px ∨ Ry ∨ ¬Qxy , ¬Sz ∨ ¬Rz, Pu ∨ Qf(v)v, Sa, Sb , ¬Pf(a) ∨ ¬Pf(b) Ground instances: {u == c, x == c, y == b, z == a} Dca ∨ Dcb ¬Dcb ∨ Ccb ¬Tc ∨ ¬Ccb Tc ¬Dca Pa=T Pa=F ¬Dcb ∨ Ccb ¬Ccb ∨ ¬Tc ¬Dca Ground proof Sa=T Sa=F Sa=F Dcb ∨ Dca ¬Dcb ∨ ¬Tc Tc Sa=T Ra=F Ra=T * Sa is false Dcb Ra=F ¬Dcb * ¬ Sz ∨ ¬ Rz is false since Ra=T Each clause in the [ ] ground proof is an ¬Sa ∨ ¬Ra is false * instance of a Resolution proof corrsponding Each finite portion of a branch of a semantic tree gives a partial Herbrand ¬Dxy ∨ Cxy ¬Cub ∨ ¬Tu clause in the Interpretation of S. A branch is terminated (marked *) if it cannot be a model for S. ¬Dza resolution proof. Dcb ∨ Dca eg the leftmost branch falsifies ¬Sa ∨ ¬Ra, instance of ¬Sz ∨ ¬Rz. ¬Dxb ∨ ¬Tx Tc Which other branches falsify a given clause? Any interpretation that uses the assignments in a terminated branch is impossible Dcb ¬Dcb as a model of S. [ ] 5aiii If every branch in a semantic tree for clauses in S is closed then S is unsatisfiable.

  2. 5bii The “Umbrella” Property Illustrating Compactness in a Semantic Tree 5biii • If S has no Hmodels then each H-interpretation must falsify a clause in S; (Node B) • To make a clause C false it is sufficient to make 1 ground instance of C false. Any interpretation that assigns T • Since clauses in S are finite, the falsifying part of the interpretation is found a1=F to a1 and a3 will falsify instance after consideration of a finite number of atoms. a1=T a3=F C3'. Thus all branches of the BUT: Can we be sure there are a finite number of ground instances of S tree through node A (called a a3=T sufficient to be falsified by all the H-interpretations over the signature of S? closure node) can be terminated a2=F at A. a2=T falsifies We can show: If S is unsatisfiable C1 falsifies • • • then there is a finite closed semantic Node B is called a Failure Node. • because tree for S (Called compactness .) • a3=T instance • • • Notice that the two children are falsifies C2' (say) both closure nodes and that the instance C2'= Assume S has no models: • • ground instances C2’ and C1’ C1' a1 ∨ ¬a3 • • • • If the Semantic tree for S were (Node A) =a1 ∨ a3 resolve with each other. • infinite, then there would be an infinite falsifies • • • branch. (Konig’s Lemma) instance • • • • C3' =¬a1 ∨ ¬a3 • • We claim such an infinite branch • would yield a model because: Let the Herbrand Base be {a1,a2,a3,a4,a5,...} The “Umbrella” Property says we can! Let Givens include clauses C1, C2, C3, ....which have as instances • Assume for contradiction the C3’= ¬a1 ∨ ¬a3, C2’=a1 ∨ ¬a3, C1’ = a1 ∨ a3, .... Each dot is an H-interpretation branch did not give a model. Each circle is a ground instance of S The semantic tree yields an unsatisfiable finite set of ground instances of S. • Then the branch could have (one of the finite number) falsified by been finite (by above observations) a number of H-interpretations 5bv How to obtain a ground refutation from a completed semantic tree. How to find a resolvent from a semantic tree. 5biv 1. Dca ∨ ∨ Dcb 2. ¬ Dxy ∨ ∨ ∨ ∨ ∨ ∨ Cxy 3. ¬Tx ∨ ∨ ∨ ¬ Cxb 4. Tc 5. ¬ Dcz ∨ The two children of a failure node Ground instances found from tree: R=F 1g. Dca ∨ ∨ ∨ ∨ Dcb 2g. ¬ Dcb ∨ ∨ Ccb 3g. ¬Tc ∨ ∨ ∨ ∨ ¬ Ccb 4g. Tc 5g. ¬ Dca ∨ ∨ called a failure will resolve by Nodes 1 and 2. node A semantic tree: If atom A is tested, then the Q=F falsifies Resolution steps - clause falsified by the A=F Tc = F Tc =T resolvent process nodes in order. branch will contain A and the (4) Q ∨ R ∨ S Ccb = T x 4 S=F clause falsified by the A=T Ccb =F (1): (left) 5g; (right) 1g; (3) branch will contain ¬A. => Dcb (6g and is false) P=T x 3 Dcb = F P=F (2) Dcb = T (2): (left) 2g; (right) 6g The resolvent willl be false at the => Ccb (7g and is false) Dca = F failure node. WHY? x 2 Dca= T (1) eg falsifies eg falsifies ¬P ∨ S (3): (left) 3g; (right) 7g P ∨ Q ∨ R x 5 => ¬ Tc (8g and is false) makes P true x 1 Therefore, the resolvent cannot Note1 : (4): (left) 8g; (right) 4g and S false be a tautology. Why? i.e. falsifies the false clause => [] Note2 : clause 1 must include P The resolvent can be added to the false clause the falsifying ground instances must include ¬P Check that at each failure node to be processed false clauses can be and will allow a smaller tree to be resolved and that if atom A is tested, then left clause contains ¬A and right obtained, since the failure node clause contains A. (Assumes left branch of test makes A=T, right branch will now become a closure node. makes A = F.) Also check that the resolvent is false at the processed node.

Recommend


More recommend