<?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="6">

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

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

<proof number="1" length="56" max_count="19">

<comments><![CDATA[
% Proof 1 at 3.64 (+ 0.05) seconds.
% Length of proof is 56.
% Level of proof is 12.
% Maximum clause weight is 19.
% Given clauses 1704.

]]></comments>

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

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

  <clause id="11" type="assumption">
    <literal><![CDATA[
      -ilf_type(A,binary_relation_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(B,set_type)
    ]]></literal>
    <literal><![CDATA[
      member(B,range_of(A))
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(C,set_type)
    ]]></literal>
    <literal><![CDATA[
      -member(ordered_pair(C,B),A)
    ]]></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[
      member(f3(A,B),A)
    ]]></literal>
    <literal><![CDATA[
      -member(f4(A,B),A)
    ]]></literal>
    <literal><![CDATA[
      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[
      member(f3(A,B),A)
    ]]></literal>
    <literal><![CDATA[
      member(f4(A,B),B)
    ]]></literal>
    <literal><![CDATA[
      B = A
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

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

  <clause id="31" 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(C,subset_type(cross_product(A,B)))
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="43" 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="83" type="assumption">
    <literal><![CDATA[
      -ilf_type(A,set_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(B,set_type)
    ]]></literal>
    <literal><![CDATA[
      member(A,power_set(B))
    ]]></literal>
    <literal><![CDATA[
      member(f15(A,B),A)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="85" 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="86" 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="89" 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="110" 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(A,B,C) = range_of(C)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="111" 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(range(A,B,C),subset_type(B))
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

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

  <clause id="115" type="assumption">
    <literal><![CDATA[
      -ilf_type(A,set_type)
    ]]></literal>
    <literal><![CDATA[
      -member(A,c3)
    ]]></literal>
    <literal><![CDATA[
      member(ordered_pair(f25(A),A),c4)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="116">
    <literal><![CDATA[
      -member(A,c3)
    ]]></literal>
    <literal><![CDATA[
      member(ordered_pair(f25(A),A),c4)
    ]]></literal>
    <justification jstring="[copy(115),unit_del(a,112)].">
      <j1 rule="copy" parents="115"/>
      <j2 rule="unit_del" parents="112"/>
    </justification>
  </clause>

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

  <clause id="128">
    <literal><![CDATA[
      -ilf_type(A,set_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(B,set_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(C,subset_type(cross_product(A,B)))
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(C,set_type)
    ]]></literal>
    <literal><![CDATA[
      ilf_type(C,binary_relation_type)
    ]]></literal>
    <justification jstring="[resolve(9,d,2,c)].">
      <j1 rule="resolve" parents="9 2"/>
    </justification>
  </clause>

  <clause id="129">
    <literal><![CDATA[
      -ilf_type(A,subset_type(cross_product(B,C)))
    ]]></literal>
    <literal><![CDATA[
      ilf_type(A,binary_relation_type)
    ]]></literal>
    <justification jstring="[copy(128),unit_del(a,112),unit_del(b,112),unit_del(d,112)].">
      <j1 rule="copy" parents="128"/>
      <j2 rule="unit_del" parents="112"/>
      <j2 rule="unit_del" parents="112"/>
      <j2 rule="unit_del" parents="112"/>
    </justification>
  </clause>

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

  <clause id="202">
    <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(110),unit_del(a,112),unit_del(b,112)].">
      <j1 rule="back_unit_del" parents="110"/>
      <j2 rule="unit_del" parents="112"/>
      <j2 rule="unit_del" parents="112"/>
    </justification>
  </clause>

  <clause id="211">
    <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(89),unit_del(a,112),unit_del(c,112)].">
      <j1 rule="back_unit_del" parents="89"/>
      <j2 rule="unit_del" parents="112"/>
      <j2 rule="unit_del" parents="112"/>
    </justification>
  </clause>

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

  <clause id="214">
    <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(85),unit_del(a,112),unit_del(b,112),unit_del(c,112)].">
      <j1 rule="back_unit_del" parents="85"/>
      <j2 rule="unit_del" parents="112"/>
      <j2 rule="unit_del" parents="112"/>
      <j2 rule="unit_del" parents="112"/>
    </justification>
  </clause>

  <clause id="215">
    <literal><![CDATA[
      member(A,power_set(B))
    ]]></literal>
    <literal><![CDATA[
      -member(f15(A,B),B)
    ]]></literal>
    <justification jstring="[back_unit_del(84),unit_del(a,112),unit_del(b,112)].">
      <j1 rule="back_unit_del" parents="84"/>
      <j2 rule="unit_del" parents="112"/>
      <j2 rule="unit_del" parents="112"/>
    </justification>
  </clause>

  <clause id="216">
    <literal><![CDATA[
      member(A,power_set(B))
    ]]></literal>
    <literal><![CDATA[
      member(f15(A,B),A)
    ]]></literal>
    <justification jstring="[back_unit_del(83),unit_del(a,112),unit_del(b,112)].">
      <j1 rule="back_unit_del" parents="83"/>
      <j2 rule="unit_del" parents="112"/>
      <j2 rule="unit_del" parents="112"/>
    </justification>
  </clause>

  <clause id="237">
    <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(43),unit_del(a,112),unit_del(b,112)].">
      <j1 rule="back_unit_del" parents="43"/>
      <j2 rule="unit_del" parents="112"/>
      <j2 rule="unit_del" parents="112"/>
    </justification>
  </clause>

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

  <clause id="248">
    <literal><![CDATA[
      -member(f3(A,B),B)
    ]]></literal>
    <literal><![CDATA[
      member(f4(A,B),B)
    ]]></literal>
    <literal><![CDATA[
      B = A
    ]]></literal>
    <justification jstring="[back_unit_del(26),unit_del(a,112),unit_del(b,112)].">
      <j1 rule="back_unit_del" parents="26"/>
      <j2 rule="unit_del" parents="112"/>
      <j2 rule="unit_del" parents="112"/>
    </justification>
  </clause>

  <clause id="249">
    <literal><![CDATA[
      -member(f3(A,B),B)
    ]]></literal>
    <literal><![CDATA[
      -member(f4(A,B),A)
    ]]></literal>
    <literal><![CDATA[
      B = A
    ]]></literal>
    <justification jstring="[back_unit_del(25),unit_del(a,112),unit_del(b,112)].">
      <j1 rule="back_unit_del" parents="25"/>
      <j2 rule="unit_del" parents="112"/>
      <j2 rule="unit_del" parents="112"/>
    </justification>
  </clause>

  <clause id="250">
    <literal><![CDATA[
      member(f3(A,B),A)
    ]]></literal>
    <literal><![CDATA[
      member(f4(A,B),B)
    ]]></literal>
    <literal><![CDATA[
      B = A
    ]]></literal>
    <justification jstring="[back_unit_del(23),unit_del(a,112),unit_del(b,112)].">
      <j1 rule="back_unit_del" parents="23"/>
      <j2 rule="unit_del" parents="112"/>
      <j2 rule="unit_del" parents="112"/>
    </justification>
  </clause>

  <clause id="251">
    <literal><![CDATA[
      member(f3(A,B),A)
    ]]></literal>
    <literal><![CDATA[
      -member(f4(A,B),A)
    ]]></literal>
    <literal><![CDATA[
      B = A
    ]]></literal>
    <justification jstring="[back_unit_del(22),unit_del(a,112),unit_del(b,112)].">
      <j1 rule="back_unit_del" parents="22"/>
      <j2 rule="unit_del" parents="112"/>
      <j2 rule="unit_del" parents="112"/>
    </justification>
  </clause>

  <clause id="255">
    <literal><![CDATA[
      -ilf_type(A,binary_relation_type)
    ]]></literal>
    <literal><![CDATA[
      member(B,range_of(A))
    ]]></literal>
    <literal><![CDATA[
      -member(ordered_pair(C,B),A)
    ]]></literal>
    <justification jstring="[back_unit_del(11),unit_del(b,112),unit_del(d,112)].">
      <j1 rule="back_unit_del" parents="11"/>
      <j2 rule="unit_del" parents="112"/>
      <j2 rule="unit_del" parents="112"/>
    </justification>
  </clause>

  <clause id="257">
    <literal><![CDATA[
      ilf_type(range(c2,c3,c4),subset_type(c3))
    ]]></literal>
    <justification jstring="[resolve(201,a,113,a)].">
      <j1 rule="resolve" parents="201 113"/>
    </justification>
  </clause>

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

  <clause id="259">
    <literal><![CDATA[
      ilf_type(range_of(c4),subset_type(c3))
    ]]></literal>
    <justification jstring="[back_rewrite(257),rewrite([258(4)])].">
      <j1 rule="back_rewrite" parents="257"/>
      <j2 rule="rewrite" parents="258"/>
    </justification>
  </clause>

  <clause id="260">
    <literal><![CDATA[
      range_of(c4) != c3
    ]]></literal>
    <justification jstring="[back_rewrite(117),rewrite([258(4)])].">
      <j1 rule="back_rewrite" parents="117"/>
      <j2 rule="rewrite" parents="258"/>
    </justification>
  </clause>

  <clause id="294">
    <literal><![CDATA[
      member(c3,power_set(A))
    ]]></literal>
    <literal><![CDATA[
      member(ordered_pair(f25(f15(c3,A)),f15(c3,A)),c4)
    ]]></literal>
    <justification jstring="[resolve(216,b,116,a)].">
      <j1 rule="resolve" parents="216 116"/>
    </justification>
  </clause>

  <clause id="369">
    <literal><![CDATA[
      ilf_type(c4,subset_type(cross_product(c2,c3)))
    ]]></literal>
    <justification jstring="[resolve(244,a,113,a)].">
      <j1 rule="resolve" parents="244 113"/>
    </justification>
  </clause>

  <clause id="449">
    <literal><![CDATA[
      ilf_type(range_of(c4),member_type(power_set(c3)))
    ]]></literal>
    <justification jstring="[resolve(259,a,237,b)].">
      <j1 rule="resolve" parents="259 237"/>
    </justification>
  </clause>

  <clause id="540">
    <literal><![CDATA[
      ilf_type(c4,binary_relation_type)
    ]]></literal>
    <justification jstring="[resolve(369,a,129,a)].">
      <j1 rule="resolve" parents="369 129"/>
    </justification>
  </clause>

  <clause id="568">
    <literal><![CDATA[
      member(range_of(c4),power_set(c3))
    ]]></literal>
    <justification jstring="[resolve(449,a,211,c),unit_del(a,213)].">
      <j1 rule="resolve" parents="449 211"/>
      <j2 rule="unit_del" parents="213"/>
    </justification>
  </clause>

  <clause id="580">
    <literal><![CDATA[
      -member(A,range_of(c4))
    ]]></literal>
    <literal><![CDATA[
      member(A,c3)
    ]]></literal>
    <justification jstring="[resolve(568,a,214,c)].">
      <j1 rule="resolve" parents="568 214"/>
    </justification>
  </clause>

  <clause id="762">
    <literal><![CDATA[
      member(f4(A,range_of(c4)),c3)
    ]]></literal>
    <literal><![CDATA[
      member(f3(A,range_of(c4)),A)
    ]]></literal>
    <literal><![CDATA[
      range_of(c4) = A
    ]]></literal>
    <justification jstring="[resolve(580,a,250,b)].">
      <j1 rule="resolve" parents="580 250"/>
    </justification>
  </clause>

  <clause id="1836">
    <literal><![CDATA[
      member(c3,power_set(A))
    ]]></literal>
    <literal><![CDATA[
      member(f15(c3,A),range_of(c4))
    ]]></literal>
    <justification jstring="[resolve(294,b,255,c),unit_del(b,540)].">
      <j1 rule="resolve" parents="294 255"/>
      <j2 rule="unit_del" parents="540"/>
    </justification>
  </clause>

  <clause id="5560">
    <literal><![CDATA[
      member(c3,power_set(range_of(c4)))
    ]]></literal>
    <justification jstring="[resolve(1836,b,215,b),merge(b)].">
      <j1 rule="resolve" parents="1836 215"/>
      <j2 rule="merge"/>
    </justification>
  </clause>

  <clause id="5583">
    <literal><![CDATA[
      -member(A,c3)
    ]]></literal>
    <literal><![CDATA[
      member(A,range_of(c4))
    ]]></literal>
    <justification jstring="[resolve(5560,a,214,c)].">
      <j1 rule="resolve" parents="5560 214"/>
    </justification>
  </clause>

  <clause id="24539">
    <literal><![CDATA[
      member(f3(c3,range_of(c4)),c3)
    ]]></literal>
    <justification jstring="[resolve(762,a,251,b),merge(c),merge(d),unit_del(b,260)].">
      <j1 rule="resolve" parents="762 251"/>
      <j2 rule="merge"/>
      <j2 rule="merge"/>
      <j2 rule="unit_del" parents="260"/>
    </justification>
  </clause>

  <clause id="24541">
    <literal><![CDATA[
      member(f3(c3,range_of(c4)),range_of(c4))
    ]]></literal>
    <justification jstring="[resolve(24539,a,5583,a)].">
      <j1 rule="resolve" parents="24539 5583"/>
    </justification>
  </clause>

  <clause id="24559">
    <literal><![CDATA[
      member(f4(c3,range_of(c4)),range_of(c4))
    ]]></literal>
    <justification jstring="[resolve(24541,a,248,a),unit_del(b,260)].">
      <j1 rule="resolve" parents="24541 248"/>
      <j2 rule="unit_del" parents="260"/>
    </justification>
  </clause>

  <clause id="24567">
    <literal><![CDATA[
      member(f4(c3,range_of(c4)),c3)
    ]]></literal>
    <justification jstring="[resolve(24559,a,580,a)].">
      <j1 rule="resolve" parents="24559 580"/>
    </justification>
  </clause>

  <clause id="24580">
    <literal><![CDATA[
      $F
    ]]></literal>
    <justification jstring="[resolve(24567,a,249,b),unit_del(a,24541),unit_del(b,260)].">
      <j1 rule="resolve" parents="24567 249"/>
      <j2 rule="unit_del" parents="24541"/>
      <j2 rule="unit_del" parents="260"/>
    </justification>
  </clause>

</proof>

<proof number="2" length="22" max_count="18">

<comments><![CDATA[
% Proof 1 at 0.38 (+ 0.01) seconds.
% Length of proof is 22.
% Level of proof is 5.
% Maximum clause weight is 18.
% Given clauses 304.

]]></comments>

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

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

  <clause id="13" type="assumption">
    <literal><![CDATA[
      -ilf_type(A,binary_relation_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(B,set_type)
    ]]></literal>
    <literal><![CDATA[
      member(ordered_pair(f1(A,B),B),A)
    ]]></literal>
    <literal><![CDATA[
      -member(B,range_of(A))
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="31" 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(C,subset_type(cross_product(A,B)))
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="110" 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(A,B,C) = range_of(C)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

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

  <clause id="114" type="assumption">
    <literal><![CDATA[
      member(c5,c3)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="115" type="assumption">
    <literal><![CDATA[
      -ilf_type(A,set_type)
    ]]></literal>
    <literal><![CDATA[
      -member(ordered_pair(A,c5),c4)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="116">
    <literal><![CDATA[
      -member(ordered_pair(A,c5),c4)
    ]]></literal>
    <justification jstring="[copy(115),unit_del(a,112)].">
      <j1 rule="copy" parents="115"/>
      <j2 rule="unit_del" parents="112"/>
    </justification>
  </clause>

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

  <clause id="128">
    <literal><![CDATA[
      -ilf_type(A,set_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(B,set_type)
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(C,subset_type(cross_product(A,B)))
    ]]></literal>
    <literal><![CDATA[
      -ilf_type(C,set_type)
    ]]></literal>
    <literal><![CDATA[
      ilf_type(C,binary_relation_type)
    ]]></literal>
    <justification jstring="[resolve(9,d,2,c)].">
      <j1 rule="resolve" parents="9 2"/>
    </justification>
  </clause>

  <clause id="129">
    <literal><![CDATA[
      -ilf_type(A,subset_type(cross_product(B,C)))
    ]]></literal>
    <literal><![CDATA[
      ilf_type(A,binary_relation_type)
    ]]></literal>
    <justification jstring="[copy(128),unit_del(a,112),unit_del(b,112),unit_del(d,112)].">
      <j1 rule="copy" parents="128"/>
      <j2 rule="unit_del" parents="112"/>
      <j2 rule="unit_del" parents="112"/>
      <j2 rule="unit_del" parents="112"/>
    </justification>
  </clause>

  <clause id="202">
    <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(110),unit_del(a,112),unit_del(b,112)].">
      <j1 rule="back_unit_del" parents="110"/>
      <j2 rule="unit_del" parents="112"/>
      <j2 rule="unit_del" parents="112"/>
    </justification>
  </clause>

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

  <clause id="254">
    <literal><![CDATA[
      -ilf_type(A,binary_relation_type)
    ]]></literal>
    <literal><![CDATA[
      member(ordered_pair(f1(A,B),B),A)
    ]]></literal>
    <literal><![CDATA[
      -member(B,range_of(A))
    ]]></literal>
    <justification jstring="[back_unit_del(13),unit_del(b,112)].">
      <j1 rule="back_unit_del" parents="13"/>
      <j2 rule="unit_del" parents="112"/>
    </justification>
  </clause>

  <clause id="261">
    <literal><![CDATA[
      range_of(c4) = c3
    ]]></literal>
    <justification jstring="[resolve(202,a,113,a),rewrite([117(4)]),flip(a)].">
      <j1 rule="resolve" parents="202 113"/>
      <j2 rule="rewrite" parents="117"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="384">
    <literal><![CDATA[
      ilf_type(c4,subset_type(cross_product(c2,c3)))
    ]]></literal>
    <justification jstring="[resolve(244,a,113,a)].">
      <j1 rule="resolve" parents="244 113"/>
    </justification>
  </clause>

  <clause id="417">
    <literal><![CDATA[
      -ilf_type(c4,binary_relation_type)
    ]]></literal>
    <literal><![CDATA[
      member(ordered_pair(f1(c4,A),A),c4)
    ]]></literal>
    <literal><![CDATA[
      -member(A,c3)
    ]]></literal>
    <justification jstring="[para(261(a,1),254(c,2))].">
      <j1 rule="para" parents="261 254"/>
    </justification>
  </clause>

  <clause id="546">
    <literal><![CDATA[
      ilf_type(c4,binary_relation_type)
    ]]></literal>
    <justification jstring="[resolve(384,a,129,a)].">
      <j1 rule="resolve" parents="384 129"/>
    </justification>
  </clause>

  <clause id="547">
    <literal><![CDATA[
      member(ordered_pair(f1(c4,A),A),c4)
    ]]></literal>
    <literal><![CDATA[
      -member(A,c3)
    ]]></literal>
    <justification jstring="[back_unit_del(417),unit_del(a,546)].">
      <j1 rule="back_unit_del" parents="417"/>
      <j2 rule="unit_del" parents="546"/>
    </justification>
  </clause>

  <clause id="3373">
    <literal><![CDATA[
      $F
    ]]></literal>
    <justification jstring="[resolve(547,b,114,a),unit_del(a,116)].">
      <j1 rule="resolve" parents="547 114"/>
      <j2 rule="unit_del" parents="116"/>
    </justification>
  </clause>

</proof>

<proof number="3" length="5" max_count="7">

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

]]></comments>

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

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

  <clause id="30">
    <literal><![CDATA[
      -ilf_type(A,binary_relation_type)
    ]]></literal>
    <justification jstring="[copy(29),unit_del(b,27)].">
      <j1 rule="copy" parents="29"/>
      <j2 rule="unit_del" parents="27"/>
    </justification>
  </clause>

  <clause id="34" type="assumption">
    <literal><![CDATA[
      ilf_type(c1,binary_relation_type)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="35">
    <literal><![CDATA[
      $F
    ]]></literal>
    <justification jstring="[copy(34),unit_del(a,30)].">
      <j1 rule="copy" parents="34"/>
      <j2 rule="unit_del" parents="30"/>
    </justification>
  </clause>

</proof>

<proof number="4" length="5" max_count="7">

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

]]></comments>

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

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

  <clause id="30">
    <literal><![CDATA[
      -ilf_type(A,binary_relation_type)
    ]]></literal>
    <justification jstring="[copy(29),unit_del(b,27)].">
      <j1 rule="copy" parents="29"/>
      <j2 rule="unit_del" parents="27"/>
    </justification>
  </clause>

  <clause id="34" type="assumption">
    <literal><![CDATA[
      ilf_type(c1,binary_relation_type)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="35">
    <literal><![CDATA[
      $F
    ]]></literal>
    <justification jstring="[copy(34),unit_del(a,30)].">
      <j1 rule="copy" parents="34"/>
      <j2 rule="unit_del" parents="30"/>
    </justification>
  </clause>

</proof>

<proof number="5" length="5" max_count="7">

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

]]></comments>

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

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

  <clause id="30">
    <literal><![CDATA[
      -ilf_type(A,binary_relation_type)
    ]]></literal>
    <justification jstring="[copy(29),unit_del(b,27)].">
      <j1 rule="copy" parents="29"/>
      <j2 rule="unit_del" parents="27"/>
    </justification>
  </clause>

  <clause id="34" type="assumption">
    <literal><![CDATA[
      ilf_type(c1,binary_relation_type)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="35">
    <literal><![CDATA[
      $F
    ]]></literal>
    <justification jstring="[copy(34),unit_del(a,30)].">
      <j1 rule="copy" parents="34"/>
      <j2 rule="unit_del" parents="30"/>
    </justification>
  </clause>

</proof>

<proof number="6" length="5" max_count="7">

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

]]></comments>

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

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

  <clause id="30">
    <literal><![CDATA[
      -ilf_type(A,binary_relation_type)
    ]]></literal>
    <justification jstring="[copy(29),unit_del(b,27)].">
      <j1 rule="copy" parents="29"/>
      <j2 rule="unit_del" parents="27"/>
    </justification>
  </clause>

  <clause id="34" type="assumption">
    <literal><![CDATA[
      ilf_type(c1,binary_relation_type)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="35">
    <literal><![CDATA[
      $F
    ]]></literal>
    <justification jstring="[copy(34),unit_del(a,30)].">
      <j1 rule="copy" parents="34"/>
      <j2 rule="unit_del" parents="30"/>
    </justification>
  </clause>

</proof>

</proofs>
