<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE proofs SYSTEM "proof3.dtd">

<?xml-stylesheet type="text/xsl" href="proof3.xsl"?>

<proofs number_of_proofs="2">

<source>SET587+3.out</source>

<heading><![CDATA[
FOF-Prover9 (32) version 22-May-2007, May 2007.
Process 27376 was started by mccune on cleo,
Tue May 22 14:45:14 2007
The command was "/home/mccune/bin/fof-prover9 -f SET587+3.in".
]]></heading>

<proof number="1" length="11" max_count="11">

<comments><![CDATA[
% Proof 1 at 0.01 (+ 0.00) seconds.
% Length of proof is 11.
% Level of proof is 3.
% Maximum clause weight is 11.
% Given clauses 42.
]]></comments>

  <clause id="7" type="assumption">
    <literal><![CDATA[
      member(A,difference(B,C))
    ]]></literal>
    <literal><![CDATA[
      -member(A,B)
    ]]></literal>
    <literal><![CDATA[
      member(A,C)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="10" type="assumption">
    <literal><![CDATA[
      -member(A,empty_set)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="11" type="assumption">
    <literal><![CDATA[
      subset(A,B)
    ]]></literal>
    <literal><![CDATA[
      member(f3(A,B),A)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="12" type="assumption">
    <literal><![CDATA[
      subset(A,B)
    ]]></literal>
    <literal><![CDATA[
      -member(f3(A,B),B)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="35" type="assumption">
    <literal><![CDATA[
      difference(c1,c2) = empty_set
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="36">
    <literal><![CDATA[
      empty_set = difference(c1,c2)
    ]]></literal>
    <justification jstring="[copy(35),flip(a)].">
      <j1 rule="copy" parents="35"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="37" type="assumption">
    <literal><![CDATA[
      -subset(c1,c2)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="43">
    <literal><![CDATA[
      -member(A,difference(c1,c2))
    ]]></literal>
    <justification jstring="[back_rewrite(10),rewrite([36(1)])].">
      <j1 rule="back_rewrite" parents="10"/>
      <j2 rule="rewrite" parents="36"/>
    </justification>
  </clause>

  <clause id="79">
    <literal><![CDATA[
      member(f3(c1,c2),c1)
    ]]></literal>
    <justification jstring="[resolve(37,a,11,a)].">
      <j1 rule="resolve" parents="37 11"/>
    </justification>
  </clause>

  <clause id="81">
    <literal><![CDATA[
      -member(f3(c1,c2),c2)
    ]]></literal>
    <justification jstring="[ur(12,a,37,a)].">
      <j1 rule="ur" parents="12 37"/>
    </justification>
  </clause>

  <clause id="117">
    <literal><![CDATA[
      $F
    ]]></literal>
    <justification jstring="[ur(7,a,43,a,c,81,a),unit_del(a,79)].">
      <j1 rule="ur" parents="7 43 81"/>
      <j2 rule="unit_del" parents="79"/>
    </justification>
  </clause>

</proof>

<proof number="2" length="13" max_count="19">

<comments><![CDATA[
% Proof 1 at 0.02 (+ 0.00) seconds.
% Length of proof is 13.
% Level of proof is 4.
% Maximum clause weight is 19.
% Given clauses 56.
]]></comments>

  <clause id="4" type="assumption">
    <literal><![CDATA[
      member(f1(A,B),A)
    ]]></literal>
    <literal><![CDATA[
      member(f2(A,B),B)
    ]]></literal>
    <literal><![CDATA[
      B = A
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="8" type="assumption">
    <literal><![CDATA[
      member(A,B)
    ]]></literal>
    <literal><![CDATA[
      -member(A,difference(B,C))
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="9" type="assumption">
    <literal><![CDATA[
      -member(A,B)
    ]]></literal>
    <literal><![CDATA[
      -member(A,difference(C,B))
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="10" type="assumption">
    <literal><![CDATA[
      -member(A,empty_set)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="13" type="assumption">
    <literal><![CDATA[
      -member(A,B)
    ]]></literal>
    <literal><![CDATA[
      member(A,C)
    ]]></literal>
    <literal><![CDATA[
      -subset(B,C)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="35" type="assumption">
    <literal><![CDATA[
      difference(c1,c2) != empty_set
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="36" type="assumption">
    <literal><![CDATA[
      subset(c1,c2)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="43">
    <literal><![CDATA[
      member(f2(A,difference(B,C)),B)
    ]]></literal>
    <literal><![CDATA[
      member(f1(A,difference(B,C)),A)
    ]]></literal>
    <literal><![CDATA[
      difference(B,C) = A
    ]]></literal>
    <justification jstring="[resolve(8,b,4,b)].">
      <j1 rule="resolve" parents="8 4"/>
    </justification>
  </clause>

  <clause id="44">
    <literal><![CDATA[
      -member(f2(A,difference(B,C)),C)
    ]]></literal>
    <literal><![CDATA[
      member(f1(A,difference(B,C)),A)
    ]]></literal>
    <literal><![CDATA[
      difference(B,C) = A
    ]]></literal>
    <justification jstring="[resolve(9,b,4,b)].">
      <j1 rule="resolve" parents="9 4"/>
    </justification>
  </clause>

  <clause id="81">
    <literal><![CDATA[
      -member(A,c1)
    ]]></literal>
    <literal><![CDATA[
      member(A,c2)
    ]]></literal>
    <justification jstring="[resolve(36,a,13,c)].">
      <j1 rule="resolve" parents="36 13"/>
    </justification>
  </clause>

  <clause id="227">
    <literal><![CDATA[
      -member(f2(empty_set,difference(c1,c2)),c2)
    ]]></literal>
    <justification jstring="[ur(44,b,10,a,c,35,a)].">
      <j1 rule="ur" parents="44 10 35"/>
    </justification>
  </clause>

  <clause id="228">
    <literal><![CDATA[
      -member(f2(empty_set,difference(c1,c2)),c1)
    ]]></literal>
    <justification jstring="[ur(81,b,227,a)].">
      <j1 rule="ur" parents="81 227"/>
    </justification>
  </clause>

  <clause id="230">
    <literal><![CDATA[
      $F
    ]]></literal>
    <justification jstring="[resolve(228,a,43,a),unit_del(a,10),unit_del(b,35)].">
      <j1 rule="resolve" parents="228 43"/>
      <j2 rule="unit_del" parents="10"/>
      <j2 rule="unit_del" parents="35"/>
    </justification>
  </clause>

</proof>

</proofs>
