<?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>SET668+3.out</source>

<heading><![CDATA[
FOF-Prover9 (32) version 2009-02A, February 2009.
Process 11575 was started by mccune on cleo,
Wed Feb 25 09:32:37 2009
The command was "/home/mccune/bin/fof-prover9 -f SET668+3.in".
]]></heading>

<proof number="1" length="39" max_count="24">

<comments><![CDATA[
% Proof 1 at 0.50 (+ 0.01) seconds.
% Length of proof is 39.
% Level of proof is 8.
% Maximum clause weight is 24.
% Given clauses 509.

]]></comments>

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

  <clause id="12" type="assumption">
    <literal><![CDATA[
      -ilf_type(A,set_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(B,set_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(C,set_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(D,relation_type(A,B))
    ]]></literal>
    <literal><![CDATA[
      -subset(identity_relation_of(C),D)
    ]]></literal>
    <literal><![CDATA[
      subset(C,domain(A,B,D))
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

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

  <clause id="45" type="assumption">
    <literal><![CDATA[
      -ilf_type(A,set_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(B,set_type)
    ]]></literal>
    <literal><![CDATA[
      ilf_type(B,member_type(power_set(A)))
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(B,subset_type(A))
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="53" type="assumption">
    <literal><![CDATA[
      -ilf_type(A,set_type)
    ]]></literal>
    <literal><![CDATA[
      -empty(power_set(A))
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="56" type="assumption">
    <literal><![CDATA[
      -ilf_type(A,set_type)
    ]]></literal>
    <literal><![CDATA[
      empty(B)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(B,set_type)
    ]]></literal>
    <literal><![CDATA[
      member(A,B)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(A,member_type(B))
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="75" type="assumption">
    <literal><![CDATA[
      -ilf_type(A,set_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(B,set_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(C,relation_type(A,B))
    ]]></literal>
    <literal><![CDATA[
      domain_of(C) = domain(A,B,C)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="76">
    <literal><![CDATA[
      -ilf_type(A,set_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(B,set_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(C,relation_type(A,B))
    ]]></literal>
    <literal><![CDATA[
      domain(A,B,C) = domain_of(C)
    ]]></literal>
    <justification jstring="[copy(75),flip(d)].">
      <j1 rule="copy" parents="75"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="77" type="assumption">
    <literal><![CDATA[
      -ilf_type(A,set_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(B,set_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(C,relation_type(A,B))
    ]]></literal>
    <literal><![CDATA[
      ilf_type(domain(A,B,C),subset_type(A))
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="81" type="assumption">
    <literal><![CDATA[
      ilf_type(A,set_type)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="82" type="assumption">
    <literal><![CDATA[
      ilf_type(c4,relation_type(c3,c2))
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="83" type="assumption">
    <literal><![CDATA[
      subset(identity_relation_of(c3),c4)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="84" type="assumption">
    <literal><![CDATA[
      domain(c3,c2,c4) != c3
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="156">
    <literal><![CDATA[
      -ilf_type(A,relation_type(B,C))
    ]]></literal>
    <literal><![CDATA[
      ilf_type(domain(B,C,A),subset_type(B))
    ]]></literal>
    <justification jstring="[back_unit_del(77),unit_del(a,81),unit_del(b,81)].">
      <j1 rule="back_unit_del" parents="77"/>
      <j2 rule="unit_del" parents="81"/>
      <j2 rule="unit_del" parents="81"/>
    </justification>
  </clause>

  <clause id="157">
    <literal><![CDATA[
      -ilf_type(A,relation_type(B,C))
    ]]></literal>
    <literal><![CDATA[
      domain(B,C,A) = domain_of(A)
    ]]></literal>
    <justification jstring="[back_unit_del(76),unit_del(a,81),unit_del(b,81)].">
      <j1 rule="back_unit_del" parents="76"/>
      <j2 rule="unit_del" parents="81"/>
      <j2 rule="unit_del" parents="81"/>
    </justification>
  </clause>

  <clause id="164">
    <literal><![CDATA[
      empty(A)
    ]]></literal>
    <literal><![CDATA[
      member(B,A)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(B,member_type(A))
    ]]></literal>
    <justification jstring="[back_unit_del(56),unit_del(a,81),unit_del(c,81)].">
      <j1 rule="back_unit_del" parents="56"/>
      <j2 rule="unit_del" parents="81"/>
      <j2 rule="unit_del" parents="81"/>
    </justification>
  </clause>

  <clause id="166">
    <literal><![CDATA[
      -empty(power_set(A))
    ]]></literal>
    <justification jstring="[back_unit_del(53),unit_del(a,81)].">
      <j1 rule="back_unit_del" parents="53"/>
      <j2 rule="unit_del" parents="81"/>
    </justification>
  </clause>

  <clause id="167">
    <literal><![CDATA[
      -member(A,B)
    ]]></literal>
    <literal><![CDATA[
      member(A,C)
    ]]></literal>
    <literal><![CDATA[
      -member(B,power_set(C))
    ]]></literal>
    <justification jstring="[back_unit_del(52),unit_del(a,81),unit_del(b,81),unit_del(c,81)].">
      <j1 rule="back_unit_del" parents="52"/>
      <j2 rule="unit_del" parents="81"/>
      <j2 rule="unit_del" parents="81"/>
      <j2 rule="unit_del" parents="81"/>
    </justification>
  </clause>

  <clause id="171">
    <literal><![CDATA[
      ilf_type(A,member_type(power_set(B)))
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(A,subset_type(B))
    ]]></literal>
    <justification jstring="[back_unit_del(45),unit_del(a,81),unit_del(b,81)].">
      <j1 rule="back_unit_del" parents="45"/>
      <j2 rule="unit_del" parents="81"/>
      <j2 rule="unit_del" parents="81"/>
    </justification>
  </clause>

  <clause id="181">
    <literal><![CDATA[
      subset(A,B)
    ]]></literal>
    <literal><![CDATA[
      -member(f2(A,B),B)
    ]]></literal>
    <justification jstring="[back_unit_del(23),unit_del(a,81),unit_del(b,81)].">
      <j1 rule="back_unit_del" parents="23"/>
      <j2 rule="unit_del" parents="81"/>
      <j2 rule="unit_del" parents="81"/>
    </justification>
  </clause>

  <clause id="182">
    <literal><![CDATA[
      subset(A,B)
    ]]></literal>
    <literal><![CDATA[
      member(f2(A,B),A)
    ]]></literal>
    <justification jstring="[back_unit_del(22),unit_del(a,81),unit_del(b,81)].">
      <j1 rule="back_unit_del" parents="22"/>
      <j2 rule="unit_del" parents="81"/>
      <j2 rule="unit_del" parents="81"/>
    </justification>
  </clause>

  <clause id="191">
    <literal><![CDATA[
      -ilf_type(A,relation_type(B,C))
    ]]></literal>
    <literal><![CDATA[
      -subset(identity_relation_of(D),A)
    ]]></literal>
    <literal><![CDATA[
      subset(D,domain(B,C,A))
    ]]></literal>
    <justification jstring="[back_unit_del(12),unit_del(a,81),unit_del(b,81),unit_del(c,81)].">
      <j1 rule="back_unit_del" parents="12"/>
      <j2 rule="unit_del" parents="81"/>
      <j2 rule="unit_del" parents="81"/>
      <j2 rule="unit_del" parents="81"/>
    </justification>
  </clause>

  <clause id="192">
    <literal><![CDATA[
      -subset(A,B)
    ]]></literal>
    <literal><![CDATA[
      -subset(B,A)
    ]]></literal>
    <literal><![CDATA[
      B = A
    ]]></literal>
    <justification jstring="[back_unit_del(11),unit_del(a,81),unit_del(b,81)].">
      <j1 rule="back_unit_del" parents="11"/>
      <j2 rule="unit_del" parents="81"/>
      <j2 rule="unit_del" parents="81"/>
    </justification>
  </clause>

  <clause id="199">
    <literal><![CDATA[
      ilf_type(domain(c3,c2,c4),subset_type(c3))
    ]]></literal>
    <justification jstring="[resolve(156,a,82,a)].">
      <j1 rule="resolve" parents="156 82"/>
    </justification>
  </clause>

  <clause id="200">
    <literal><![CDATA[
      domain(c3,c2,c4) = domain_of(c4)
    ]]></literal>
    <justification jstring="[resolve(157,a,82,a)].">
      <j1 rule="resolve" parents="157 82"/>
    </justification>
  </clause>

  <clause id="201">
    <literal><![CDATA[
      ilf_type(domain_of(c4),subset_type(c3))
    ]]></literal>
    <justification jstring="[back_rewrite(199),rewrite([200(4)])].">
      <j1 rule="back_rewrite" parents="199"/>
      <j2 rule="rewrite" parents="200"/>
    </justification>
  </clause>

  <clause id="202">
    <literal><![CDATA[
      domain_of(c4) != c3
    ]]></literal>
    <justification jstring="[back_rewrite(84),rewrite([200(4)])].">
      <j1 rule="back_rewrite" parents="84"/>
      <j2 rule="rewrite" parents="200"/>
    </justification>
  </clause>

  <clause id="263">
    <literal><![CDATA[
      -ilf_type(c4,relation_type(A,B))
    ]]></literal>
    <literal><![CDATA[
      subset(c3,domain(A,B,c4))
    ]]></literal>
    <justification jstring="[resolve(191,b,83,a)].">
      <j1 rule="resolve" parents="191 83"/>
    </justification>
  </clause>

  <clause id="264">
    <literal><![CDATA[
      -subset(A,B)
    ]]></literal>
    <literal><![CDATA[
      A = B
    ]]></literal>
    <literal><![CDATA[
      member(f2(B,A),B)
    ]]></literal>
    <justification jstring="[resolve(192,a,182,a)].">
      <j1 rule="resolve" parents="192 182"/>
    </justification>
  </clause>

  <clause id="298">
    <literal><![CDATA[
      ilf_type(domain_of(c4),member_type(power_set(c3)))
    ]]></literal>
    <justification jstring="[resolve(201,a,171,b)].">
      <j1 rule="resolve" parents="201 171"/>
    </justification>
  </clause>

  <clause id="478">
    <literal><![CDATA[
      member(domain_of(c4),power_set(c3))
    ]]></literal>
    <justification jstring="[resolve(298,a,164,c),unit_del(a,166)].">
      <j1 rule="resolve" parents="298 164"/>
      <j2 rule="unit_del" parents="166"/>
    </justification>
  </clause>

  <clause id="482">
    <literal><![CDATA[
      -member(A,domain_of(c4))
    ]]></literal>
    <literal><![CDATA[
      member(A,c3)
    ]]></literal>
    <justification jstring="[resolve(478,a,167,c)].">
      <j1 rule="resolve" parents="478 167"/>
    </justification>
  </clause>

  <clause id="4660">
    <literal><![CDATA[
      subset(c3,domain_of(c4))
    ]]></literal>
    <justification jstring="[resolve(263,a,82,a),rewrite([200(5)])].">
      <j1 rule="resolve" parents="263 82"/>
      <j2 rule="rewrite" parents="200"/>
    </justification>
  </clause>

  <clause id="4695">
    <literal><![CDATA[
      -subset(domain_of(c4),c3)
    ]]></literal>
    <justification jstring="[resolve(4660,a,192,b),flip(b),unit_del(b,202)].">
      <j1 rule="resolve" parents="4660 192"/>
      <j2 rule="flip"/>
      <j2 rule="unit_del" parents="202"/>
    </justification>
  </clause>

  <clause id="4744">
    <literal><![CDATA[
      member(f2(domain_of(c4),c3),domain_of(c4))
    ]]></literal>
    <justification jstring="[resolve(264,a,4660,a),flip(a),unit_del(a,202)].">
      <j1 rule="resolve" parents="264 4660"/>
      <j2 rule="flip"/>
      <j2 rule="unit_del" parents="202"/>
    </justification>
  </clause>

  <clause id="4746">
    <literal><![CDATA[
      -member(f2(domain_of(c4),c3),c3)
    ]]></literal>
    <justification jstring="[ur(181,a,4695,a)].">
      <j1 rule="ur" parents="181 4695"/>
    </justification>
  </clause>

  <clause id="4751">
    <literal><![CDATA[
      $F
    ]]></literal>
    <justification jstring="[ur(482,b,4746,a),unit_del(a,4744)].">
      <j1 rule="ur" parents="482 4746"/>
      <j2 rule="unit_del" parents="4744"/>
    </justification>
  </clause>

</proof>

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

<comments><![CDATA[
% Proof 1 at 0.38 (+ 0.02) seconds.
% Length of proof is 13.
% Level of proof is 5.
% Maximum clause weight is 24.
% Given clauses 471.

]]></comments>

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

  <clause id="78" type="assumption">
    <literal><![CDATA[
      -ilf_type(A,set_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(B,set_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(C,relation_type(A,B))
    ]]></literal>
    <literal><![CDATA[
      range_of(C) = range(A,B,C)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="79">
    <literal><![CDATA[
      -ilf_type(A,set_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(B,set_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(C,relation_type(A,B))
    ]]></literal>
    <literal><![CDATA[
      range(A,B,C) = range_of(C)
    ]]></literal>
    <justification jstring="[copy(78),flip(d)].">
      <j1 rule="copy" parents="78"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="81" type="assumption">
    <literal><![CDATA[
      ilf_type(A,set_type)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="82" type="assumption">
    <literal><![CDATA[
      ilf_type(c4,relation_type(c3,c2))
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="83" type="assumption">
    <literal><![CDATA[
      subset(identity_relation_of(c3),c4)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="155">
    <literal><![CDATA[
      -ilf_type(A,relation_type(B,C))
    ]]></literal>
    <literal><![CDATA[
      range(B,C,A) = range_of(A)
    ]]></literal>
    <justification jstring="[back_unit_del(79),unit_del(a,81),unit_del(b,81)].">
      <j1 rule="back_unit_del" parents="79"/>
      <j2 rule="unit_del" parents="81"/>
      <j2 rule="unit_del" parents="81"/>
    </justification>
  </clause>

  <clause id="190">
    <literal><![CDATA[
      -ilf_type(A,relation_type(B,C))
    ]]></literal>
    <literal><![CDATA[
      -subset(identity_relation_of(D),A)
    ]]></literal>
    <literal><![CDATA[
      subset(D,range(B,C,A))
    ]]></literal>
    <justification jstring="[back_unit_del(13),unit_del(a,81),unit_del(b,81),unit_del(c,81)].">
      <j1 rule="back_unit_del" parents="13"/>
      <j2 rule="unit_del" parents="81"/>
      <j2 rule="unit_del" parents="81"/>
      <j2 rule="unit_del" parents="81"/>
    </justification>
  </clause>

  <clause id="197">
    <literal><![CDATA[
      range(c3,c2,c4) = range_of(c4)
    ]]></literal>
    <justification jstring="[resolve(155,a,82,a)].">
      <j1 rule="resolve" parents="155 82"/>
    </justification>
  </clause>

  <clause id="199">
    <literal><![CDATA[
      -subset(c3,range_of(c4))
    ]]></literal>
    <justification jstring="[back_rewrite(84),rewrite([197(5)])].">
      <j1 rule="back_rewrite" parents="84"/>
      <j2 rule="rewrite" parents="197"/>
    </justification>
  </clause>

  <clause id="260">
    <literal><![CDATA[
      -ilf_type(c4,relation_type(A,B))
    ]]></literal>
    <literal><![CDATA[
      subset(c3,range(A,B,c4))
    ]]></literal>
    <justification jstring="[resolve(190,b,83,a)].">
      <j1 rule="resolve" parents="190 83"/>
    </justification>
  </clause>

  <clause id="3765">
    <literal><![CDATA[
      $F
    ]]></literal>
    <justification jstring="[resolve(260,a,82,a),rewrite([197(5)]),unit_del(a,199)].">
      <j1 rule="resolve" parents="260 82"/>
      <j2 rule="rewrite" parents="197"/>
      <j2 rule="unit_del" parents="199"/>
    </justification>
  </clause>

</proof>

</proofs>
