Solving Predicate Logic Proof Problem with Resolution Refutation

In summary: This proves that if X may know Y, then Y may know X. This can also be shown using the clauses c1-c6. In summary, the simplified model of the "People you may know" application in Facebook considers the common friend relationship and the symmetric nature of the "friend" relation. Using resolution refutation and the given clauses, it can be proven that if X may know Y, then Y may know X.
  • #1
houndstooth
1
0
I have a question on my assignment that I'm having a great deal of trouble with.

In this question we will
consider a simplified model of the “People you may know” application in Facebook. The
basic idea is that if two people have a common friend, then they may know each other. We
will also take into account the fact in Facebook the relation “friend” is symmetric, that is,
if X is a friend of Y , then Y is a friend of X.
Thus, as a problem description P, we have the following two predicate logic sentences:

8X8Y [(9Z(friend(X, Z) ^ friend(Z, Y ))) $ may know(X, Y )]
8X8Y [friend(X, Y ) ! friend(Y,X)]

Our goal is to show, using resolution refutation, that the following sentence g is implied by P:

8X8Y [may know(X, Y ) ! may know(Y,X)].

8 = universal quantifier
9 = existential quantifier
$ = biconditional
! = implication

I have been able to derive the following clauses (this is for a logical programming class):

c1: may_know(X,Y) :- friend(X,T), friend(T,Y)
c2: friend(X,f(X,Y,T)) :- may_know(X,Y)
c3: friend(f(X,Y,T),Y) :- may_know(X,Y)
c4: friend(Y,X) :- friend(X,Y)
c5: may_know(d,e) :-
c6: :- may_know(e,d)

I've attempted linear refutation which won't work. The question goes on to advise that you prove g from p "using your normal, mathematical, reasoning. Then, try to re-create the steps of your proof using resolution on your clauses." This is where I'm stuck, I'm not sure how I can prove g from p using either my clauses or my ordinary mathematical reasoning. Any help with this would be greatly appreciated.
 
Physics news on Phys.org
  • #2
If X may know Y, then by the first statement, there exists a Z such that X is a friend of Z and Z is a friend of Y. This means, by application of the second statement, that Y is a friend of Z and Z is a friend of X. So by the first statement, Y may know X
 
  • #3


I understand your struggle with this problem as it involves complex concepts such as predicate logic and resolution refutation. However, it is important to approach this problem with a clear and logical mindset in order to find a solution.

Firstly, let's break down the problem into simpler parts. The given problem description states that if two people have a common friend, then they may know each other. We can represent this in predicate logic as 8X8Y [(9Z(friend(X, Z) ^ friend(Z, Y ))) $ may know(X, Y )]. This can be read as "For all X and Y, if there exists a Z such that X and Z are friends and Z and Y are friends, then X and Y may know each other."

The next sentence in the problem description states that the relation "friend" is symmetric, meaning that if X is a friend of Y, then Y is a friend of X. This can be represented as 8X8Y [friend(X, Y ) ! friend(Y,X)]. This can be read as "For all X and Y, if X is a friend of Y, then Y is a friend of X."

Now, our goal is to show that 8X8Y [may know(X, Y ) ! may know(Y,X)] is implied by the given sentences. This can be read as "For all X and Y, if X and Y may know each other, then Y and X may know each other."

To prove this using resolution refutation, we need to first convert the given sentences into conjunctive normal form (CNF). This involves breaking down the sentences into a series of clauses. The clauses that you have derived are a good starting point, but we need to make a few modifications in order to reach our goal.

Let's start with clause c1: may_know(X,Y) :- friend(X,T), friend(T,Y). This clause represents the first part of the problem description - if two people have a common friend, then they may know each other. However, we need to modify this clause in order to include the second part of the problem description - the symmetric nature of the "friend" relation. We can do this by adding another clause: may_know(X,Y) :- friend(Y,T), friend(T,X). This clause represents the idea that if Y is a friend of T and T is a friend of X, then X and Y
 

1. How do I approach solving a predicate logic proof problem using resolution refutation?

To solve a predicate logic proof problem using resolution refutation, you should first convert the given sentences into clauses and then create a knowledge base by taking the negation of the statement to be proven. Next, use the resolution rule to derive new clauses until you reach a contradiction. If a contradiction is found, then the statement to be proven is true. If not, the statement is false.

2. What is the resolution rule and how does it work in predicate logic?

The resolution rule is a logical inference rule that allows you to derive new clauses from given clauses. In predicate logic, the resolution rule states that if two clauses contain complementary literals (one literal is the negation of the other), then you can resolve the two clauses by removing the complementary literals and combining the remaining literals. This process can be repeated until a contradiction is reached or until no new clauses can be derived.

3. Can you provide an example of solving a predicate logic proof problem using resolution refutation?

Sure, let's say we have the following knowledge base: (P ∨ Q), (¬Q ∨ R), (¬P ∨ ¬R). To prove the statement (¬P ∨ ¬Q), we first take the negation of the statement and add it to the knowledge base: (P ∨ Q), (¬Q ∨ R), (¬P ∨ ¬R), ¬(¬P ∨ ¬Q). Then, we apply the resolution rule by resolving (P ∨ Q) and (¬P ∨ ¬Q) to get (¬P ∨ Q). Next, we resolve (¬Q ∨ R) and (¬P ∨ Q) to get (¬P ∨ R). Finally, we resolve (¬P ∨ ¬R) and (¬P ∨ R) to reach a contradiction. Therefore, the statement (¬P ∨ ¬Q) is proven to be true.

4. What are some common pitfalls to avoid when solving predicate logic proof problems with resolution refutation?

One common pitfall is not properly converting the given sentences into clauses. It's important to break down complex sentences into simpler clauses and to use the correct notation for logical connectives. Another pitfall is not keeping track of the resolved clauses and accidentally deriving the same clause multiple times. It's also important to carefully apply the resolution rule and to double check the validity of each derived clause.

5. Can resolution refutation be used to solve all predicate logic proof problems?

No, resolution refutation can only be used to solve problems that can be converted into clauses. This means that the sentences must be in conjunctive normal form (CNF). Additionally, resolution refutation is not complete, meaning that it cannot prove all valid statements. Therefore, some predicate logic proof problems may require different approaches for solving.

Similar threads

  • Engineering and Comp Sci Homework Help
Replies
1
Views
1K
  • Set Theory, Logic, Probability, Statistics
Replies
5
Views
243
  • Engineering and Comp Sci Homework Help
Replies
1
Views
1K
Changing the Statement Combinatorial proofs & Contraposition
  • Math Proof Training and Practice
Replies
5
Views
816
  • Calculus and Beyond Homework Help
Replies
2
Views
1K
  • Set Theory, Logic, Probability, Statistics
Replies
3
Views
2K
  • Set Theory, Logic, Probability, Statistics
Replies
3
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
1K
  • Set Theory, Logic, Probability, Statistics
Replies
1
Views
819
  • Calculus and Beyond Homework Help
Replies
4
Views
251
Back
Top