<?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>2basis.out</source>

<heading><![CDATA[
Prover9 (32) version 2008-04A, April 2008.
Process 24456 was started by mccune on cleo,
Fri Apr  4 11:56:29 2008
The command was "/home/mccune/LADR/bin/prover9 -f 2basis.in".
]]></heading>

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

<comments><![CDATA[
% Proof 1 at 0.06 (+ 0.00) seconds: 2a.
% Length of proof is 39.
% Level of proof is 16.
% Maximum clause weight is 21.
% Given clauses 31.
]]></comments>

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

  <clause id="3" 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="4" type="assumption">
    <literal><![CDATA[
      f(f(x,y,z),u,y) = f(y,x,f(y,u,z))
    ]]></literal>
    <attribute><![CDATA[
      label(associativity2)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  <clause id="63">
    <literal><![CDATA[
      f(x,y,f(y,z,x)) = f(x,z,y)
    ]]></literal>
    <justification jstring="[para(19(a,1),45(a,2)),rewrite([55(2),55(5),45(6),15(3),55(2)])].">
      <j1 rule="para" parents="19 45"/>
      <j2 rule="rewrite" parents="55 55 45 15 55"/>
    </justification>
  </clause>

  <clause id="66">
    <literal><![CDATA[
      f(f(x,f(y,z,x),y),z,y) = f(y,z,x)
    ]]></literal>
    <justification jstring="[back_rewrite(42),rewrite([55(2),63(2),55(2),63(2)]),flip(a)].">
      <j1 rule="back_rewrite" parents="42"/>
      <j2 rule="rewrite" parents="55 63 55 63"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="69">
    <literal><![CDATA[
      f(x,y,z) = f(z,y,x)
    ]]></literal>
    <justification jstring="[back_rewrite(19),rewrite([55(2),63(2),13(2)])].">
      <j1 rule="back_rewrite" parents="19"/>
      <j2 rule="rewrite" parents="55 63 13"/>
    </justification>
  </clause>

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

  <clause id="90">
    <literal><![CDATA[
      f(x,f(y,z,x),f(x,u,z)) = f(x,u,f(z,y,x))
    ]]></literal>
    <justification jstring="[back_rewrite(32),rewrite([69(5)])].">
      <j1 rule="back_rewrite" parents="32"/>
      <j2 rule="rewrite" parents="69"/>
    </justification>
  </clause>

  <clause id="101">
    <literal><![CDATA[
      f(c2,c1,c3) != f(c1,c2,c3)
    ]]></literal>
    <attribute><![CDATA[
      answer(2a)
    ]]></attribute>
    <justification jstring="[back_rewrite(5),rewrite([69(4)])].">
      <j1 rule="back_rewrite" parents="5"/>
      <j2 rule="rewrite" parents="69"/>
    </justification>
  </clause>

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

  <clause id="164">
    <literal><![CDATA[
      f(x,y,f(z,x,y)) = f(y,x,z)
    ]]></literal>
    <justification jstring="[para(7(a,1),75(a,1,3,2)),rewrite([69(4),50(4),102(3),7(5)])].">
      <j1 rule="para" parents="7 75"/>
      <j2 rule="rewrite" parents="69 50 102 7"/>
    </justification>
  </clause>

  <clause id="166">
    <literal><![CDATA[
      f(x,f(x,y,z),z) = f(x,y,z)
    ]]></literal>
    <justification jstring="[para(75(a,1),13(a,2)),rewrite([69(5),75(5),69(4),164(4)])].">
      <j1 rule="para" parents="75 13"/>
      <j2 rule="rewrite" parents="69 75 69 164"/>
    </justification>
  </clause>

  <clause id="167">
    <literal><![CDATA[
      f(x,y,f(z,y,x)) = f(x,y,z)
    ]]></literal>
    <justification jstring="[para(69(a,1),75(a,1,3,2)),rewrite([166(2)])].">
      <j1 rule="para" parents="69 75"/>
      <j2 rule="rewrite" parents="166"/>
    </justification>
  </clause>

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

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

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

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

  <clause id="271">
    <literal><![CDATA[
      f(x,f(x,y,z),f(y,u,x)) = f(x,u,f(y,z,x))
    ]]></literal>
    <justification jstring="[para(69(a,1),27(a,1,3)),rewrite([270(6)])].">
      <j1 rule="para" parents="69 27"/>
      <j2 rule="rewrite" parents="270"/>
    </justification>
  </clause>

  <clause id="297">
    <literal><![CDATA[
      f(f(x,y,z),y,u) = f(y,u,f(x,z,y))
    ]]></literal>
    <justification jstring="[para(179(a,1),27(a,1,3)),rewrite([263(4),270(7),69(4),270(5)])].">
      <j1 rule="para" parents="179 27"/>
      <j2 rule="rewrite" parents="263 270 69 270"/>
    </justification>
  </clause>

  <clause id="331">
    <literal><![CDATA[
      f(x,y,z) = f(y,x,z)
    ]]></literal>
    <justification jstring="[back_rewrite(222),rewrite([297(3),271(3),167(2)])].">
      <j1 rule="back_rewrite" parents="222"/>
      <j2 rule="rewrite" parents="297 271 167"/>
    </justification>
  </clause>

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

</proof>

<proof number="2" length="38" max_count="21">

<comments><![CDATA[
% Proof 2 at 0.06 (+ 0.00) seconds: 2b.
% Length of proof is 38.
% Level of proof is 16.
% Maximum clause weight is 21.
% Given clauses 32.
]]></comments>

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

  <clause id="3" 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="4" type="assumption">
    <literal><![CDATA[
      f(f(x,y,z),u,y) = f(y,x,f(y,u,z))
    ]]></literal>
    <attribute><![CDATA[
      label(associativity2)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="6" type="deny">
    <literal><![CDATA[
      f(c4,c6,c5) != f(c4,c5,c6)
    ]]></literal>
    <attribute><![CDATA[
      label(2b)
    ]]></attribute>
    <attribute><![CDATA[
      answer(2b)
    ]]></attribute>
    <justification jstring="[deny(2)].">
      <j1 rule="deny" parents="2"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  <clause id="63">
    <literal><![CDATA[
      f(x,y,f(y,z,x)) = f(x,z,y)
    ]]></literal>
    <justification jstring="[para(19(a,1),45(a,2)),rewrite([55(2),55(5),45(6),15(3),55(2)])].">
      <j1 rule="para" parents="19 45"/>
      <j2 rule="rewrite" parents="55 55 45 15 55"/>
    </justification>
  </clause>

  <clause id="66">
    <literal><![CDATA[
      f(f(x,f(y,z,x),y),z,y) = f(y,z,x)
    ]]></literal>
    <justification jstring="[back_rewrite(42),rewrite([55(2),63(2),55(2),63(2)]),flip(a)].">
      <j1 rule="back_rewrite" parents="42"/>
      <j2 rule="rewrite" parents="55 63 55 63"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="69">
    <literal><![CDATA[
      f(x,y,z) = f(z,y,x)
    ]]></literal>
    <justification jstring="[back_rewrite(19),rewrite([55(2),63(2),13(2)])].">
      <j1 rule="back_rewrite" parents="19"/>
      <j2 rule="rewrite" parents="55 63 13"/>
    </justification>
  </clause>

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

  <clause id="90">
    <literal><![CDATA[
      f(x,f(y,z,x),f(x,u,z)) = f(x,u,f(z,y,x))
    ]]></literal>
    <justification jstring="[back_rewrite(32),rewrite([69(5)])].">
      <j1 rule="back_rewrite" parents="32"/>
      <j2 rule="rewrite" parents="69"/>
    </justification>
  </clause>

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

  <clause id="164">
    <literal><![CDATA[
      f(x,y,f(z,x,y)) = f(y,x,z)
    ]]></literal>
    <justification jstring="[para(7(a,1),75(a,1,3,2)),rewrite([69(4),50(4),102(3),7(5)])].">
      <j1 rule="para" parents="7 75"/>
      <j2 rule="rewrite" parents="69 50 102 7"/>
    </justification>
  </clause>

  <clause id="166">
    <literal><![CDATA[
      f(x,f(x,y,z),z) = f(x,y,z)
    ]]></literal>
    <justification jstring="[para(75(a,1),13(a,2)),rewrite([69(5),75(5),69(4),164(4)])].">
      <j1 rule="para" parents="75 13"/>
      <j2 rule="rewrite" parents="69 75 69 164"/>
    </justification>
  </clause>

  <clause id="167">
    <literal><![CDATA[
      f(x,y,f(z,y,x)) = f(x,y,z)
    ]]></literal>
    <justification jstring="[para(69(a,1),75(a,1,3,2)),rewrite([166(2)])].">
      <j1 rule="para" parents="69 75"/>
      <j2 rule="rewrite" parents="166"/>
    </justification>
  </clause>

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

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

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

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

  <clause id="271">
    <literal><![CDATA[
      f(x,f(x,y,z),f(y,u,x)) = f(x,u,f(y,z,x))
    ]]></literal>
    <justification jstring="[para(69(a,1),27(a,1,3)),rewrite([270(6)])].">
      <j1 rule="para" parents="69 27"/>
      <j2 rule="rewrite" parents="270"/>
    </justification>
  </clause>

  <clause id="297">
    <literal><![CDATA[
      f(f(x,y,z),y,u) = f(y,u,f(x,z,y))
    ]]></literal>
    <justification jstring="[para(179(a,1),27(a,1,3)),rewrite([263(4),270(7),69(4),270(5)])].">
      <j1 rule="para" parents="179 27"/>
      <j2 rule="rewrite" parents="263 270 69 270"/>
    </justification>
  </clause>

  <clause id="331">
    <literal><![CDATA[
      f(x,y,z) = f(y,x,z)
    ]]></literal>
    <justification jstring="[back_rewrite(222),rewrite([297(3),271(3),167(2)])].">
      <j1 rule="back_rewrite" parents="222"/>
      <j2 rule="rewrite" parents="297 271 167"/>
    </justification>
  </clause>

  <clause id="347">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer(2b)
    ]]></attribute>
    <justification jstring="[para(331(a,1),6(a,1)),rewrite([69(4),331(4)]),xx(a)].">
      <j1 rule="para" parents="331 6"/>
      <j2 rule="rewrite" parents="69 331"/>
      <j2 rule="xx"/>
    </justification>
  </clause>

</proof>

</proofs>
