<?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 2008-04A, April 2008.
Process 24457 was started by mccune on cleo,
Fri Apr  4 11:56:29 2008
The command was "/home/mccune/LADR/bin/prover9 -f dep-2b.in".
]]></heading>

<proof number="1" length="26" max_count="21">

<comments><![CDATA[
% Proof 1 at 0.13 (+ 0.00) seconds: 2b.
% Length of proof is 26.
% Level of proof is 10.
% Maximum clause weight is 21.
% Given clauses 25.
]]></comments>

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

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

  <clause id="3" type="assumption">
    <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" type="assumption">
    <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" type="deny">
    <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="12">
    <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="16">
    <literal><![CDATA[
      f(x,f(y,z,u),f(w,x,z)) = f(w,x,f(y,z,f(u,z,x)))
    ]]></literal>
    <justification jstring="[para(5(a,2),5(a,1,3)),flip(a)].">
      <j1 rule="para" parents="5 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="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="41">
    <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="48">
    <literal><![CDATA[
      f(x,y,f(z,x,f(x,z,y))) = f(z,x,y)
    ]]></literal>
    <justification jstring="[para(9(a,1),7(a,1)),rewrite([3(2),41(2)])].">
      <j1 rule="para" parents="9 7"/>
      <j2 rule="rewrite" parents="3 41"/>
    </justification>
  </clause>

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

  <clause id="229">
    <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),41(4),3(3),41(3)])].">
      <j1 rule="para" parents="18 21"/>
      <j2 rule="rewrite" parents="3 9 7 3 3 41 3 41"/>
    </justification>
  </clause>

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

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

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

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

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

  <clause id="592">
    <literal><![CDATA[
      f(x,y,z) = f(x,z,y)
    ]]></literal>
    <justification jstring="[para(16(a,2),23(a,1)),rewrite([3(3),9(3),506(3),41(3),3(2),41(2),8(1),505(2),9(3),506(3)])].">
      <j1 rule="para" parents="16 23"/>
      <j2 rule="rewrite" parents="3 9 506 41 3 41 8 505 9 506"/>
    </justification>
  </clause>

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

</proof>

</proofs>
