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

<source>dep-2b.out</source>

<heading><![CDATA[
Prover9 (32) version August-2006A, August 2006.
Process 11677 was started by mccune on cleo.thornwood,
Sat Aug 12 21:22:12 2006
The command was "/home/mccune/bin/prover9 -f dep-2b.in".
]]></heading>

<proof number="1" length="29" max_count="18">

<comments><![CDATA[
% Proof 1 at 0.09 (+ 0.00) seconds: 2b.
% Length of proof is 29.
% Level of proof is 12.
% Maximum clause weight is 18.
% Given clauses 22.
]]></comments>

  <clause id="1">
    <literal><![CDATA[
      f(x,y,z) = f(x,z,y)
    ]]></literal>
    <attribute><![CDATA[
      answer(2b)
    ]]></attribute>
    <justification jstring="[goal].">
      <j1 rule="goal"/>
    </justification>
  </clause>

  <clause id="2">
    <literal><![CDATA[
      f(x,x,y) = x
    ]]></literal>
    <attribute><![CDATA[
      label(majority)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="3">
    <literal><![CDATA[
      f(x,y,z) = f(z,x,y)
    ]]></literal>
    <attribute><![CDATA[
      label(2a)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="4">
    <literal><![CDATA[
      f(f(x,y,z),y,u) = f(x,y,f(z,y,u))
    ]]></literal>
    <attribute><![CDATA[
      label(associativity)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="5">
    <literal><![CDATA[
      f(x,y,f(z,y,u)) = f(y,u,f(x,y,z))
    ]]></literal>
    <justification jstring="[copy(4),rewrite(3(2,R)),flip(a)].">
      <j1 rule="copy" parents="4"/>
      <j2 rule="rewrite" parents="3"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="6">
    <literal><![CDATA[
      f(c1,c3,c2) != f(c1,c2,c3)
    ]]></literal>
    <attribute><![CDATA[
      answer(2b)
    ]]></attribute>
    <justification jstring="[deny(1)].">
      <j1 rule="deny" parents="1"/>
    </justification>
  </clause>

  <clause id="7">
    <literal><![CDATA[
      f(x,y,y) = y
    ]]></literal>
    <justification jstring="[para(3(a,1),2(a,1))].">
      <j1 rule="para" parents="3 2"/>
    </justification>
  </clause>

  <clause id="8">
    <literal><![CDATA[
      f(x,y,x) = x
    ]]></literal>
    <justification jstring="[para(3(a,2),2(a,1))].">
      <j1 rule="para" parents="3 2"/>
    </justification>
  </clause>

  <clause id="9">
    <literal><![CDATA[
      f(x,f(y,x,z),u) = f(x,z,f(u,x,y))
    ]]></literal>
    <justification jstring="[para(5(a,1),3(a,1)),rewrite(3(4)),flip(a)].">
      <j1 rule="para" parents="5 3"/>
      <j2 rule="rewrite" parents="3"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="13">
    <literal><![CDATA[
      f(x,y,f(z,u,x)) = f(u,x,f(z,x,y))
    ]]></literal>
    <justification jstring="[para(3(a,1),5(a,2,3)),flip(a)].">
      <j1 rule="para" parents="3 5"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="18">
    <literal><![CDATA[
      f(x,y,f(z,y,f(x,y,z))) = f(x,y,z)
    ]]></literal>
    <justification jstring="[para(7(a,1),5(a,2))].">
      <j1 rule="para" parents="7 5"/>
    </justification>
  </clause>

  <clause id="19">
    <literal><![CDATA[
      f(x,y,f(z,x,y)) = f(z,x,y)
    ]]></literal>
    <justification jstring="[para(8(a,1),5(a,1,3)),flip(a)].">
      <j1 rule="para" parents="8 5"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="21">
    <literal><![CDATA[
      f(x,y,f(x,y,z)) = f(y,z,x)
    ]]></literal>
    <justification jstring="[para(8(a,1),5(a,2,3))].">
      <j1 rule="para" parents="8 5"/>
    </justification>
  </clause>

  <clause id="22">
    <literal><![CDATA[
      f(x,f(y,z,x),z) = f(y,z,x)
    ]]></literal>
    <justification jstring="[para(19(a,1),3(a,1)),rewrite(3(3)),flip(a)].">
      <j1 rule="para" parents="19 3"/>
      <j2 rule="rewrite" parents="3"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="23">
    <literal><![CDATA[
      f(x,y,f(y,z,x)) = f(z,x,y)
    ]]></literal>
    <justification jstring="[para(3(a,1),19(a,1,3))].">
      <j1 rule="para" parents="3 19"/>
    </justification>
  </clause>

  <clause id="34">
    <literal><![CDATA[
      f(x,f(x,y,z),z) = f(y,z,x)
    ]]></literal>
    <justification jstring="[para(3(a,1),22(a,1,2))].">
      <j1 rule="para" parents="3 22"/>
    </justification>
  </clause>

  <clause id="43">
    <literal><![CDATA[
      f(x,y,f(z,x,f(x,z,y))) = f(z,x,y)
    ]]></literal>
    <justification jstring="[para(23(a,1),21(a,2)),rewrite(3(3),34(3),3(3,R),9(3),3(2),9(2))].">
      <j1 rule="para" parents="23 21"/>
      <j2 rule="rewrite" parents="3 34 3 9 3 9"/>
    </justification>
  </clause>

  <clause id="44">
    <literal><![CDATA[
      f(x,f(y,z,x),u) = f(x,y,f(u,x,z))
    ]]></literal>
    <justification jstring="[para(3(a,1),9(a,1,2))].">
      <j1 rule="para" parents="3 9"/>
    </justification>
  </clause>

  <clause id="45">
    <literal><![CDATA[
      f(x,f(x,y,z),u) = f(x,y,f(u,x,z))
    ]]></literal>
    <justification jstring="[para(3(a,2),9(a,1,2))].">
      <j1 rule="para" parents="3 9"/>
    </justification>
  </clause>

  <clause id="147">
    <literal><![CDATA[
      f(x,y,f(z,y,f(z,x,y))) = f(z,x,y)
    ]]></literal>
    <justification jstring="[para(13(a,1),7(a,1))].">
      <j1 rule="para" parents="13 7"/>
    </justification>
  </clause>

  <clause id="232">
    <literal><![CDATA[
      f(x,y,f(z,y,f(x,z,f(x,y,z)))) = f(x,y,z)
    ]]></literal>
    <justification jstring="[para(18(a,1),21(a,2)),rewrite(3(5),9(5),7(5),3(4),3(4),45(4),3(3),45(3))].">
      <j1 rule="para" parents="18 21"/>
      <j2 rule="rewrite" parents="3 9 7 3 3 45 3 45"/>
    </justification>
  </clause>

  <clause id="293">
    <literal><![CDATA[
      f(x,y,f(z,x,f(z,y,x))) = f(z,x,y)
    ]]></literal>
    <justification jstring="[para(3(a,2),43(a,1,3,3))].">
      <j1 rule="para" parents="3 43"/>
    </justification>
  </clause>

  <clause id="298">
    <literal><![CDATA[
      f(x,y,f(x,z,f(y,z,x))) = f(z,x,y)
    ]]></literal>
    <justification jstring="[para(5(a,2),43(a,1,3))].">
      <j1 rule="para" parents="5 43"/>
    </justification>
  </clause>

  <clause id="323">
    <literal><![CDATA[
      f(x,y,f(x,z,y)) = f(x,y,z)
    ]]></literal>
    <justification jstring="[back_rewrite(232),rewrite(293(3))].">
      <j1 rule="back_rewrite" parents="232"/>
      <j2 rule="rewrite" parents="293"/>
    </justification>
  </clause>

  <clause id="325">
    <literal><![CDATA[
      f(x,y,f(z,y,x)) = f(z,x,y)
    ]]></literal>
    <justification jstring="[back_rewrite(147),rewrite(323(2))].">
      <j1 rule="back_rewrite" parents="147"/>
      <j2 rule="rewrite" parents="323"/>
    </justification>
  </clause>

  <clause id="326">
    <literal><![CDATA[
      f(x,y,f(y,x,z)) = f(z,x,y)
    ]]></literal>
    <justification jstring="[back_rewrite(298),rewrite(325(2))].">
      <j1 rule="back_rewrite" parents="298"/>
      <j2 rule="rewrite" parents="325"/>
    </justification>
  </clause>

  <clause id="335">
    <literal><![CDATA[
      f(x,y,z) = f(z,y,x)
    ]]></literal>
    <justification jstring="[para(323(a,1),3(a,1)),rewrite(3(3),44(3),326(3))].">
      <j1 rule="para" parents="323 3"/>
      <j2 rule="rewrite" parents="3 44 326"/>
    </justification>
  </clause>

  <clause id="449">
    <literal><![CDATA[
      f(x,y,z) = f(x,z,y)
    ]]></literal>
    <justification jstring="[para(335(a,1),3(a,1))].">
      <j1 rule="para" parents="335 3"/>
    </justification>
  </clause>

  <clause id="450">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer(2b)
    ]]></attribute>
    <justification jstring="[resolve(449,a,6,a)].">
      <j1 rule="resolve" parents="449 6"/>
    </justification>
  </clause>

</proof>

</proofs>
