1
$\begingroup$

I got the following first order logic sentences: (s,t : are sets , In,Intersection,Subset are operation on sets , and x elements of the sets)

  • A: (∀x)(∀s)(∀t) (In(x,s) ∧ In(x,t) ↔ In(x,Intersection(s,t))
  • B: (∀s)(∀t) ( (∀x) (In(x,s) → In(x,t) )→ SubsetOf(s,t))
  • C: (∀s)(∀t) SubsetOf(Intersection(s,t),s)

Given the assumptions A and B , I need to prove C with resolution.

I converted them to CNF form :

A: ((¬In(x,Intersection(s,t)) ∨ In(x,s)) ∧ (¬In(x,Intersection(s,t)) ∨ In(x,t)) ∧ (¬In(x,s) ∨ ¬In(x,t) ∨ In(x,Intersection(s,t))))

B: ((In(f(s,t),s) ∨ SubsetOf(s,t)) ∧ ( ¬In(f(s,t),t) ∨ SubsetOf(s,t)))

Conclusion
C: SubsetOf(Intersection(s,t),s)
Denial  
¬C: ¬SubsetOf(Intersection(c1,c2),c1)

But , I don't know where to start or how to prove the C goal. I can't seem to find proper inference rules. Any ideas how to prove the above ?

  • 0
    The "porper inference rule" is the [Resolution](https://en.wikipedia.org/wiki/Resolution_(logic)) procedure.2017-01-15
  • 0
    Why do you introduce `f` in the CNF for B?2017-01-15
  • 0
    skolemization !2017-01-15
  • 0
    @FabioSomenzi It's because the $\forall x$ is in the antecedent on the inside, meaning that if you pull it out to get into Prenex form, it becomes $\exists x$ after the $\forall s \forall t$ and so when Skolemizing you need to use a function.2017-01-15
  • 0
    @HakiTerror P.s. I did check your work of putting it into CNF and that looks all correct!2017-01-15
  • 0
    My bad, I didn't read carefully.2017-01-15

2 Answers 2

1

OK, first you need to get clauses, i.e. break up the conjunctions so you are left with just disjunctions, giving you the clauses (the clauses are really just disjunctions ... think of the comma's as $\lor$'s ... but we don't show them as such so we can just work with the clauses as sets):

$\{ ¬In(x,Intersection(s,t)) , In(x,s)\}$

$\{ ¬In(x,Intersection(s,t)) , In(x,t) \}$

$\{ (¬In(x,s) , ¬In(x,t) , In(x,Intersection(s,t)) \}$

$ \{ In(f(s,t),s) , SubsetOf(s,t) \}$

$\{ ¬In(f(s,t),t) , SubsetOf(s,t) \}$

$\{ ¬SubsetOf(Intersection(c1,c2),c1) \} $

And now you have to keep picking two clauses that you can resolve, using unification to line up terms.

If you don't know what this means, I recommend looking it up ... but very roughly:

You can resolve any two clauses if one clause contains a statement $P$ and the other clause contains a statement $\neg P$, and the result will be one clause that is the union of those two clauses but with the $P$ and $\neg P$ removed/ E.g. $\{A,B\}$ resolves with $\{\neg B, C,D \}$ to $\{A,C,D\}$ (p.s. you can only resolve on one clause at a time ... a common mistake is that some think that $\{A,B\}$ resolves with $\{\neg A, \neg B, C,D \}$ to $\{C,D\}$ .. No!)

Unification is 'lining up the terms', e.g. if you have claim $P(x)$ in one clause, and $\neg P(c1)$ in another, then in order to resolve them, you first need to substitute $c1$ for all $x$'s in the second clause before resolving.

For example, you can resolve the last two clauses by setting $s$ to $Intersection(c1,c2)$, and $t$ to $c1$, giving you as the two clauses:

$\{ ¬In(f(Intersection(c1,c2),c1),c1) , SubsetOf(Intersection(c1,c2),c1) \}$

(p.s. to be clear: you don't get this as a clause to be added to your clause set, but this is just a temporary step during the resolution inference process )

and

$\{ ¬SubsetOf(Intersection(c1,c2),c1) \} $

So now you have $SubsetOf(Intersection(c1,c2),c1)$ in the first of these two clauses, and the negation of that in the second, meaning that we can resolve, the result of which is all the statements between the two clauses that are not that statement or its negation .. which is only $ ¬In(f(Intersection(c1,c2),c1),c1) $, so the resulting clause is:

$ \{ ¬In(f(Intersection(c1,c2),c1),c1) \} $

Keep doing this until you get the $\{ \}$ clause ... which is the 'empty clause' ... which represents a disjunction with 0 disjuncts ... which is a contradiction since if there are 0 disjuncts, then it is not true that at least of them is true.

So, resolution as an overall proof technique is really a proof by contradiction technique: negate the conclusion, add it to the premises, and try and derive a contradiction.

Here is the start of showing all this a little more formally (and I'll add a few more steps):

  1. $\{ ¬In(x,Intersection(s,t)) , In(x,s)\}$ (given ... from A)

  2. $\{ ¬In(x,Intersection(s,t)) , In(x,t) \}$ (given ... from A)

  3. $\{ (¬In(x,s) , ¬In(x,t) , In(x,Intersection(s,t)) \}$ (given ... from A)

  4. $ \{ In(f(s,t),s) , SubsetOf(s,t) \}$ (given ... from B)

  5. $\{ ¬In(f(s,t),t) , SubsetOf(s,t) \}$ (given ... from B)

  6. $\{ ¬SubsetOf(Intersection(c1,c2),c1) \} $ (negation of conclusion ... C)

  7. $ \{ ¬In(f(Intersection(c1,c2),c1),c1) \} $ Resolution 5,6 with $Intersection(c1,c2)/s, c1/t$

  8. $ \{ In(f(Intersection(c1,c2),c1),Intersection(c1,c2)) \} $ Resolution 4,6 with $Intersection(c1,c2)/s, c1/t$

  9. $ \{ In(f(Intersection(c1,c2),c1),f(Intersection(c1,c2),c1)) \}$ Resolution 1,8 with $c1/s, c2/t, f(Intersection(c1,c2),c1)/x$

  • 0
    Using only inference rules , without ending up with a contraidction, still counts as a resolution2017-01-15
  • 0
    @HakiTerror Resolution as a *rule* is indeed just resolving two clauses. But resolution as a general *technique* of showing that some conclusion follows from some premises, you typically try and reach the empty clause by applying that one resolution rule over and over. ... you *could* start with just the clauses of the premises and see if you end up with the clause of the conclusion, but that's pretty unusual, and typically less efficient, just as proofs by contradiction can often be more more effective and efficient than trying a direct proof in formal proofs in general.2017-01-15
  • 0
    Can you provide an example of resolving two clauses , to my above probelm ? I have been reading about resolution the past 2 days , but I my case , I am pretty worned out confused2017-01-15
  • 0
    @HakiTerror I did that in my answer already, but I'll expand on it to be more clear ... give me a sec ...2017-01-15
0

@Bram28 goes through many of the details. I'll offer a slightly different, but not really contrasting, approach.

In proofs by resolution, the hard part is the choice of the clauses to resolve and the literals to unify. After that, there are algorithms to get a most general unifier. They may be laborious to apply manually, but at least they involve no guesswork.

So, when faced with a proof by resolution, the key point is to come up with a sequence of steps that quickly lead to a contradiction. Avoiding conversion to CNF may speed up the process. One needs prenex normal form, of course, but conversion to CNF can be postponed to when a resolution strategy has been found.

We start from the given premises and the negation of the alleged conclusion.

$$\begin{gather} \forall S, T, x \,. (x \in S \wedge x \in T) \leftrightarrow x \in S \cap T \\ \forall S,T \,. (\forall x \,. x \in S \rightarrow x \in T) \rightarrow S \subseteq T \\ \neg \forall S, T \,. S \cap T \subseteq S \enspace. \end{gather}$$ In prenex normal form, they become $$\begin{align} (1)~~~~~~ & \forall S, T, x \,. (x \in S \wedge x \in T) \leftrightarrow x \in S \cap T \\ (2)~~~~~~ & \forall S,T \,. (F(S,T) \in S \rightarrow F(S,T) \in T) \rightarrow S \subseteq T \\ (3)~~~~~~ & U \cap V \not\subseteq U \enspace, \end{align}$$ where $F$ is a Skolem function, while $U$ and $V$ are Skolem constants. Since (3) asserts that $U \cap V$ and $U$ violate the definition of set inclusion, let's combine it with (2), which is related to the definition of set inclusion.

The substitution $U\cap V/S, U/T$ lets us connect (2) and (3): $$\begin{align} (2')~~~~~~ & (F(U \cap V,U) \in U \cap V \rightarrow F(U \cap V,U) \in U) \rightarrow U \cap V \subseteq U \enspace. \end{align}$$ Resolution of (2') and (3) yields $$\begin{align} (4)~~~~~~ & F(U \cap V,U) \in U \cap V \wedge F(U \cap V,U) \not\in U \enspace, \end{align}$$ because the resolvent of $A \rightarrow B$ and $\neg B$ is $\neg A$.

Note that (4) says something unpalatable: there's an element of $U \cap V$ that is not in $U$. This does not agree with our understanding of intersection and in particular does not agree with (1). So, let's bring (1) in. The substitution that connects (1) to (4) is $F(U \cap V, U)/x, U/S, V/T$. We obtain $$\begin{align} (1')~~~~~~ & (F(U \cap V, U) \in U \wedge F(U \cap V, U) \in V) \leftrightarrow F(U \cap V, U) \in U \cap V \enspace, \end{align}$$ which is immediately seen to contradict (4).

Once the right substitutions and sequence of resolutions are known, re-casting the proof in terms of clauses is not too difficult.