<?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 March-2007, March 2007.
Process 20941 was started by mccune on cleo,
Mon Mar 19 17:01:22 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="59">
    <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="61">
    <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="68">
    <literal><![CDATA[
      $F
    ]]></literal>
    <justification jstring="[ur(7,a,43,a,c,61,a),unit_del(a,59)].">
      <j1 rule="ur" parents="7 43 61"/>
      <j2 rule="unit_del" parents="59"/>
    </justification>
  </clause>

</proof>

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

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

  <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="20" type="assumption">
    <literal><![CDATA[
      A = B
    ]]></literal>
    <literal><![CDATA[
      member(f5(B,A),B)
    ]]></literal>
    <literal><![CDATA[
      member(f6(B,A),A)
    ]]></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="58">
    <literal><![CDATA[
      member(f6(empty_set,difference(c1,c2)),difference(c1,c2))
    ]]></literal>
    <justification jstring="[resolve(35,a,20,a),unit_del(a,10)].">
      <j1 rule="resolve" parents="35 20"/>
      <j2 rule="unit_del" parents="10"/>
    </justification>
  </clause>

  <clause id="63">
    <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="83">
    <literal><![CDATA[
      -member(f6(empty_set,difference(c1,c2)),c2)
    ]]></literal>
    <justification jstring="[resolve(58,a,9,b)].">
      <j1 rule="resolve" parents="58 9"/>
    </justification>
  </clause>

  <clause id="84">
    <literal><![CDATA[
      member(f6(empty_set,difference(c1,c2)),c1)
    ]]></literal>
    <justification jstring="[resolve(58,a,8,b)].">
      <j1 rule="resolve" parents="58 8"/>
    </justification>
  </clause>

  <clause id="103">
    <literal><![CDATA[
      $F
    ]]></literal>
    <justification jstring="[ur(63,b,83,a),unit_del(a,84)].">
      <j1 rule="ur" parents="63 83"/>
      <j2 rule="unit_del" parents="84"/>
    </justification>
  </clause>

</proof>

</proofs>
