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

<source>olsax2.out</source>

<heading><![CDATA[
Prover9 (32) version November-2006, November 2006.
Process 3924 was started by mccune on cleo.thornwood,
Wed Nov 22 11:25:05 2006
The command was "/home/mccune/bin/prover9 -f olsax2.in".
]]></heading>

<proof number="1" length="44" max_count="36">

<comments><![CDATA[
% Proof 1 at 0.27 (+ 0.00) seconds: absorb.
% Length of proof is 44.
% Level of proof is 14.
% Maximum clause weight is 36.
% Given clauses 74.
]]></comments>

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

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

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

  <clause id="7">
    <literal><![CDATA[
      f(f(x,x),f(y,y)) = x v y
    ]]></literal>
    <justification jstring="[copy(6),flip(a)].">
      <j1 rule="copy" parents="6"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="9">
    <literal><![CDATA[
      f(f(x,y),f(x,y)) = x ^ y
    ]]></literal>
    <justification jstring="[copy(8),flip(a)].">
      <j1 rule="copy" parents="8"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="11">
    <literal><![CDATA[
      f(x,x) = x'
    ]]></literal>
    <justification jstring="[copy(10),flip(a)].">
      <j1 rule="copy" parents="10"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="15">
    <literal><![CDATA[
      f(c4',f(c4,c5)) != c4
    ]]></literal>
    <attribute><![CDATA[
      answer(absorb)
    ]]></attribute>
    <justification jstring="[copy(14),rewrite(11(3))].">
      <j1 rule="copy" parents="14"/>
      <j2 rule="rewrite" parents="11"/>
    </justification>
  </clause>

  <clause id="20">
    <literal><![CDATA[
      f(x,y)' = x ^ y
    ]]></literal>
    <justification jstring="[back_rewrite(9),rewrite(11(3))].">
      <j1 rule="back_rewrite" parents="9"/>
      <j2 rule="rewrite" parents="11"/>
    </justification>
  </clause>

  <clause id="21">
    <literal><![CDATA[
      f(x',y') = x v y
    ]]></literal>
    <justification jstring="[back_rewrite(7),rewrite(11(1),11(2))].">
      <j1 rule="back_rewrite" parents="7"/>
      <j2 rule="rewrite" parents="11 11"/>
    </justification>
  </clause>

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

  <clause id="25">
    <literal><![CDATA[
      x ^ x = x''
    ]]></literal>
    <justification jstring="[para(11(a,1),20(a,1,1)),flip(a)].">
      <j1 rule="para" parents="11 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="29">
    <literal><![CDATA[
      f(x',y ^ z) = x v f(y,z)
    ]]></literal>
    <justification jstring="[para(20(a,1),21(a,1,2))].">
      <j1 rule="para" parents="20 21"/>
    </justification>
  </clause>

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

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

  <clause id="36">
    <literal><![CDATA[
      f(f(f(x,y),f(y,z)),u) ^ f(y,f(f(y,f(x',x)),z)) = y'
    ]]></literal>
    <justification jstring="[para(22(a,1),20(a,1,1)),flip(a)].">
      <j1 rule="para" parents="22 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="41">
    <literal><![CDATA[
      f(f(x,y),f(x,f(f(x,f(f(z,x) ^ f(x,u),f(f(z,x),f(x,u)))),f(f(x,f(z',z)),u)))) = x
    ]]></literal>
    <justification jstring="[para(22(a,1),22(a,1,1,1)),rewrite(20(5))].">
      <j1 rule="para" parents="22 22"/>
      <j2 rule="rewrite" parents="20"/>
    </justification>
  </clause>

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

  <clause id="181">
    <literal><![CDATA[
      f(x''',f(x,f(f(x,f(x',x)),x))) = x
    ]]></literal>
    <justification jstring="[para(11(a,1),32(a,1,1))].">
      <j1 rule="para" parents="11 32"/>
    </justification>
  </clause>

  <clause id="190">
    <literal><![CDATA[
      f(x,f(x',f(f(x',x' v x),y))) = x'
    ]]></literal>
    <justification jstring="[para(32(a,1),30(a,1,1)),rewrite(21(6))].">
      <j1 rule="para" parents="32 30"/>
      <j2 rule="rewrite" parents="21"/>
    </justification>
  </clause>

  <clause id="217">
    <literal><![CDATA[
      x''' ^ f(x,f(f(x,f(x',x)),x)) = x'
    ]]></literal>
    <justification jstring="[para(181(a,1),20(a,1,1)),flip(a)].">
      <j1 rule="para" parents="181 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="236">
    <literal><![CDATA[
      f(x',f(x'',x)) = x''
    ]]></literal>
    <justification jstring="[para(32(a,1),190(a,1,2,2))].">
      <j1 rule="para" parents="32 190"/>
    </justification>
  </clause>

  <clause id="240">
    <literal><![CDATA[
      f(x'',x'' v x) = x'''
    ]]></literal>
    <justification jstring="[para(21(a,1),236(a,1,2))].">
      <j1 rule="para" parents="21 236"/>
    </justification>
  </clause>

  <clause id="333">
    <literal><![CDATA[
      f(x,y) ^ f(x,f(f(x,f(f(z,x) ^ f(x,u),f(f(z,x),f(x,u)))),f(f(x,f(z',z)),u))) = x'
    ]]></literal>
    <justification jstring="[para(22(a,1),36(a,1,1,1)),rewrite(20(5))].">
      <j1 rule="para" parents="22 36"/>
      <j2 rule="rewrite" parents="20"/>
    </justification>
  </clause>

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

  <clause id="755">
    <literal><![CDATA[
      f(x,y) ^ f(y,f(f(y,f(x',x)),z)) = y'
    ]]></literal>
    <justification jstring="[para(41(a,1),36(a,1,1))].">
      <j1 rule="para" parents="41 36"/>
    </justification>
  </clause>

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

  <clause id="871">
    <literal><![CDATA[
      f(x,x ^ y) = f(x,y)
    ]]></literal>
    <justification jstring="[para(41(a,1),42(a,1,2,2)),rewrite(11(3),20(2))].">
      <j1 rule="para" parents="41 42"/>
      <j2 rule="rewrite" parents="11 20"/>
    </justification>
  </clause>

  <clause id="992">
    <literal><![CDATA[
      x'' v x = x
    ]]></literal>
    <justification jstring="[para(181(a,1),871(a,2)),rewrite(217(12),21(5))].">
      <j1 rule="para" parents="181 871"/>
      <j2 rule="rewrite" parents="217 21"/>
    </justification>
  </clause>

  <clause id="997">
    <literal><![CDATA[
      f(x'',x) = x'''
    ]]></literal>
    <justification jstring="[para(240(a,1),871(a,2)),rewrite(992(7),871(6))].">
      <j1 rule="para" parents="240 871"/>
      <j2 rule="rewrite" parents="992 871"/>
    </justification>
  </clause>

  <clause id="1018">
    <literal><![CDATA[
      f(f(x,y),x') = x
    ]]></literal>
    <justification jstring="[para(41(a,1),871(a,2)),rewrite(333(17))].">
      <j1 rule="para" parents="41 871"/>
      <j2 rule="rewrite" parents="333"/>
    </justification>
  </clause>

  <clause id="1062">
    <literal><![CDATA[
      f(x,y) = (x ^ y)'''
    ]]></literal>
    <justification jstring="[para(992(a,1),29(a,2)),rewrite(20(2),997(5)),flip(a)].">
      <j1 rule="para" parents="992 29"/>
      <j2 rule="rewrite" parents="20 997"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1077">
    <literal><![CDATA[
      ((x ^ y)''' ^ x')''' = x
    ]]></literal>
    <justification jstring="[back_rewrite(1018),rewrite(1062(1),1062(6))].">
      <j1 rule="back_rewrite" parents="1018"/>
      <j2 rule="rewrite" parents="1062 1062"/>
    </justification>
  </clause>

  <clause id="1109">
    <literal><![CDATA[
      (x' ^ ((x' ^ (x ^ y)''')''' ^ x)''')''' = (x' ^ (x ^ y)''')'''
    ]]></literal>
    <justification jstring="[back_rewrite(845),rewrite(1062(3),1062(7),1062(11),1062(15),1062(20),1062(24))].">
      <j1 rule="back_rewrite" parents="845"/>
      <j2 rule="rewrite" parents="1062 1062 1062 1062 1062 1062"/>
    </justification>
  </clause>

  <clause id="1128">
    <literal><![CDATA[
      (x ^ y)''' ^ (y ^ ((y ^ (x' ^ x)''')''' ^ z)''')''' = y'
    ]]></literal>
    <justification jstring="[back_rewrite(755),rewrite(1062(1),1062(6),1062(10),1062(14),1062(18))].">
      <j1 rule="back_rewrite" parents="755"/>
      <j2 rule="rewrite" parents="1062 1062 1062 1062 1062"/>
    </justification>
  </clause>

  <clause id="1130">
    <literal><![CDATA[
      x'''' = x
    ]]></literal>
    <justification jstring="[back_rewrite(744),rewrite(1062(1),1062(6),1062(10),1062(14),1062(18),1062(22),1128(22))].">
      <j1 rule="back_rewrite" parents="744"/>
      <j2 rule="rewrite" parents="1062 1062 1062 1062 1062 1062 1128"/>
    </justification>
  </clause>

  <clause id="1146">
    <literal><![CDATA[
      (c4' ^ (c4 ^ c5)''')''' != c4
    ]]></literal>
    <attribute><![CDATA[
      answer(absorb)
    ]]></attribute>
    <justification jstring="[back_rewrite(15),rewrite(1062(5),1062(9))].">
      <j1 rule="back_rewrite" parents="15"/>
      <j2 rule="rewrite" parents="1062 1062"/>
    </justification>
  </clause>

  <clause id="1152">
    <literal><![CDATA[
      x'' = x
    ]]></literal>
    <justification jstring="[para(25(a,1),1077(a,1,1,1,1,1,1,1,1)),rewrite(1130(4),25(3),1130(4))].">
      <j1 rule="para" parents="25 1077"/>
      <j2 rule="rewrite" parents="1130 25 1130"/>
    </justification>
  </clause>

  <clause id="1156">
    <literal><![CDATA[
      ((x' ^ y)' ^ x)' = x'
    ]]></literal>
    <justification jstring="[para(1130(a,1),1077(a,1,1,1,1,2)),rewrite(1152(2),1152(4),1152(6),1152(7))].">
      <j1 rule="para" parents="1130 1077"/>
      <j2 rule="rewrite" parents="1152 1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1159">
    <literal><![CDATA[
      (c4' ^ (c4 ^ c5)')' != c4
    ]]></literal>
    <attribute><![CDATA[
      answer(absorb)
    ]]></attribute>
    <justification jstring="[back_rewrite(1146),rewrite(1152(7),1152(9))].">
      <j1 rule="back_rewrite" parents="1146"/>
      <j2 rule="rewrite" parents="1152 1152"/>
    </justification>
  </clause>

  <clause id="1173">
    <literal><![CDATA[
      (x' ^ (x ^ y)')' = x
    ]]></literal>
    <justification jstring="[back_rewrite(1109),rewrite(1152(5),1152(7),1156(8),1152(3),25(3),1152(2),1152(2),1152(2),1152(4),1152(6)),flip(a)].">
      <j1 rule="back_rewrite" parents="1109"/>
      <j2 rule="rewrite" parents="1152 1152 1156 1152 25 1152 1152 1152 1152 1152"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1174">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer(absorb)
    ]]></attribute>
    <justification jstring="[resolve(1173,a,1159,a)].">
      <j1 rule="resolve" parents="1173 1159"/>
    </justification>
  </clause>

</proof>

<proof number="2" length="87" max_count="39">

<comments><![CDATA[
% Proof 2 at 0.41 (+ 0.02) seconds: one.
% Length of proof is 87.
% Level of proof is 24.
% Maximum clause weight is 39.
% Given clauses 144.
]]></comments>

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

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

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

  <clause id="7">
    <literal><![CDATA[
      f(f(x,x),f(y,y)) = x v y
    ]]></literal>
    <justification jstring="[copy(6),flip(a)].">
      <j1 rule="copy" parents="6"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="9">
    <literal><![CDATA[
      f(f(x,y),f(x,y)) = x ^ y
    ]]></literal>
    <justification jstring="[copy(8),flip(a)].">
      <j1 rule="copy" parents="8"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="11">
    <literal><![CDATA[
      f(x,x) = x'
    ]]></literal>
    <justification jstring="[copy(10),flip(a)].">
      <j1 rule="copy" parents="10"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="16" type="deny">
    <literal><![CDATA[
      f(c6,f(c6,c6)) != f(c7,f(c7,c7))
    ]]></literal>
    <attribute><![CDATA[
      answer(one)
    ]]></attribute>
    <justification jstring="[deny(3)].">
      <j1 rule="deny" parents="3"/>
    </justification>
  </clause>

  <clause id="17">
    <literal><![CDATA[
      f(c7,c7') != f(c6,c6')
    ]]></literal>
    <attribute><![CDATA[
      answer(one)
    ]]></attribute>
    <justification jstring="[copy(16),rewrite(11(4),11(8)),flip(a)].">
      <j1 rule="copy" parents="16"/>
      <j2 rule="rewrite" parents="11 11"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="20">
    <literal><![CDATA[
      f(x,y)' = x ^ y
    ]]></literal>
    <justification jstring="[back_rewrite(9),rewrite(11(3))].">
      <j1 rule="back_rewrite" parents="9"/>
      <j2 rule="rewrite" parents="11"/>
    </justification>
  </clause>

  <clause id="21">
    <literal><![CDATA[
      f(x',y') = x v y
    ]]></literal>
    <justification jstring="[back_rewrite(7),rewrite(11(1),11(2))].">
      <j1 rule="back_rewrite" parents="7"/>
      <j2 rule="rewrite" parents="11 11"/>
    </justification>
  </clause>

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

  <clause id="25">
    <literal><![CDATA[
      x ^ x = x''
    ]]></literal>
    <justification jstring="[para(11(a,1),20(a,1,1)),flip(a)].">
      <j1 rule="para" parents="11 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="29">
    <literal><![CDATA[
      f(x',y ^ z) = x v f(y,z)
    ]]></literal>
    <justification jstring="[para(20(a,1),21(a,1,2))].">
      <j1 rule="para" parents="20 21"/>
    </justification>
  </clause>

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

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

  <clause id="33">
    <literal><![CDATA[
      f(f(x,y) ^ f(y,z),f(y,f(f(y,f(x',x)),z))) = y
    ]]></literal>
    <justification jstring="[para(11(a,1),22(a,1,1)),rewrite(20(4))].">
      <j1 rule="para" parents="11 22"/>
      <j2 rule="rewrite" parents="20"/>
    </justification>
  </clause>

  <clause id="36">
    <literal><![CDATA[
      f(f(f(x,y),f(y,z)),u) ^ f(y,f(f(y,f(x',x)),z)) = y'
    ]]></literal>
    <justification jstring="[para(22(a,1),20(a,1,1)),flip(a)].">
      <j1 rule="para" parents="22 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="41">
    <literal><![CDATA[
      f(f(x,y),f(x,f(f(x,f(f(z,x) ^ f(x,u),f(f(z,x),f(x,u)))),f(f(x,f(z',z)),u)))) = x
    ]]></literal>
    <justification jstring="[para(22(a,1),22(a,1,1,1)),rewrite(20(5))].">
      <j1 rule="para" parents="22 22"/>
      <j2 rule="rewrite" parents="20"/>
    </justification>
  </clause>

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

  <clause id="181">
    <literal><![CDATA[
      f(x''',f(x,f(f(x,f(x',x)),x))) = x
    ]]></literal>
    <justification jstring="[para(11(a,1),32(a,1,1))].">
      <j1 rule="para" parents="11 32"/>
    </justification>
  </clause>

  <clause id="190">
    <literal><![CDATA[
      f(x,f(x',f(f(x',x' v x),y))) = x'
    ]]></literal>
    <justification jstring="[para(32(a,1),30(a,1,1)),rewrite(21(6))].">
      <j1 rule="para" parents="32 30"/>
      <j2 rule="rewrite" parents="21"/>
    </justification>
  </clause>

  <clause id="194">
    <literal><![CDATA[
      (f(x,y) ^ f(y,z)) ^ f(y,f(f(y,f(x',x)),z)) = y'
    ]]></literal>
    <justification jstring="[para(33(a,1),20(a,1,1)),flip(a)].">
      <j1 rule="para" parents="33 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="217">
    <literal><![CDATA[
      x''' ^ f(x,f(f(x,f(x',x)),x)) = x'
    ]]></literal>
    <justification jstring="[para(181(a,1),20(a,1,1)),flip(a)].">
      <j1 rule="para" parents="181 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="230">
    <literal><![CDATA[
      x ^ f(x',f(f(x',x' v x),y)) = x''
    ]]></literal>
    <justification jstring="[para(190(a,1),20(a,1,1)),flip(a)].">
      <j1 rule="para" parents="190 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="236">
    <literal><![CDATA[
      f(x',f(x'',x)) = x''
    ]]></literal>
    <justification jstring="[para(32(a,1),190(a,1,2,2))].">
      <j1 rule="para" parents="32 190"/>
    </justification>
  </clause>

  <clause id="240">
    <literal><![CDATA[
      f(x'',x'' v x) = x'''
    ]]></literal>
    <justification jstring="[para(21(a,1),236(a,1,2))].">
      <j1 rule="para" parents="21 236"/>
    </justification>
  </clause>

  <clause id="333">
    <literal><![CDATA[
      f(x,y) ^ f(x,f(f(x,f(f(z,x) ^ f(x,u),f(f(z,x),f(x,u)))),f(f(x,f(z',z)),u))) = x'
    ]]></literal>
    <justification jstring="[para(22(a,1),36(a,1,1,1)),rewrite(20(5))].">
      <j1 rule="para" parents="22 36"/>
      <j2 rule="rewrite" parents="20"/>
    </justification>
  </clause>

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

  <clause id="755">
    <literal><![CDATA[
      f(x,y) ^ f(y,f(f(y,f(x',x)),z)) = y'
    ]]></literal>
    <justification jstring="[para(41(a,1),36(a,1,1))].">
      <j1 rule="para" parents="41 36"/>
    </justification>
  </clause>

  <clause id="756">
    <literal><![CDATA[
      x ^ x'' = x''
    ]]></literal>
    <justification jstring="[para(41(a,1),230(a,1,2,2)),rewrite(11(3))].">
      <j1 rule="para" parents="41 230"/>
      <j2 rule="rewrite" parents="11"/>
    </justification>
  </clause>

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

  <clause id="871">
    <literal><![CDATA[
      f(x,x ^ y) = f(x,y)
    ]]></literal>
    <justification jstring="[para(41(a,1),42(a,1,2,2)),rewrite(11(3),20(2))].">
      <j1 rule="para" parents="41 42"/>
      <j2 rule="rewrite" parents="11 20"/>
    </justification>
  </clause>

  <clause id="973">
    <literal><![CDATA[
      x ^ (x ^ y) = x ^ y
    ]]></literal>
    <justification jstring="[para(871(a,1),20(a,1,1)),rewrite(20(2)),flip(a)].">
      <j1 rule="para" parents="871 20"/>
      <j2 rule="rewrite" parents="20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="977">
    <literal><![CDATA[
      f(f(f(f(x,y),f(y,z)),u),y') = y
    ]]></literal>
    <justification jstring="[para(22(a,1),871(a,2)),rewrite(36(14))].">
      <j1 rule="para" parents="22 871"/>
      <j2 rule="rewrite" parents="36"/>
    </justification>
  </clause>

  <clause id="992">
    <literal><![CDATA[
      x'' v x = x
    ]]></literal>
    <justification jstring="[para(181(a,1),871(a,2)),rewrite(217(12),21(5))].">
      <j1 rule="para" parents="181 871"/>
      <j2 rule="rewrite" parents="217 21"/>
    </justification>
  </clause>

  <clause id="997">
    <literal><![CDATA[
      f(x'',x) = x'''
    ]]></literal>
    <justification jstring="[para(240(a,1),871(a,2)),rewrite(992(7),871(6))].">
      <j1 rule="para" parents="240 871"/>
      <j2 rule="rewrite" parents="992 871"/>
    </justification>
  </clause>

  <clause id="1018">
    <literal><![CDATA[
      f(f(x,y),x') = x
    ]]></literal>
    <justification jstring="[para(41(a,1),871(a,2)),rewrite(333(17))].">
      <j1 rule="para" parents="41 871"/>
      <j2 rule="rewrite" parents="333"/>
    </justification>
  </clause>

  <clause id="1062">
    <literal><![CDATA[
      f(x,y) = (x ^ y)'''
    ]]></literal>
    <justification jstring="[para(992(a,1),29(a,2)),rewrite(20(2),997(5)),flip(a)].">
      <j1 rule="para" parents="992 29"/>
      <j2 rule="rewrite" parents="20 997"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1077">
    <literal><![CDATA[
      ((x ^ y)''' ^ x')''' = x
    ]]></literal>
    <justification jstring="[back_rewrite(1018),rewrite(1062(1),1062(6))].">
      <j1 rule="back_rewrite" parents="1018"/>
      <j2 rule="rewrite" parents="1062 1062"/>
    </justification>
  </clause>

  <clause id="1092">
    <literal><![CDATA[
      ((((x ^ y)''' ^ (y ^ z)''')''' ^ u)''' ^ y')''' = y
    ]]></literal>
    <justification jstring="[back_rewrite(977),rewrite(1062(1),1062(5),1062(9),1062(13),1062(18))].">
      <j1 rule="back_rewrite" parents="977"/>
      <j2 rule="rewrite" parents="1062 1062 1062 1062 1062"/>
    </justification>
  </clause>

  <clause id="1109">
    <literal><![CDATA[
      (x' ^ ((x' ^ (x ^ y)''')''' ^ x)''')''' = (x' ^ (x ^ y)''')'''
    ]]></literal>
    <justification jstring="[back_rewrite(845),rewrite(1062(3),1062(7),1062(11),1062(15),1062(20),1062(24))].">
      <j1 rule="back_rewrite" parents="845"/>
      <j2 rule="rewrite" parents="1062 1062 1062 1062 1062 1062"/>
    </justification>
  </clause>

  <clause id="1128">
    <literal><![CDATA[
      (x ^ y)''' ^ (y ^ ((y ^ (x' ^ x)''')''' ^ z)''')''' = y'
    ]]></literal>
    <justification jstring="[back_rewrite(755),rewrite(1062(1),1062(6),1062(10),1062(14),1062(18))].">
      <j1 rule="back_rewrite" parents="755"/>
      <j2 rule="rewrite" parents="1062 1062 1062 1062 1062"/>
    </justification>
  </clause>

  <clause id="1130">
    <literal><![CDATA[
      x'''' = x
    ]]></literal>
    <justification jstring="[back_rewrite(744),rewrite(1062(1),1062(6),1062(10),1062(14),1062(18),1062(22),1128(22))].">
      <j1 rule="back_rewrite" parents="744"/>
      <j2 rule="rewrite" parents="1062 1062 1062 1062 1062 1062 1128"/>
    </justification>
  </clause>

  <clause id="1141">
    <literal><![CDATA[
      ((x ^ y)''' ^ (y ^ z)''') ^ (y ^ ((y ^ (x' ^ x)''')''' ^ z)''')''' = y'
    ]]></literal>
    <justification jstring="[back_rewrite(194),rewrite(1062(1),1062(5),1062(11),1062(15),1062(19),1062(23))].">
      <j1 rule="back_rewrite" parents="194"/>
      <j2 rule="rewrite" parents="1062 1062 1062 1062 1062 1062"/>
    </justification>
  </clause>

  <clause id="1145">
    <literal><![CDATA[
      (c7 ^ c7')''' != (c6 ^ c6')'''
    ]]></literal>
    <attribute><![CDATA[
      answer(one)
    ]]></attribute>
    <justification jstring="[back_rewrite(17),rewrite(1062(4),1062(11))].">
      <j1 rule="back_rewrite" parents="17"/>
      <j2 rule="rewrite" parents="1062 1062"/>
    </justification>
  </clause>

  <clause id="1152">
    <literal><![CDATA[
      x'' = x
    ]]></literal>
    <justification jstring="[para(25(a,1),1077(a,1,1,1,1,1,1,1,1)),rewrite(1130(4),25(3),1130(4))].">
      <j1 rule="para" parents="25 1077"/>
      <j2 rule="rewrite" parents="1130 25 1130"/>
    </justification>
  </clause>

  <clause id="1155">
    <literal><![CDATA[
      (x ^ y)' ^ x' = x'
    ]]></literal>
    <justification jstring="[para(1077(a,1),756(a,2,1)),rewrite(1152(3),1152(6),1152(7),1152(10),1152(10),25(9),1152(6))].">
      <j1 rule="para" parents="1077 756"/>
      <j2 rule="rewrite" parents="1152 1152 1152 1152 1152 25 1152"/>
    </justification>
  </clause>

  <clause id="1156">
    <literal><![CDATA[
      ((x' ^ y)' ^ x)' = x'
    ]]></literal>
    <justification jstring="[para(1130(a,1),1077(a,1,1,1,1,2)),rewrite(1152(2),1152(4),1152(6),1152(7))].">
      <j1 rule="para" parents="1130 1077"/>
      <j2 rule="rewrite" parents="1152 1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1160">
    <literal><![CDATA[
      (c7 ^ c7')' != (c6 ^ c6')'
    ]]></literal>
    <attribute><![CDATA[
      answer(one)
    ]]></attribute>
    <justification jstring="[back_rewrite(1145),rewrite(1152(6),1152(11))].">
      <j1 rule="back_rewrite" parents="1145"/>
      <j2 rule="rewrite" parents="1152 1152"/>
    </justification>
  </clause>

  <clause id="1164">
    <literal><![CDATA[
      ((x ^ y)' ^ (y ^ z)') ^ (y ^ ((y ^ (x' ^ x)')' ^ z)')' = y'
    ]]></literal>
    <justification jstring="[back_rewrite(1141),rewrite(1152(3),1152(5),1152(9),1152(11),1152(13),1152(15))].">
      <j1 rule="back_rewrite" parents="1141"/>
      <j2 rule="rewrite" parents="1152 1152 1152 1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1172">
    <literal><![CDATA[
      (x ^ y)' ^ (y ^ ((y ^ (x' ^ x)')' ^ z)')' = y'
    ]]></literal>
    <justification jstring="[back_rewrite(1128),rewrite(1152(3),1152(6),1152(8),1152(10),1152(12))].">
      <j1 rule="back_rewrite" parents="1128"/>
      <j2 rule="rewrite" parents="1152 1152 1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1173">
    <literal><![CDATA[
      (x' ^ (x ^ y)')' = x
    ]]></literal>
    <justification jstring="[back_rewrite(1109),rewrite(1152(5),1152(7),1156(8),1152(3),25(3),1152(2),1152(2),1152(2),1152(4),1152(6)),flip(a)].">
      <j1 rule="back_rewrite" parents="1109"/>
      <j2 rule="rewrite" parents="1152 1152 1156 1152 25 1152 1152 1152 1152 1152"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1183">
    <literal><![CDATA[
      ((((x ^ y)' ^ (y ^ z)')' ^ u)' ^ y')' = y
    ]]></literal>
    <justification jstring="[back_rewrite(1092),rewrite(1152(3),1152(5),1152(7),1152(9),1152(12))].">
      <j1 rule="back_rewrite" parents="1092"/>
      <j2 rule="rewrite" parents="1152 1152 1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1191">
    <literal><![CDATA[
      x ^ x = x
    ]]></literal>
    <justification jstring="[back_rewrite(25),rewrite(1152(3))].">
      <j1 rule="back_rewrite" parents="25"/>
      <j2 rule="rewrite" parents="1152"/>
    </justification>
  </clause>

  <clause id="1194">
    <literal><![CDATA[
      (x' ^ y)' ^ x = x
    ]]></literal>
    <justification jstring="[para(1152(a,1),1155(a,1,2)),rewrite(1152(6))].">
      <j1 rule="para" parents="1152 1155"/>
      <j2 rule="rewrite" parents="1152"/>
    </justification>
  </clause>

  <clause id="1195">
    <literal><![CDATA[
      x' ^ (x ^ y)' = x'
    ]]></literal>
    <justification jstring="[para(1173(a,1),1152(a,1,1)),flip(a)].">
      <j1 rule="para" parents="1173 1152"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1202">
    <literal><![CDATA[
      x ^ ((y ^ x)' ^ (x ^ z)')' = ((y ^ x)' ^ (x ^ z)')'
    ]]></literal>
    <justification jstring="[para(1164(a,1),1155(a,1,1,1)),rewrite(1152(2))].">
      <j1 rule="para" parents="1164 1155"/>
      <j2 rule="rewrite" parents="1152"/>
    </justification>
  </clause>

  <clause id="1204">
    <literal><![CDATA[
      ((x ^ (y ^ z)')' ^ y) ^ ((y ^ z)' ^ (((y ^ z)' ^ (x' ^ x)')' ^ y')')' = y ^ z
    ]]></literal>
    <justification jstring="[para(1155(a,1),1164(a,1,1,2,1)),rewrite(1152(6),1152(23))].">
      <j1 rule="para" parents="1155 1164"/>
      <j2 rule="rewrite" parents="1152 1152"/>
    </justification>
  </clause>

  <clause id="1210">
    <literal><![CDATA[
      x ^ (x' ^ y)' = x
    ]]></literal>
    <justification jstring="[para(1152(a,1),1195(a,1,1)),rewrite(1152(6))].">
      <j1 rule="para" parents="1152 1195"/>
      <j2 rule="rewrite" parents="1152"/>
    </justification>
  </clause>

  <clause id="1211">
    <literal><![CDATA[
      (x ^ y) ^ x = x ^ y
    ]]></literal>
    <justification jstring="[para(1155(a,1),1195(a,1,2,1)),rewrite(1152(3),1152(3),1152(5))].">
      <j1 rule="para" parents="1155 1195"/>
      <j2 rule="rewrite" parents="1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1215">
    <literal><![CDATA[
      ((x ^ y)' ^ (y ^ z)')' ^ y = ((x ^ y)' ^ (y ^ z)')'
    ]]></literal>
    <justification jstring="[para(1164(a,1),1195(a,1,2,1)),rewrite(1152(8))].">
      <j1 rule="para" parents="1164 1195"/>
      <j2 rule="rewrite" parents="1152"/>
    </justification>
  </clause>

  <clause id="1262">
    <literal><![CDATA[
      (x ^ y)' ^ y' = y'
    ]]></literal>
    <justification jstring="[para(1172(a,1),973(a,1,2)),rewrite(1172(16))].">
      <j1 rule="para" parents="1172 973"/>
      <j2 rule="rewrite" parents="1172"/>
    </justification>
  </clause>

  <clause id="1264">
    <literal><![CDATA[
      x ^ (y ^ x) = y ^ x
    ]]></literal>
    <justification jstring="[para(1172(a,1),1155(a,1,1,1)),rewrite(1152(2),1152(3),1152(5))].">
      <j1 rule="para" parents="1172 1155"/>
      <j2 rule="rewrite" parents="1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1267">
    <literal><![CDATA[
      (x ^ y')' ^ y = y
    ]]></literal>
    <justification jstring="[para(1194(a,1),1172(a,1,2,1,2,1)),rewrite(1191(6),1152(5),1152(6))].">
      <j1 rule="para" parents="1194 1172"/>
      <j2 rule="rewrite" parents="1191 1152 1152"/>
    </justification>
  </clause>

  <clause id="1275">
    <literal><![CDATA[
      x ^ (y ^ x')' = x
    ]]></literal>
    <justification jstring="[para(1264(a,1),1210(a,1,2,1))].">
      <j1 rule="para" parents="1264 1210"/>
    </justification>
  </clause>

  <clause id="1284">
    <literal><![CDATA[
      (x ^ (y ^ (x' ^ x))')' ^ ((y ^ (x' ^ x))' ^ ((x' ^ x) ^ z)')' = y ^ (x' ^ x)
    ]]></literal>
    <justification jstring="[para(1267(a,1),1172(a,1,2,1,2,1,1,1)),rewrite(1152(4),1152(10),1152(14),1152(21),1152(22))].">
      <j1 rule="para" parents="1267 1172"/>
      <j2 rule="rewrite" parents="1152 1152 1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1358">
    <literal><![CDATA[
      (((x ^ y) ^ z)' ^ x')' = x
    ]]></literal>
    <justification jstring="[para(1155(a,1),1183(a,1,1,1,1,1,1)),rewrite(1152(3))].">
      <j1 rule="para" parents="1155 1183"/>
      <j2 rule="rewrite" parents="1152"/>
    </justification>
  </clause>

  <clause id="1375">
    <literal><![CDATA[
      ((x ^ y) ^ z)' ^ x' = x'
    ]]></literal>
    <justification jstring="[para(1358(a,1),1152(a,1,1)),flip(a)].">
      <j1 rule="para" parents="1358 1152"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1377">
    <literal><![CDATA[
      x ^ ((x ^ y) ^ z) = (x ^ y) ^ z
    ]]></literal>
    <justification jstring="[para(1358(a,1),1155(a,1,1)),rewrite(1152(4),1152(7))].">
      <j1 rule="para" parents="1358 1155"/>
      <j2 rule="rewrite" parents="1152 1152"/>
    </justification>
  </clause>

  <clause id="1410">
    <literal><![CDATA[
      ((x' ^ y) ^ z)' ^ x = x
    ]]></literal>
    <justification jstring="[para(1152(a,1),1375(a,1,2)),rewrite(1152(7))].">
      <j1 rule="para" parents="1152 1375"/>
      <j2 rule="rewrite" parents="1152"/>
    </justification>
  </clause>

  <clause id="1424">
    <literal><![CDATA[
      x ^ ((x' ^ y) ^ z)' = x
    ]]></literal>
    <justification jstring="[para(1410(a,1),1211(a,1,1)),rewrite(1410(10))].">
      <j1 rule="para" parents="1410 1211"/>
      <j2 rule="rewrite" parents="1410"/>
    </justification>
  </clause>

  <clause id="1439">
    <literal><![CDATA[
      (x ^ y) ^ (y' ^ z)' = x ^ y
    ]]></literal>
    <justification jstring="[para(1172(a,1),1424(a,1,2,1,1))].">
      <j1 rule="para" parents="1172 1424"/>
    </justification>
  </clause>

  <clause id="1441">
    <literal><![CDATA[
      x ^ (y ^ (x' ^ z))' = x
    ]]></literal>
    <justification jstring="[para(1264(a,1),1424(a,1,2,1))].">
      <j1 rule="para" parents="1264 1424"/>
    </justification>
  </clause>

  <clause id="1447">
    <literal><![CDATA[
      x' ^ ((y ^ (x' ^ x))' ^ ((x' ^ x) ^ z)')' = y ^ (x' ^ x)
    ]]></literal>
    <justification jstring="[back_rewrite(1284),rewrite(1441(5))].">
      <j1 rule="back_rewrite" parents="1284"/>
      <j2 rule="rewrite" parents="1441"/>
    </justification>
  </clause>

  <clause id="1678">
    <literal><![CDATA[
      x ^ ((y ^ (x ^ z))' ^ ((x ^ z) ^ u)')' = ((y ^ (x ^ z))' ^ ((x ^ z) ^ u)')'
    ]]></literal>
    <justification jstring="[para(1202(a,1),1377(a,1,2)),rewrite(1202(19))].">
      <j1 rule="para" parents="1202 1377"/>
      <j2 rule="rewrite" parents="1202"/>
    </justification>
  </clause>

  <clause id="1683">
    <literal><![CDATA[
      ((x ^ (y' ^ y))' ^ ((y' ^ y) ^ z)')' = x ^ (y' ^ y)
    ]]></literal>
    <justification jstring="[back_rewrite(1447),rewrite(1678(12))].">
      <j1 rule="back_rewrite" parents="1447"/>
      <j2 rule="rewrite" parents="1678"/>
    </justification>
  </clause>

  <clause id="1708">
    <literal><![CDATA[
      (x' ^ x) ^ y = x' ^ x
    ]]></literal>
    <justification jstring="[para(1155(a,1),1204(a,1,2,1,2,1,1,1)),rewrite(1424(5),973(4),1152(10),1439(12),1155(10),1152(6),1191(5)),flip(a)].">
      <j1 rule="para" parents="1155 1204"/>
      <j2 rule="rewrite" parents="1424 973 1152 1439 1155 1152 1191"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1742">
    <literal><![CDATA[
      x ^ (y' ^ y) = y' ^ y
    ]]></literal>
    <justification jstring="[back_rewrite(1683),rewrite(1708(7),1262(8),1152(4)),flip(a)].">
      <j1 rule="back_rewrite" parents="1683"/>
      <j2 rule="rewrite" parents="1708 1262 1152"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1750">
    <literal><![CDATA[
      (x' ^ x)' ^ y = y
    ]]></literal>
    <justification jstring="[para(1708(a,1),1267(a,1,1,1))].">
      <j1 rule="para" parents="1708 1267"/>
    </justification>
  </clause>

  <clause id="1751">
    <literal><![CDATA[
      x ^ (y' ^ y)' = x
    ]]></literal>
    <justification jstring="[para(1708(a,1),1275(a,1,2,1))].">
      <j1 rule="para" parents="1708 1275"/>
    </justification>
  </clause>

  <clause id="1761">
    <literal><![CDATA[
      (x' ^ x)' = (y' ^ y)'
    ]]></literal>
    <justification jstring="[para(1751(a,1),1750(a,1))].">
      <j1 rule="para" parents="1751 1750"/>
    </justification>
  </clause>

  <clause id="1764">
    <literal><![CDATA[
      (x' ^ x)' = c_0
    ]]></literal>
    <justification jstring="[new_symbol(1761)].">
      <j1 rule="new_symbol" parents="1761"/>
    </justification>
  </clause>

  <clause id="1805">
    <literal><![CDATA[
      x' ^ x = c_0'
    ]]></literal>
    <justification jstring="[para(1708(a,1),1215(a,1,1,1,2,1)),rewrite(1742(3),1764(3),1764(4),1191(3),1742(5),1742(5),1764(5),1708(6),1764(6),1191(5))].">
      <j1 rule="para" parents="1708 1215"/>
      <j2 rule="rewrite" parents="1742 1764 1764 1191 1742 1742 1764 1708 1764 1191"/>
    </justification>
  </clause>

  <clause id="1810">
    <literal><![CDATA[
      x ^ x' = c_0'
    ]]></literal>
    <justification jstring="[para(1152(a,1),1805(a,1,1))].">
      <j1 rule="para" parents="1152 1805"/>
    </justification>
  </clause>

  <clause id="1812">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer(one)
    ]]></attribute>
    <justification jstring="[back_rewrite(1160),rewrite(1810(4),1152(3),1810(5),1152(4)),xx(a)].">
      <j1 rule="back_rewrite" parents="1160"/>
      <j2 rule="rewrite" parents="1810 1152 1810 1152"/>
      <j2 rule="xx"/>
    </justification>
  </clause>

</proof>

<proof number="3" length="130" max_count="46">

<comments><![CDATA[
% Proof 3 at 2.86 (+ 0.07) seconds: combined.
% Length of proof is 130.
% Level of proof is 28.
% Maximum clause weight is 46.
% Given clauses 310.
]]></comments>

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

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

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

  <clause id="7">
    <literal><![CDATA[
      f(f(x,x),f(y,y)) = x v y
    ]]></literal>
    <justification jstring="[copy(6),flip(a)].">
      <j1 rule="copy" parents="6"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="9">
    <literal><![CDATA[
      f(f(x,y),f(x,y)) = x ^ y
    ]]></literal>
    <justification jstring="[copy(8),flip(a)].">
      <j1 rule="copy" parents="8"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="11">
    <literal><![CDATA[
      f(x,x) = x'
    ]]></literal>
    <justification jstring="[copy(10),flip(a)].">
      <j1 rule="copy" parents="10"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="18" type="deny">
    <literal><![CDATA[
      f(c8,f(f(c9,c10),f(c9,c10))) != f(c9,f(f(c8,c10),f(c8,c10)))
    ]]></literal>
    <literal><![CDATA[
      f(f(c8,c8),f(c8,c9)) != c8
    ]]></literal>
    <literal><![CDATA[
      f(c8,f(c8,c8)) != f(c9,f(c9,c9))
    ]]></literal>
    <attribute><![CDATA[
      answer(combined)
    ]]></attribute>
    <justification jstring="[deny(4)].">
      <j1 rule="deny" parents="4"/>
    </justification>
  </clause>

  <clause id="19">
    <literal><![CDATA[
      f(c9,f(c8,c10)') != f(c8,f(c9,c10)')
    ]]></literal>
    <literal><![CDATA[
      f(c8',f(c8,c9)) != c8
    ]]></literal>
    <literal><![CDATA[
      f(c9,c9') != f(c8,c8')
    ]]></literal>
    <attribute><![CDATA[
      answer(combined)
    ]]></attribute>
    <justification jstring="[copy(18),rewrite(11(8),11(14),11(16),11(25),11(29)),flip(a),flip(c)].">
      <j1 rule="copy" parents="18"/>
      <j2 rule="rewrite" parents="11 11 11 11 11"/>
      <j2 rule="flip"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="20">
    <literal><![CDATA[
      f(x,y)' = x ^ y
    ]]></literal>
    <justification jstring="[back_rewrite(9),rewrite(11(3))].">
      <j1 rule="back_rewrite" parents="9"/>
      <j2 rule="rewrite" parents="11"/>
    </justification>
  </clause>

  <clause id="21">
    <literal><![CDATA[
      f(x',y') = x v y
    ]]></literal>
    <justification jstring="[back_rewrite(7),rewrite(11(1),11(2))].">
      <j1 rule="back_rewrite" parents="7"/>
      <j2 rule="rewrite" parents="11 11"/>
    </justification>
  </clause>

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

  <clause id="23">
    <literal><![CDATA[
      f(c9,c8 ^ c10) != f(c8,c9 ^ c10)
    ]]></literal>
    <literal><![CDATA[
      f(c8',f(c8,c9)) != c8
    ]]></literal>
    <literal><![CDATA[
      f(c9,c9') != f(c8,c8')
    ]]></literal>
    <attribute><![CDATA[
      answer(combined)
    ]]></attribute>
    <justification jstring="[back_rewrite(19),rewrite(20(5),20(10))].">
      <j1 rule="back_rewrite" parents="19"/>
      <j2 rule="rewrite" parents="20 20"/>
    </justification>
  </clause>

  <clause id="25">
    <literal><![CDATA[
      x ^ x = x''
    ]]></literal>
    <justification jstring="[para(11(a,1),20(a,1,1)),flip(a)].">
      <j1 rule="para" parents="11 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="27">
    <literal><![CDATA[
      (x v y)' = x' ^ y'
    ]]></literal>
    <justification jstring="[para(21(a,1),20(a,1,1))].">
      <j1 rule="para" parents="21 20"/>
    </justification>
  </clause>

  <clause id="29">
    <literal><![CDATA[
      f(x',y ^ z) = x v f(y,z)
    ]]></literal>
    <justification jstring="[para(20(a,1),21(a,1,2))].">
      <j1 rule="para" parents="20 21"/>
    </justification>
  </clause>

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

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

  <clause id="33">
    <literal><![CDATA[
      f(f(x,y) ^ f(y,z),f(y,f(f(y,f(x',x)),z))) = y
    ]]></literal>
    <justification jstring="[para(11(a,1),22(a,1,1)),rewrite(20(4))].">
      <j1 rule="para" parents="11 22"/>
      <j2 rule="rewrite" parents="20"/>
    </justification>
  </clause>

  <clause id="35">
    <literal><![CDATA[
      f(f(f(f(x,y),f(y,f(y,f(x',x)))),z),f(y,y ^ f(x',x))) = y
    ]]></literal>
    <justification jstring="[para(11(a,1),22(a,1,2,2)),rewrite(20(11))].">
      <j1 rule="para" parents="11 22"/>
      <j2 rule="rewrite" parents="20"/>
    </justification>
  </clause>

  <clause id="36">
    <literal><![CDATA[
      f(f(f(x,y),f(y,z)),u) ^ f(y,f(f(y,f(x',x)),z)) = y'
    ]]></literal>
    <justification jstring="[para(22(a,1),20(a,1,1)),flip(a)].">
      <j1 rule="para" parents="22 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="41">
    <literal><![CDATA[
      f(f(x,y),f(x,f(f(x,f(f(z,x) ^ f(x,u),f(f(z,x),f(x,u)))),f(f(x,f(z',z)),u)))) = x
    ]]></literal>
    <justification jstring="[para(22(a,1),22(a,1,1,1)),rewrite(20(5))].">
      <j1 rule="para" parents="22 22"/>
      <j2 rule="rewrite" parents="20"/>
    </justification>
  </clause>

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

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

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

  <clause id="181">
    <literal><![CDATA[
      f(x''',f(x,f(f(x,f(x',x)),x))) = x
    ]]></literal>
    <justification jstring="[para(11(a,1),32(a,1,1))].">
      <j1 rule="para" parents="11 32"/>
    </justification>
  </clause>

  <clause id="190">
    <literal><![CDATA[
      f(x,f(x',f(f(x',x' v x),y))) = x'
    ]]></literal>
    <justification jstring="[para(32(a,1),30(a,1,1)),rewrite(21(6))].">
      <j1 rule="para" parents="32 30"/>
      <j2 rule="rewrite" parents="21"/>
    </justification>
  </clause>

  <clause id="194">
    <literal><![CDATA[
      (f(x,y) ^ f(y,z)) ^ f(y,f(f(y,f(x',x)),z)) = y'
    ]]></literal>
    <justification jstring="[para(33(a,1),20(a,1,1)),flip(a)].">
      <j1 rule="para" parents="33 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="217">
    <literal><![CDATA[
      x''' ^ f(x,f(f(x,f(x',x)),x)) = x'
    ]]></literal>
    <justification jstring="[para(181(a,1),20(a,1,1)),flip(a)].">
      <j1 rule="para" parents="181 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="230">
    <literal><![CDATA[
      x ^ f(x',f(f(x',x' v x),y)) = x''
    ]]></literal>
    <justification jstring="[para(190(a,1),20(a,1,1)),flip(a)].">
      <j1 rule="para" parents="190 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="236">
    <literal><![CDATA[
      f(x',f(x'',x)) = x''
    ]]></literal>
    <justification jstring="[para(32(a,1),190(a,1,2,2))].">
      <j1 rule="para" parents="32 190"/>
    </justification>
  </clause>

  <clause id="238">
    <literal><![CDATA[
      x' ^ f(x'',x) = x'''
    ]]></literal>
    <justification jstring="[para(236(a,1),20(a,1,1)),flip(a)].">
      <j1 rule="para" parents="236 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="240">
    <literal><![CDATA[
      f(x'',x'' v x) = x'''
    ]]></literal>
    <justification jstring="[para(21(a,1),236(a,1,2))].">
      <j1 rule="para" parents="21 236"/>
    </justification>
  </clause>

  <clause id="261">
    <literal><![CDATA[
      x'' ^ (x'' v x) = x''''
    ]]></literal>
    <justification jstring="[para(21(a,1),238(a,1,2))].">
      <j1 rule="para" parents="21 238"/>
    </justification>
  </clause>

  <clause id="306">
    <literal><![CDATA[
      f(x,f(f(x,y),f(x,y) ^ (x' v x))) = f(x,y)
    ]]></literal>
    <justification jstring="[para(30(a,1),35(a,1,1)),rewrite(21(6))].">
      <j1 rule="para" parents="30 35"/>
      <j2 rule="rewrite" parents="21"/>
    </justification>
  </clause>

  <clause id="333">
    <literal><![CDATA[
      f(x,y) ^ f(x,f(f(x,f(f(z,x) ^ f(x,u),f(f(z,x),f(x,u)))),f(f(x,f(z',z)),u))) = x'
    ]]></literal>
    <justification jstring="[para(22(a,1),36(a,1,1,1)),rewrite(20(5))].">
      <j1 rule="para" parents="22 36"/>
      <j2 rule="rewrite" parents="20"/>
    </justification>
  </clause>

  <clause id="401">
    <literal><![CDATA[
      x ^ f(f(x,y),f(x,y) ^ (x' v x)) = x ^ y
    ]]></literal>
    <justification jstring="[para(306(a,1),20(a,1,1)),rewrite(20(2)),flip(a)].">
      <j1 rule="para" parents="306 20"/>
      <j2 rule="rewrite" parents="20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="755">
    <literal><![CDATA[
      f(x,y) ^ f(y,f(f(y,f(x',x)),z)) = y'
    ]]></literal>
    <justification jstring="[para(41(a,1),36(a,1,1))].">
      <j1 rule="para" parents="41 36"/>
    </justification>
  </clause>

  <clause id="756">
    <literal><![CDATA[
      x ^ x'' = x''
    ]]></literal>
    <justification jstring="[para(41(a,1),230(a,1,2,2)),rewrite(11(3))].">
      <j1 rule="para" parents="41 230"/>
      <j2 rule="rewrite" parents="11"/>
    </justification>
  </clause>

  <clause id="762">
    <literal><![CDATA[
      f(x,y) ^ f(x,x ^ ((x ^ y) v f(x,y))) = x'
    ]]></literal>
    <justification jstring="[para(41(a,1),401(a,1,2,1)),rewrite(41(17),20(3),333(23))].">
      <j1 rule="para" parents="41 401"/>
      <j2 rule="rewrite" parents="41 20 333"/>
    </justification>
  </clause>

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

  <clause id="871">
    <literal><![CDATA[
      f(x,x ^ y) = f(x,y)
    ]]></literal>
    <justification jstring="[para(41(a,1),42(a,1,2,2)),rewrite(11(3),20(2))].">
      <j1 rule="para" parents="41 42"/>
      <j2 rule="rewrite" parents="11 20"/>
    </justification>
  </clause>

  <clause id="886">
    <literal><![CDATA[
      f(x,y) ^ f(x,(x ^ y) v f(x,y)) = x'
    ]]></literal>
    <justification jstring="[back_rewrite(762),rewrite(871(6))].">
      <j1 rule="back_rewrite" parents="762"/>
      <j2 rule="rewrite" parents="871"/>
    </justification>
  </clause>

  <clause id="973">
    <literal><![CDATA[
      x ^ (x ^ y) = x ^ y
    ]]></literal>
    <justification jstring="[para(871(a,1),20(a,1,1)),rewrite(20(2)),flip(a)].">
      <j1 rule="para" parents="871 20"/>
      <j2 rule="rewrite" parents="20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="977">
    <literal><![CDATA[
      f(f(f(f(x,y),f(y,z)),u),y') = y
    ]]></literal>
    <justification jstring="[para(22(a,1),871(a,2)),rewrite(36(14))].">
      <j1 rule="para" parents="22 871"/>
      <j2 rule="rewrite" parents="36"/>
    </justification>
  </clause>

  <clause id="992">
    <literal><![CDATA[
      x'' v x = x
    ]]></literal>
    <justification jstring="[para(181(a,1),871(a,2)),rewrite(217(12),21(5))].">
      <j1 rule="para" parents="181 871"/>
      <j2 rule="rewrite" parents="217 21"/>
    </justification>
  </clause>

  <clause id="997">
    <literal><![CDATA[
      f(x'',x) = x'''
    ]]></literal>
    <justification jstring="[para(240(a,1),871(a,2)),rewrite(992(7),871(6))].">
      <j1 rule="para" parents="240 871"/>
      <j2 rule="rewrite" parents="992 871"/>
    </justification>
  </clause>

  <clause id="1018">
    <literal><![CDATA[
      f(f(x,y),x') = x
    ]]></literal>
    <justification jstring="[para(41(a,1),871(a,2)),rewrite(333(17))].">
      <j1 rule="para" parents="41 871"/>
      <j2 rule="rewrite" parents="333"/>
    </justification>
  </clause>

  <clause id="1048">
    <literal><![CDATA[
      x'' ^ x = x''''
    ]]></literal>
    <justification jstring="[back_rewrite(261),rewrite(992(5))].">
      <j1 rule="back_rewrite" parents="261"/>
      <j2 rule="rewrite" parents="992"/>
    </justification>
  </clause>

  <clause id="1060">
    <literal><![CDATA[
      x''''' = x'
    ]]></literal>
    <justification jstring="[para(992(a,1),27(a,1,1)),rewrite(1048(6)),flip(a)].">
      <j1 rule="para" parents="992 27"/>
      <j2 rule="rewrite" parents="1048"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1062">
    <literal><![CDATA[
      f(x,y) = (x ^ y)'''
    ]]></literal>
    <justification jstring="[para(992(a,1),29(a,2)),rewrite(20(2),997(5)),flip(a)].">
      <j1 rule="para" parents="992 29"/>
      <j2 rule="rewrite" parents="20 997"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1063">
    <literal><![CDATA[
      x v y = (x' ^ y')'''
    ]]></literal>
    <justification jstring="[para(992(a,1),43(a,2,2)),rewrite(1048(6),1060(6),1062(3)),flip(a)].">
      <j1 rule="para" parents="992 43"/>
      <j2 rule="rewrite" parents="1048 1060 1062"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1065">
    <literal><![CDATA[
      (x' ^ (y ^ z)'''')''' = (x' ^ (y ^ z))'''
    ]]></literal>
    <justification jstring="[para(992(a,1),52(a,2,1)),rewrite(1048(5),1060(5),1062(3),1062(7),1063(11)),flip(a)].">
      <j1 rule="para" parents="992 52"/>
      <j2 rule="rewrite" parents="1048 1060 1062 1062 1063"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1077">
    <literal><![CDATA[
      ((x ^ y)''' ^ x')''' = x
    ]]></literal>
    <justification jstring="[back_rewrite(1018),rewrite(1062(1),1062(6))].">
      <j1 rule="back_rewrite" parents="1018"/>
      <j2 rule="rewrite" parents="1062 1062"/>
    </justification>
  </clause>

  <clause id="1092">
    <literal><![CDATA[
      ((((x ^ y)''' ^ (y ^ z)''')''' ^ u)''' ^ y')''' = y
    ]]></literal>
    <justification jstring="[back_rewrite(977),rewrite(1062(1),1062(5),1062(9),1062(13),1062(18))].">
      <j1 rule="back_rewrite" parents="977"/>
      <j2 rule="rewrite" parents="1062 1062 1062 1062 1062"/>
    </justification>
  </clause>

  <clause id="1104">
    <literal><![CDATA[
      (x ^ y)''' ^ (x ^ ((x ^ y)' ^ (x ^ y))''')''' = x'
    ]]></literal>
    <justification jstring="[back_rewrite(886),rewrite(1062(1),1062(6),1063(10),1065(15),1062(12))].">
      <j1 rule="back_rewrite" parents="886"/>
      <j2 rule="rewrite" parents="1062 1062 1063 1065 1062"/>
    </justification>
  </clause>

  <clause id="1109">
    <literal><![CDATA[
      (x' ^ ((x' ^ (x ^ y)''')''' ^ x)''')''' = (x' ^ (x ^ y)''')'''
    ]]></literal>
    <justification jstring="[back_rewrite(845),rewrite(1062(3),1062(7),1062(11),1062(15),1062(20),1062(24))].">
      <j1 rule="back_rewrite" parents="845"/>
      <j2 rule="rewrite" parents="1062 1062 1062 1062 1062 1062"/>
    </justification>
  </clause>

  <clause id="1128">
    <literal><![CDATA[
      (x ^ y)''' ^ (y ^ ((y ^ (x' ^ x)''')''' ^ z)''')''' = y'
    ]]></literal>
    <justification jstring="[back_rewrite(755),rewrite(1062(1),1062(6),1062(10),1062(14),1062(18))].">
      <j1 rule="back_rewrite" parents="755"/>
      <j2 rule="rewrite" parents="1062 1062 1062 1062 1062"/>
    </justification>
  </clause>

  <clause id="1130">
    <literal><![CDATA[
      x'''' = x
    ]]></literal>
    <justification jstring="[back_rewrite(744),rewrite(1062(1),1062(6),1062(10),1062(14),1062(18),1062(22),1128(22))].">
      <j1 rule="back_rewrite" parents="744"/>
      <j2 rule="rewrite" parents="1062 1062 1062 1062 1062 1062 1128"/>
    </justification>
  </clause>

  <clause id="1141">
    <literal><![CDATA[
      ((x ^ y)''' ^ (y ^ z)''') ^ (y ^ ((y ^ (x' ^ x)''')''' ^ z)''')''' = y'
    ]]></literal>
    <justification jstring="[back_rewrite(194),rewrite(1062(1),1062(5),1062(11),1062(15),1062(19),1062(23))].">
      <j1 rule="back_rewrite" parents="194"/>
      <j2 rule="rewrite" parents="1062 1062 1062 1062 1062 1062"/>
    </justification>
  </clause>

  <clause id="1144">
    <literal><![CDATA[
      (c9 ^ (c8 ^ c10))''' != (c8 ^ (c9 ^ c10))'''
    ]]></literal>
    <literal><![CDATA[
      (c8' ^ (c8 ^ c9)''')''' != c8
    ]]></literal>
    <literal><![CDATA[
      (c9 ^ c9')''' != (c8 ^ c8')'''
    ]]></literal>
    <attribute><![CDATA[
      answer(combined)
    ]]></attribute>
    <justification jstring="[back_rewrite(23),rewrite(1062(5),1062(13),1062(22),1062(26),1062(35),1062(42))].">
      <j1 rule="back_rewrite" parents="23"/>
      <j2 rule="rewrite" parents="1062 1062 1062 1062 1062 1062"/>
    </justification>
  </clause>

  <clause id="1152">
    <literal><![CDATA[
      x'' = x
    ]]></literal>
    <justification jstring="[para(25(a,1),1077(a,1,1,1,1,1,1,1,1)),rewrite(1130(4),25(3),1130(4))].">
      <j1 rule="para" parents="25 1077"/>
      <j2 rule="rewrite" parents="1130 25 1130"/>
    </justification>
  </clause>

  <clause id="1155">
    <literal><![CDATA[
      (x ^ y)' ^ x' = x'
    ]]></literal>
    <justification jstring="[para(1077(a,1),756(a,2,1)),rewrite(1152(3),1152(6),1152(7),1152(10),1152(10),25(9),1152(6))].">
      <j1 rule="para" parents="1077 756"/>
      <j2 rule="rewrite" parents="1152 1152 1152 1152 1152 25 1152"/>
    </justification>
  </clause>

  <clause id="1156">
    <literal><![CDATA[
      ((x' ^ y)' ^ x)' = x'
    ]]></literal>
    <justification jstring="[para(1130(a,1),1077(a,1,1,1,1,2)),rewrite(1152(2),1152(4),1152(6),1152(7))].">
      <j1 rule="para" parents="1130 1077"/>
      <j2 rule="rewrite" parents="1152 1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1161">
    <literal><![CDATA[
      (c9 ^ (c8 ^ c10))' != (c8 ^ (c9 ^ c10))'
    ]]></literal>
    <literal><![CDATA[
      (c8' ^ (c8 ^ c9)')' != c8
    ]]></literal>
    <literal><![CDATA[
      (c9 ^ c9')' != (c8 ^ c8')'
    ]]></literal>
    <attribute><![CDATA[
      answer(combined)
    ]]></attribute>
    <justification jstring="[back_rewrite(1144),rewrite(1152(7),1152(13),1152(20),1152(22),1152(29),1152(34))].">
      <j1 rule="back_rewrite" parents="1144"/>
      <j2 rule="rewrite" parents="1152 1152 1152 1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1164">
    <literal><![CDATA[
      ((x ^ y)' ^ (y ^ z)') ^ (y ^ ((y ^ (x' ^ x)')' ^ z)')' = y'
    ]]></literal>
    <justification jstring="[back_rewrite(1141),rewrite(1152(3),1152(5),1152(9),1152(11),1152(13),1152(15))].">
      <j1 rule="back_rewrite" parents="1141"/>
      <j2 rule="rewrite" parents="1152 1152 1152 1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1172">
    <literal><![CDATA[
      (x ^ y)' ^ (y ^ ((y ^ (x' ^ x)')' ^ z)')' = y'
    ]]></literal>
    <justification jstring="[back_rewrite(1128),rewrite(1152(3),1152(6),1152(8),1152(10),1152(12))].">
      <j1 rule="back_rewrite" parents="1128"/>
      <j2 rule="rewrite" parents="1152 1152 1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1173">
    <literal><![CDATA[
      (x' ^ (x ^ y)')' = x
    ]]></literal>
    <justification jstring="[back_rewrite(1109),rewrite(1152(5),1152(7),1156(8),1152(3),25(3),1152(2),1152(2),1152(2),1152(4),1152(6)),flip(a)].">
      <j1 rule="back_rewrite" parents="1109"/>
      <j2 rule="rewrite" parents="1152 1152 1156 1152 25 1152 1152 1152 1152 1152"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1179">
    <literal><![CDATA[
      (x ^ y)' ^ (x ^ ((x ^ y)' ^ (x ^ y))')' = x'
    ]]></literal>
    <justification jstring="[back_rewrite(1104),rewrite(1152(3),1152(8),1152(10))].">
      <j1 rule="back_rewrite" parents="1104"/>
      <j2 rule="rewrite" parents="1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1183">
    <literal><![CDATA[
      ((((x ^ y)' ^ (y ^ z)')' ^ u)' ^ y')' = y
    ]]></literal>
    <justification jstring="[back_rewrite(1092),rewrite(1152(3),1152(5),1152(7),1152(9),1152(12))].">
      <j1 rule="back_rewrite" parents="1092"/>
      <j2 rule="rewrite" parents="1152 1152 1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1191">
    <literal><![CDATA[
      x ^ x = x
    ]]></literal>
    <justification jstring="[back_rewrite(25),rewrite(1152(3))].">
      <j1 rule="back_rewrite" parents="25"/>
      <j2 rule="rewrite" parents="1152"/>
    </justification>
  </clause>

  <clause id="1192">
    <literal><![CDATA[
      (c9 ^ (c8 ^ c10))' != (c8 ^ (c9 ^ c10))'
    ]]></literal>
    <literal><![CDATA[
      (c9 ^ c9')' != (c8 ^ c8')'
    ]]></literal>
    <attribute><![CDATA[
      answer(combined)
    ]]></attribute>
    <justification jstring="[back_rewrite(1161),rewrite(1173(21)),xx(b)].">
      <j1 rule="back_rewrite" parents="1161"/>
      <j2 rule="rewrite" parents="1173"/>
      <j2 rule="xx"/>
    </justification>
  </clause>

  <clause id="1194">
    <literal><![CDATA[
      (x' ^ y)' ^ x = x
    ]]></literal>
    <justification jstring="[para(1152(a,1),1155(a,1,2)),rewrite(1152(6))].">
      <j1 rule="para" parents="1152 1155"/>
      <j2 rule="rewrite" parents="1152"/>
    </justification>
  </clause>

  <clause id="1195">
    <literal><![CDATA[
      x' ^ (x ^ y)' = x'
    ]]></literal>
    <justification jstring="[para(1173(a,1),1152(a,1,1)),flip(a)].">
      <j1 rule="para" parents="1173 1152"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1202">
    <literal><![CDATA[
      x ^ ((y ^ x)' ^ (x ^ z)')' = ((y ^ x)' ^ (x ^ z)')'
    ]]></literal>
    <justification jstring="[para(1164(a,1),1155(a,1,1,1)),rewrite(1152(2))].">
      <j1 rule="para" parents="1164 1155"/>
      <j2 rule="rewrite" parents="1152"/>
    </justification>
  </clause>

  <clause id="1204">
    <literal><![CDATA[
      ((x ^ (y ^ z)')' ^ y) ^ ((y ^ z)' ^ (((y ^ z)' ^ (x' ^ x)')' ^ y')')' = y ^ z
    ]]></literal>
    <justification jstring="[para(1155(a,1),1164(a,1,1,2,1)),rewrite(1152(6),1152(23))].">
      <j1 rule="para" parents="1155 1164"/>
      <j2 rule="rewrite" parents="1152 1152"/>
    </justification>
  </clause>

  <clause id="1210">
    <literal><![CDATA[
      x ^ (x' ^ y)' = x
    ]]></literal>
    <justification jstring="[para(1152(a,1),1195(a,1,1)),rewrite(1152(6))].">
      <j1 rule="para" parents="1152 1195"/>
      <j2 rule="rewrite" parents="1152"/>
    </justification>
  </clause>

  <clause id="1211">
    <literal><![CDATA[
      (x ^ y) ^ x = x ^ y
    ]]></literal>
    <justification jstring="[para(1155(a,1),1195(a,1,2,1)),rewrite(1152(3),1152(3),1152(5))].">
      <j1 rule="para" parents="1155 1195"/>
      <j2 rule="rewrite" parents="1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1215">
    <literal><![CDATA[
      ((x ^ y)' ^ (y ^ z)')' ^ y = ((x ^ y)' ^ (y ^ z)')'
    ]]></literal>
    <justification jstring="[para(1164(a,1),1195(a,1,2,1)),rewrite(1152(8))].">
      <j1 rule="para" parents="1164 1195"/>
      <j2 rule="rewrite" parents="1152"/>
    </justification>
  </clause>

  <clause id="1220">
    <literal><![CDATA[
      x' ^ ((y ^ x)' ^ (x ^ z)') = x'
    ]]></literal>
    <justification jstring="[para(1164(a,1),1211(a,1,1)),rewrite(1164(22))].">
      <j1 rule="para" parents="1164 1211"/>
      <j2 rule="rewrite" parents="1164"/>
    </justification>
  </clause>

  <clause id="1262">
    <literal><![CDATA[
      (x ^ y)' ^ y' = y'
    ]]></literal>
    <justification jstring="[para(1172(a,1),973(a,1,2)),rewrite(1172(16))].">
      <j1 rule="para" parents="1172 973"/>
      <j2 rule="rewrite" parents="1172"/>
    </justification>
  </clause>

  <clause id="1264">
    <literal><![CDATA[
      x ^ (y ^ x) = y ^ x
    ]]></literal>
    <justification jstring="[para(1172(a,1),1155(a,1,1,1)),rewrite(1152(2),1152(3),1152(5))].">
      <j1 rule="para" parents="1172 1155"/>
      <j2 rule="rewrite" parents="1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1267">
    <literal><![CDATA[
      (x ^ y')' ^ y = y
    ]]></literal>
    <justification jstring="[para(1194(a,1),1172(a,1,2,1,2,1)),rewrite(1191(6),1152(5),1152(6))].">
      <j1 rule="para" parents="1194 1172"/>
      <j2 rule="rewrite" parents="1191 1152 1152"/>
    </justification>
  </clause>

  <clause id="1269">
    <literal><![CDATA[
      x' ^ (y ^ x)' = x'
    ]]></literal>
    <justification jstring="[para(1172(a,1),1211(a,1,1)),rewrite(1172(16))].">
      <j1 rule="para" parents="1172 1211"/>
      <j2 rule="rewrite" parents="1172"/>
    </justification>
  </clause>

  <clause id="1275">
    <literal><![CDATA[
      x ^ (y ^ x')' = x
    ]]></literal>
    <justification jstring="[para(1264(a,1),1210(a,1,2,1))].">
      <j1 rule="para" parents="1264 1210"/>
    </justification>
  </clause>

  <clause id="1279">
    <literal><![CDATA[
      x' ^ ((y ^ x)' ^ (z ^ x)') = x'
    ]]></literal>
    <justification jstring="[para(1264(a,1),1220(a,1,2,2,1))].">
      <j1 rule="para" parents="1264 1220"/>
    </justification>
  </clause>

  <clause id="1284">
    <literal><![CDATA[
      (x ^ (y ^ (x' ^ x))')' ^ ((y ^ (x' ^ x))' ^ ((x' ^ x) ^ z)')' = y ^ (x' ^ x)
    ]]></literal>
    <justification jstring="[para(1267(a,1),1172(a,1,2,1,2,1,1,1)),rewrite(1152(4),1152(10),1152(14),1152(21),1152(22))].">
      <j1 rule="para" parents="1267 1172"/>
      <j2 rule="rewrite" parents="1152 1152 1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1321">
    <literal><![CDATA[
      ((x ^ y)' ^ (y ^ y')')' = x ^ y
    ]]></literal>
    <justification jstring="[para(1172(a,1),1179(a,1,1,1)),rewrite(1152(2),1172(14),1152(4),1172(14),1202(8),1152(10))].">
      <j1 rule="para" parents="1172 1179"/>
      <j2 rule="rewrite" parents="1152 1172 1152 1172 1202 1152"/>
    </justification>
  </clause>

  <clause id="1347">
    <literal><![CDATA[
      (x ^ y) ^ (x ^ (z ^ (x ^ y)')') = x ^ y
    ]]></literal>
    <justification jstring="[para(1195(a,1),1279(a,1,2,1,1)),rewrite(1152(3),1152(3),1152(10))].">
      <j1 rule="para" parents="1195 1279"/>
      <j2 rule="rewrite" parents="1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1358">
    <literal><![CDATA[
      (((x ^ y) ^ z)' ^ x')' = x
    ]]></literal>
    <justification jstring="[para(1155(a,1),1183(a,1,1,1,1,1,1)),rewrite(1152(3))].">
      <j1 rule="para" parents="1155 1183"/>
      <j2 rule="rewrite" parents="1152"/>
    </justification>
  </clause>

  <clause id="1375">
    <literal><![CDATA[
      ((x ^ y) ^ z)' ^ x' = x'
    ]]></literal>
    <justification jstring="[para(1358(a,1),1152(a,1,1)),flip(a)].">
      <j1 rule="para" parents="1358 1152"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1377">
    <literal><![CDATA[
      x ^ ((x ^ y) ^ z) = (x ^ y) ^ z
    ]]></literal>
    <justification jstring="[para(1358(a,1),1155(a,1,1)),rewrite(1152(4),1152(7))].">
      <j1 rule="para" parents="1358 1155"/>
      <j2 rule="rewrite" parents="1152 1152"/>
    </justification>
  </clause>

  <clause id="1410">
    <literal><![CDATA[
      ((x' ^ y) ^ z)' ^ x = x
    ]]></literal>
    <justification jstring="[para(1152(a,1),1375(a,1,2)),rewrite(1152(7))].">
      <j1 rule="para" parents="1152 1375"/>
      <j2 rule="rewrite" parents="1152"/>
    </justification>
  </clause>

  <clause id="1424">
    <literal><![CDATA[
      x ^ ((x' ^ y) ^ z)' = x
    ]]></literal>
    <justification jstring="[para(1410(a,1),1211(a,1,1)),rewrite(1410(10))].">
      <j1 rule="para" parents="1410 1211"/>
      <j2 rule="rewrite" parents="1410"/>
    </justification>
  </clause>

  <clause id="1439">
    <literal><![CDATA[
      (x ^ y) ^ (y' ^ z)' = x ^ y
    ]]></literal>
    <justification jstring="[para(1172(a,1),1424(a,1,2,1,1))].">
      <j1 rule="para" parents="1172 1424"/>
    </justification>
  </clause>

  <clause id="1440">
    <literal><![CDATA[
      x ^ ((y ^ x') ^ z)' = x
    ]]></literal>
    <justification jstring="[para(1264(a,1),1424(a,1,2,1,1))].">
      <j1 rule="para" parents="1264 1424"/>
    </justification>
  </clause>

  <clause id="1441">
    <literal><![CDATA[
      x ^ (y ^ (x' ^ z))' = x
    ]]></literal>
    <justification jstring="[para(1264(a,1),1424(a,1,2,1))].">
      <j1 rule="para" parents="1264 1424"/>
    </justification>
  </clause>

  <clause id="1447">
    <literal><![CDATA[
      x' ^ ((y ^ (x' ^ x))' ^ ((x' ^ x) ^ z)')' = y ^ (x' ^ x)
    ]]></literal>
    <justification jstring="[back_rewrite(1284),rewrite(1441(5))].">
      <j1 rule="back_rewrite" parents="1284"/>
      <j2 rule="rewrite" parents="1441"/>
    </justification>
  </clause>

  <clause id="1477">
    <literal><![CDATA[
      x ^ (y ^ (z ^ x'))' = x
    ]]></literal>
    <justification jstring="[para(1264(a,1),1440(a,1,2,1))].">
      <j1 rule="para" parents="1264 1440"/>
    </justification>
  </clause>

  <clause id="1482">
    <literal><![CDATA[
      x' ^ (y ^ (x ^ z))' = x'
    ]]></literal>
    <justification jstring="[para(1152(a,1),1441(a,1,2,1,2,1))].">
      <j1 rule="para" parents="1152 1441"/>
    </justification>
  </clause>

  <clause id="1510">
    <literal><![CDATA[
      x' ^ (y ^ (z ^ x))' = x'
    ]]></literal>
    <justification jstring="[para(1152(a,1),1477(a,1,2,1,2,2))].">
      <j1 rule="para" parents="1152 1477"/>
    </justification>
  </clause>

  <clause id="1678">
    <literal><![CDATA[
      x ^ ((y ^ (x ^ z))' ^ ((x ^ z) ^ u)')' = ((y ^ (x ^ z))' ^ ((x ^ z) ^ u)')'
    ]]></literal>
    <justification jstring="[para(1202(a,1),1377(a,1,2)),rewrite(1202(19))].">
      <j1 rule="para" parents="1202 1377"/>
      <j2 rule="rewrite" parents="1202"/>
    </justification>
  </clause>

  <clause id="1683">
    <literal><![CDATA[
      ((x ^ (y' ^ y))' ^ ((y' ^ y) ^ z)')' = x ^ (y' ^ y)
    ]]></literal>
    <justification jstring="[back_rewrite(1447),rewrite(1678(12))].">
      <j1 rule="back_rewrite" parents="1447"/>
      <j2 rule="rewrite" parents="1678"/>
    </justification>
  </clause>

  <clause id="1708">
    <literal><![CDATA[
      (x' ^ x) ^ y = x' ^ x
    ]]></literal>
    <justification jstring="[para(1155(a,1),1204(a,1,2,1,2,1,1,1)),rewrite(1424(5),973(4),1152(10),1439(12),1155(10),1152(6),1191(5)),flip(a)].">
      <j1 rule="para" parents="1155 1204"/>
      <j2 rule="rewrite" parents="1424 973 1152 1439 1155 1152 1191"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1714">
    <literal><![CDATA[
      (x ^ y) ^ (y ^ x) = y ^ x
    ]]></literal>
    <justification jstring="[para(1269(a,1),1204(a,1,1,1,1)),rewrite(1152(2),1152(7),1321(10),1195(8),1152(4))].">
      <j1 rule="para" parents="1269 1204"/>
      <j2 rule="rewrite" parents="1152 1152 1321 1195 1152"/>
    </justification>
  </clause>

  <clause id="1737">
    <literal><![CDATA[
      (x ^ y) ^ ((y ^ (x ^ z))' ^ (((y ^ (x ^ z))' ^ (x ^ x')')' ^ y')')' = y ^ (x ^ z)
    ]]></literal>
    <justification jstring="[para(1482(a,1),1204(a,1,1,1,1)),rewrite(1152(2),1152(9))].">
      <j1 rule="para" parents="1482 1204"/>
      <j2 rule="rewrite" parents="1152 1152"/>
    </justification>
  </clause>

  <clause id="1739">
    <literal><![CDATA[
      (x ^ y) ^ ((y ^ (z ^ x))' ^ (((y ^ (z ^ x))' ^ (x ^ x')')' ^ y')')' = y ^ (z ^ x)
    ]]></literal>
    <justification jstring="[para(1510(a,1),1204(a,1,1,1,1)),rewrite(1152(2),1152(9))].">
      <j1 rule="para" parents="1510 1204"/>
      <j2 rule="rewrite" parents="1152 1152"/>
    </justification>
  </clause>

  <clause id="1742">
    <literal><![CDATA[
      x ^ (y' ^ y) = y' ^ y
    ]]></literal>
    <justification jstring="[back_rewrite(1683),rewrite(1708(7),1262(8),1152(4)),flip(a)].">
      <j1 rule="back_rewrite" parents="1683"/>
      <j2 rule="rewrite" parents="1708 1262 1152"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1750">
    <literal><![CDATA[
      (x' ^ x)' ^ y = y
    ]]></literal>
    <justification jstring="[para(1708(a,1),1267(a,1,1,1))].">
      <j1 rule="para" parents="1708 1267"/>
    </justification>
  </clause>

  <clause id="1751">
    <literal><![CDATA[
      x ^ (y' ^ y)' = x
    ]]></literal>
    <justification jstring="[para(1708(a,1),1275(a,1,2,1))].">
      <j1 rule="para" parents="1708 1275"/>
    </justification>
  </clause>

  <clause id="1760">
    <literal><![CDATA[
      x ^ (y ^ y')' = x
    ]]></literal>
    <justification jstring="[para(1152(a,1),1751(a,1,2,1,1))].">
      <j1 rule="para" parents="1152 1751"/>
    </justification>
  </clause>

  <clause id="1761">
    <literal><![CDATA[
      (x' ^ x)' = (y' ^ y)'
    ]]></literal>
    <justification jstring="[para(1751(a,1),1750(a,1))].">
      <j1 rule="para" parents="1751 1750"/>
    </justification>
  </clause>

  <clause id="1762">
    <literal><![CDATA[
      (x ^ y) ^ (y ^ (z ^ x)) = y ^ (z ^ x)
    ]]></literal>
    <justification jstring="[back_rewrite(1739),rewrite(1760(11),1152(8),1195(10),1152(5))].">
      <j1 rule="back_rewrite" parents="1739"/>
      <j2 rule="rewrite" parents="1760 1152 1195 1152"/>
    </justification>
  </clause>

  <clause id="1763">
    <literal><![CDATA[
      (x ^ y) ^ (y ^ (x ^ z)) = y ^ (x ^ z)
    ]]></literal>
    <justification jstring="[back_rewrite(1737),rewrite(1760(11),1152(8),1195(10),1152(5))].">
      <j1 rule="back_rewrite" parents="1737"/>
      <j2 rule="rewrite" parents="1760 1152 1195 1152"/>
    </justification>
  </clause>

  <clause id="1764">
    <literal><![CDATA[
      (x' ^ x)' = c_0
    ]]></literal>
    <justification jstring="[new_symbol(1761)].">
      <j1 rule="new_symbol" parents="1761"/>
    </justification>
  </clause>

  <clause id="1805">
    <literal><![CDATA[
      x' ^ x = c_0'
    ]]></literal>
    <justification jstring="[para(1708(a,1),1215(a,1,1,1,2,1)),rewrite(1742(3),1764(3),1764(4),1191(3),1742(5),1742(5),1764(5),1708(6),1764(6),1191(5))].">
      <j1 rule="para" parents="1708 1215"/>
      <j2 rule="rewrite" parents="1742 1764 1764 1191 1742 1742 1764 1708 1764 1191"/>
    </justification>
  </clause>

  <clause id="1810">
    <literal><![CDATA[
      x ^ x' = c_0'
    ]]></literal>
    <justification jstring="[para(1152(a,1),1805(a,1,1))].">
      <j1 rule="para" parents="1152 1805"/>
    </justification>
  </clause>

  <clause id="1811">
    <literal><![CDATA[
      (c9 ^ (c8 ^ c10))' != (c8 ^ (c9 ^ c10))'
    ]]></literal>
    <attribute><![CDATA[
      answer(combined)
    ]]></attribute>
    <justification jstring="[back_rewrite(1192),rewrite(1810(17),1152(16),1810(18),1152(17)),xx(b)].">
      <j1 rule="back_rewrite" parents="1192"/>
      <j2 rule="rewrite" parents="1810 1152 1810 1152"/>
      <j2 rule="xx"/>
    </justification>
  </clause>

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

  <clause id="2782">
    <literal><![CDATA[
      (x ^ y) ^ (x ^ (z ^ y)) = x ^ (z ^ y)
    ]]></literal>
    <justification jstring="[para(1510(a,1),1347(a,1,2,2,1)),rewrite(1152(4),1824(4))].">
      <j1 rule="para" parents="1510 1347"/>
      <j2 rule="rewrite" parents="1152 1824"/>
    </justification>
  </clause>

  <clause id="4914">
    <literal><![CDATA[
      (x ^ (y ^ z)) ^ (z ^ x) = x ^ (y ^ z)
    ]]></literal>
    <justification jstring="[para(1762(a,1),1714(a,1,2)),rewrite(1824(7),973(7),1762(8))].">
      <j1 rule="para" parents="1762 1714"/>
      <j2 rule="rewrite" parents="1824 973 1762"/>
    </justification>
  </clause>

  <clause id="5043">
    <literal><![CDATA[
      (x ^ y) ^ (y ^ z) = z ^ (x ^ y)
    ]]></literal>
    <justification jstring="[para(1762(a,1),1762(a,1,2)),rewrite(4914(6),1762(7))].">
      <j1 rule="para" parents="1762 1762"/>
      <j2 rule="rewrite" parents="4914 1762"/>
    </justification>
  </clause>

  <clause id="5386">
    <literal><![CDATA[
      (x ^ y) ^ (y ^ z) = (x ^ y) ^ z
    ]]></literal>
    <justification jstring="[para(5043(a,2),1714(a,1,1)),rewrite(1824(6),2782(6))].">
      <j1 rule="para" parents="5043 1714"/>
      <j2 rule="rewrite" parents="1824 2782"/>
    </justification>
  </clause>

  <clause id="5388">
    <literal><![CDATA[
      (x ^ y) ^ (x ^ z) = z ^ (y ^ x)
    ]]></literal>
    <justification jstring="[para(1824(a,1),5043(a,1,1))].">
      <j1 rule="para" parents="1824 5043"/>
    </justification>
  </clause>

  <clause id="5489">
    <literal><![CDATA[
      (x ^ y) ^ (x ^ z) = y ^ (x ^ z)
    ]]></literal>
    <justification jstring="[back_rewrite(1763),rewrite(5386(4))].">
      <j1 rule="back_rewrite" parents="1763"/>
      <j2 rule="rewrite" parents="5386"/>
    </justification>
  </clause>

  <clause id="5490">
    <literal><![CDATA[
      x ^ (y ^ z) = z ^ (x ^ y)
    ]]></literal>
    <justification jstring="[back_rewrite(5388),rewrite(5489(3))].">
      <j1 rule="back_rewrite" parents="5388"/>
      <j2 rule="rewrite" parents="5489"/>
    </justification>
  </clause>

  <clause id="5606">
    <literal><![CDATA[
      x ^ (y ^ z) = y ^ (x ^ z)
    ]]></literal>
    <justification jstring="[para(1824(a,1),5490(a,1,2))].">
      <j1 rule="para" parents="1824 5490"/>
    </justification>
  </clause>

  <clause id="6359">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer(combined)
    ]]></attribute>
    <justification jstring="[back_rewrite(1811),rewrite(5606(5)),xx(a)].">
      <j1 rule="back_rewrite" parents="1811"/>
      <j2 rule="rewrite" parents="5606"/>
      <j2 rule="xx"/>
    </justification>
  </clause>

</proof>

<proof number="4" length="113" max_count="39">

<comments><![CDATA[
% Proof 4 at 2.86 (+ 0.07) seconds: assoc.
% Length of proof is 113.
% Level of proof is 28.
% Maximum clause weight is 39.
% Given clauses 310.
]]></comments>

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

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

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

  <clause id="7">
    <literal><![CDATA[
      f(f(x,x),f(y,y)) = x v y
    ]]></literal>
    <justification jstring="[copy(6),flip(a)].">
      <j1 rule="copy" parents="6"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="9">
    <literal><![CDATA[
      f(f(x,y),f(x,y)) = x ^ y
    ]]></literal>
    <justification jstring="[copy(8),flip(a)].">
      <j1 rule="copy" parents="8"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="11">
    <literal><![CDATA[
      f(x,x) = x'
    ]]></literal>
    <justification jstring="[copy(10),flip(a)].">
      <j1 rule="copy" parents="10"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="13">
    <literal><![CDATA[
      f(c2,f(c1,c3)') != f(c1,f(c2,c3)')
    ]]></literal>
    <attribute><![CDATA[
      answer(assoc)
    ]]></attribute>
    <justification jstring="[copy(12),rewrite(11(8),11(14)),flip(a)].">
      <j1 rule="copy" parents="12"/>
      <j2 rule="rewrite" parents="11 11"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="20">
    <literal><![CDATA[
      f(x,y)' = x ^ y
    ]]></literal>
    <justification jstring="[back_rewrite(9),rewrite(11(3))].">
      <j1 rule="back_rewrite" parents="9"/>
      <j2 rule="rewrite" parents="11"/>
    </justification>
  </clause>

  <clause id="21">
    <literal><![CDATA[
      f(x',y') = x v y
    ]]></literal>
    <justification jstring="[back_rewrite(7),rewrite(11(1),11(2))].">
      <j1 rule="back_rewrite" parents="7"/>
      <j2 rule="rewrite" parents="11 11"/>
    </justification>
  </clause>

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

  <clause id="24">
    <literal><![CDATA[
      f(c2,c1 ^ c3) != f(c1,c2 ^ c3)
    ]]></literal>
    <attribute><![CDATA[
      answer(assoc)
    ]]></attribute>
    <justification jstring="[back_rewrite(13),rewrite(20(5),20(10))].">
      <j1 rule="back_rewrite" parents="13"/>
      <j2 rule="rewrite" parents="20 20"/>
    </justification>
  </clause>

  <clause id="25">
    <literal><![CDATA[
      x ^ x = x''
    ]]></literal>
    <justification jstring="[para(11(a,1),20(a,1,1)),flip(a)].">
      <j1 rule="para" parents="11 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="27">
    <literal><![CDATA[
      (x v y)' = x' ^ y'
    ]]></literal>
    <justification jstring="[para(21(a,1),20(a,1,1))].">
      <j1 rule="para" parents="21 20"/>
    </justification>
  </clause>

  <clause id="29">
    <literal><![CDATA[
      f(x',y ^ z) = x v f(y,z)
    ]]></literal>
    <justification jstring="[para(20(a,1),21(a,1,2))].">
      <j1 rule="para" parents="20 21"/>
    </justification>
  </clause>

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

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

  <clause id="33">
    <literal><![CDATA[
      f(f(x,y) ^ f(y,z),f(y,f(f(y,f(x',x)),z))) = y
    ]]></literal>
    <justification jstring="[para(11(a,1),22(a,1,1)),rewrite(20(4))].">
      <j1 rule="para" parents="11 22"/>
      <j2 rule="rewrite" parents="20"/>
    </justification>
  </clause>

  <clause id="35">
    <literal><![CDATA[
      f(f(f(f(x,y),f(y,f(y,f(x',x)))),z),f(y,y ^ f(x',x))) = y
    ]]></literal>
    <justification jstring="[para(11(a,1),22(a,1,2,2)),rewrite(20(11))].">
      <j1 rule="para" parents="11 22"/>
      <j2 rule="rewrite" parents="20"/>
    </justification>
  </clause>

  <clause id="36">
    <literal><![CDATA[
      f(f(f(x,y),f(y,z)),u) ^ f(y,f(f(y,f(x',x)),z)) = y'
    ]]></literal>
    <justification jstring="[para(22(a,1),20(a,1,1)),flip(a)].">
      <j1 rule="para" parents="22 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="41">
    <literal><![CDATA[
      f(f(x,y),f(x,f(f(x,f(f(z,x) ^ f(x,u),f(f(z,x),f(x,u)))),f(f(x,f(z',z)),u)))) = x
    ]]></literal>
    <justification jstring="[para(22(a,1),22(a,1,1,1)),rewrite(20(5))].">
      <j1 rule="para" parents="22 22"/>
      <j2 rule="rewrite" parents="20"/>
    </justification>
  </clause>

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

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

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

  <clause id="181">
    <literal><![CDATA[
      f(x''',f(x,f(f(x,f(x',x)),x))) = x
    ]]></literal>
    <justification jstring="[para(11(a,1),32(a,1,1))].">
      <j1 rule="para" parents="11 32"/>
    </justification>
  </clause>

  <clause id="190">
    <literal><![CDATA[
      f(x,f(x',f(f(x',x' v x),y))) = x'
    ]]></literal>
    <justification jstring="[para(32(a,1),30(a,1,1)),rewrite(21(6))].">
      <j1 rule="para" parents="32 30"/>
      <j2 rule="rewrite" parents="21"/>
    </justification>
  </clause>

  <clause id="194">
    <literal><![CDATA[
      (f(x,y) ^ f(y,z)) ^ f(y,f(f(y,f(x',x)),z)) = y'
    ]]></literal>
    <justification jstring="[para(33(a,1),20(a,1,1)),flip(a)].">
      <j1 rule="para" parents="33 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="217">
    <literal><![CDATA[
      x''' ^ f(x,f(f(x,f(x',x)),x)) = x'
    ]]></literal>
    <justification jstring="[para(181(a,1),20(a,1,1)),flip(a)].">
      <j1 rule="para" parents="181 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="230">
    <literal><![CDATA[
      x ^ f(x',f(f(x',x' v x),y)) = x''
    ]]></literal>
    <justification jstring="[para(190(a,1),20(a,1,1)),flip(a)].">
      <j1 rule="para" parents="190 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="236">
    <literal><![CDATA[
      f(x',f(x'',x)) = x''
    ]]></literal>
    <justification jstring="[para(32(a,1),190(a,1,2,2))].">
      <j1 rule="para" parents="32 190"/>
    </justification>
  </clause>

  <clause id="238">
    <literal><![CDATA[
      x' ^ f(x'',x) = x'''
    ]]></literal>
    <justification jstring="[para(236(a,1),20(a,1,1)),flip(a)].">
      <j1 rule="para" parents="236 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="240">
    <literal><![CDATA[
      f(x'',x'' v x) = x'''
    ]]></literal>
    <justification jstring="[para(21(a,1),236(a,1,2))].">
      <j1 rule="para" parents="21 236"/>
    </justification>
  </clause>

  <clause id="261">
    <literal><![CDATA[
      x'' ^ (x'' v x) = x''''
    ]]></literal>
    <justification jstring="[para(21(a,1),238(a,1,2))].">
      <j1 rule="para" parents="21 238"/>
    </justification>
  </clause>

  <clause id="306">
    <literal><![CDATA[
      f(x,f(f(x,y),f(x,y) ^ (x' v x))) = f(x,y)
    ]]></literal>
    <justification jstring="[para(30(a,1),35(a,1,1)),rewrite(21(6))].">
      <j1 rule="para" parents="30 35"/>
      <j2 rule="rewrite" parents="21"/>
    </justification>
  </clause>

  <clause id="333">
    <literal><![CDATA[
      f(x,y) ^ f(x,f(f(x,f(f(z,x) ^ f(x,u),f(f(z,x),f(x,u)))),f(f(x,f(z',z)),u))) = x'
    ]]></literal>
    <justification jstring="[para(22(a,1),36(a,1,1,1)),rewrite(20(5))].">
      <j1 rule="para" parents="22 36"/>
      <j2 rule="rewrite" parents="20"/>
    </justification>
  </clause>

  <clause id="401">
    <literal><![CDATA[
      x ^ f(f(x,y),f(x,y) ^ (x' v x)) = x ^ y
    ]]></literal>
    <justification jstring="[para(306(a,1),20(a,1,1)),rewrite(20(2)),flip(a)].">
      <j1 rule="para" parents="306 20"/>
      <j2 rule="rewrite" parents="20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="755">
    <literal><![CDATA[
      f(x,y) ^ f(y,f(f(y,f(x',x)),z)) = y'
    ]]></literal>
    <justification jstring="[para(41(a,1),36(a,1,1))].">
      <j1 rule="para" parents="41 36"/>
    </justification>
  </clause>

  <clause id="756">
    <literal><![CDATA[
      x ^ x'' = x''
    ]]></literal>
    <justification jstring="[para(41(a,1),230(a,1,2,2)),rewrite(11(3))].">
      <j1 rule="para" parents="41 230"/>
      <j2 rule="rewrite" parents="11"/>
    </justification>
  </clause>

  <clause id="762">
    <literal><![CDATA[
      f(x,y) ^ f(x,x ^ ((x ^ y) v f(x,y))) = x'
    ]]></literal>
    <justification jstring="[para(41(a,1),401(a,1,2,1)),rewrite(41(17),20(3),333(23))].">
      <j1 rule="para" parents="41 401"/>
      <j2 rule="rewrite" parents="41 20 333"/>
    </justification>
  </clause>

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

  <clause id="871">
    <literal><![CDATA[
      f(x,x ^ y) = f(x,y)
    ]]></literal>
    <justification jstring="[para(41(a,1),42(a,1,2,2)),rewrite(11(3),20(2))].">
      <j1 rule="para" parents="41 42"/>
      <j2 rule="rewrite" parents="11 20"/>
    </justification>
  </clause>

  <clause id="886">
    <literal><![CDATA[
      f(x,y) ^ f(x,(x ^ y) v f(x,y)) = x'
    ]]></literal>
    <justification jstring="[back_rewrite(762),rewrite(871(6))].">
      <j1 rule="back_rewrite" parents="762"/>
      <j2 rule="rewrite" parents="871"/>
    </justification>
  </clause>

  <clause id="973">
    <literal><![CDATA[
      x ^ (x ^ y) = x ^ y
    ]]></literal>
    <justification jstring="[para(871(a,1),20(a,1,1)),rewrite(20(2)),flip(a)].">
      <j1 rule="para" parents="871 20"/>
      <j2 rule="rewrite" parents="20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="977">
    <literal><![CDATA[
      f(f(f(f(x,y),f(y,z)),u),y') = y
    ]]></literal>
    <justification jstring="[para(22(a,1),871(a,2)),rewrite(36(14))].">
      <j1 rule="para" parents="22 871"/>
      <j2 rule="rewrite" parents="36"/>
    </justification>
  </clause>

  <clause id="992">
    <literal><![CDATA[
      x'' v x = x
    ]]></literal>
    <justification jstring="[para(181(a,1),871(a,2)),rewrite(217(12),21(5))].">
      <j1 rule="para" parents="181 871"/>
      <j2 rule="rewrite" parents="217 21"/>
    </justification>
  </clause>

  <clause id="997">
    <literal><![CDATA[
      f(x'',x) = x'''
    ]]></literal>
    <justification jstring="[para(240(a,1),871(a,2)),rewrite(992(7),871(6))].">
      <j1 rule="para" parents="240 871"/>
      <j2 rule="rewrite" parents="992 871"/>
    </justification>
  </clause>

  <clause id="1018">
    <literal><![CDATA[
      f(f(x,y),x') = x
    ]]></literal>
    <justification jstring="[para(41(a,1),871(a,2)),rewrite(333(17))].">
      <j1 rule="para" parents="41 871"/>
      <j2 rule="rewrite" parents="333"/>
    </justification>
  </clause>

  <clause id="1048">
    <literal><![CDATA[
      x'' ^ x = x''''
    ]]></literal>
    <justification jstring="[back_rewrite(261),rewrite(992(5))].">
      <j1 rule="back_rewrite" parents="261"/>
      <j2 rule="rewrite" parents="992"/>
    </justification>
  </clause>

  <clause id="1060">
    <literal><![CDATA[
      x''''' = x'
    ]]></literal>
    <justification jstring="[para(992(a,1),27(a,1,1)),rewrite(1048(6)),flip(a)].">
      <j1 rule="para" parents="992 27"/>
      <j2 rule="rewrite" parents="1048"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1062">
    <literal><![CDATA[
      f(x,y) = (x ^ y)'''
    ]]></literal>
    <justification jstring="[para(992(a,1),29(a,2)),rewrite(20(2),997(5)),flip(a)].">
      <j1 rule="para" parents="992 29"/>
      <j2 rule="rewrite" parents="20 997"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1063">
    <literal><![CDATA[
      x v y = (x' ^ y')'''
    ]]></literal>
    <justification jstring="[para(992(a,1),43(a,2,2)),rewrite(1048(6),1060(6),1062(3)),flip(a)].">
      <j1 rule="para" parents="992 43"/>
      <j2 rule="rewrite" parents="1048 1060 1062"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1065">
    <literal><![CDATA[
      (x' ^ (y ^ z)'''')''' = (x' ^ (y ^ z))'''
    ]]></literal>
    <justification jstring="[para(992(a,1),52(a,2,1)),rewrite(1048(5),1060(5),1062(3),1062(7),1063(11)),flip(a)].">
      <j1 rule="para" parents="992 52"/>
      <j2 rule="rewrite" parents="1048 1060 1062 1062 1063"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1077">
    <literal><![CDATA[
      ((x ^ y)''' ^ x')''' = x
    ]]></literal>
    <justification jstring="[back_rewrite(1018),rewrite(1062(1),1062(6))].">
      <j1 rule="back_rewrite" parents="1018"/>
      <j2 rule="rewrite" parents="1062 1062"/>
    </justification>
  </clause>

  <clause id="1092">
    <literal><![CDATA[
      ((((x ^ y)''' ^ (y ^ z)''')''' ^ u)''' ^ y')''' = y
    ]]></literal>
    <justification jstring="[back_rewrite(977),rewrite(1062(1),1062(5),1062(9),1062(13),1062(18))].">
      <j1 rule="back_rewrite" parents="977"/>
      <j2 rule="rewrite" parents="1062 1062 1062 1062 1062"/>
    </justification>
  </clause>

  <clause id="1104">
    <literal><![CDATA[
      (x ^ y)''' ^ (x ^ ((x ^ y)' ^ (x ^ y))''')''' = x'
    ]]></literal>
    <justification jstring="[back_rewrite(886),rewrite(1062(1),1062(6),1063(10),1065(15),1062(12))].">
      <j1 rule="back_rewrite" parents="886"/>
      <j2 rule="rewrite" parents="1062 1062 1063 1065 1062"/>
    </justification>
  </clause>

  <clause id="1109">
    <literal><![CDATA[
      (x' ^ ((x' ^ (x ^ y)''')''' ^ x)''')''' = (x' ^ (x ^ y)''')'''
    ]]></literal>
    <justification jstring="[back_rewrite(845),rewrite(1062(3),1062(7),1062(11),1062(15),1062(20),1062(24))].">
      <j1 rule="back_rewrite" parents="845"/>
      <j2 rule="rewrite" parents="1062 1062 1062 1062 1062 1062"/>
    </justification>
  </clause>

  <clause id="1128">
    <literal><![CDATA[
      (x ^ y)''' ^ (y ^ ((y ^ (x' ^ x)''')''' ^ z)''')''' = y'
    ]]></literal>
    <justification jstring="[back_rewrite(755),rewrite(1062(1),1062(6),1062(10),1062(14),1062(18))].">
      <j1 rule="back_rewrite" parents="755"/>
      <j2 rule="rewrite" parents="1062 1062 1062 1062 1062"/>
    </justification>
  </clause>

  <clause id="1130">
    <literal><![CDATA[
      x'''' = x
    ]]></literal>
    <justification jstring="[back_rewrite(744),rewrite(1062(1),1062(6),1062(10),1062(14),1062(18),1062(22),1128(22))].">
      <j1 rule="back_rewrite" parents="744"/>
      <j2 rule="rewrite" parents="1062 1062 1062 1062 1062 1062 1128"/>
    </justification>
  </clause>

  <clause id="1141">
    <literal><![CDATA[
      ((x ^ y)''' ^ (y ^ z)''') ^ (y ^ ((y ^ (x' ^ x)''')''' ^ z)''')''' = y'
    ]]></literal>
    <justification jstring="[back_rewrite(194),rewrite(1062(1),1062(5),1062(11),1062(15),1062(19),1062(23))].">
      <j1 rule="back_rewrite" parents="194"/>
      <j2 rule="rewrite" parents="1062 1062 1062 1062 1062 1062"/>
    </justification>
  </clause>

  <clause id="1143">
    <literal><![CDATA[
      (c2 ^ (c1 ^ c3))''' != (c1 ^ (c2 ^ c3))'''
    ]]></literal>
    <attribute><![CDATA[
      answer(assoc)
    ]]></attribute>
    <justification jstring="[back_rewrite(24),rewrite(1062(5),1062(13))].">
      <j1 rule="back_rewrite" parents="24"/>
      <j2 rule="rewrite" parents="1062 1062"/>
    </justification>
  </clause>

  <clause id="1152">
    <literal><![CDATA[
      x'' = x
    ]]></literal>
    <justification jstring="[para(25(a,1),1077(a,1,1,1,1,1,1,1,1)),rewrite(1130(4),25(3),1130(4))].">
      <j1 rule="para" parents="25 1077"/>
      <j2 rule="rewrite" parents="1130 25 1130"/>
    </justification>
  </clause>

  <clause id="1155">
    <literal><![CDATA[
      (x ^ y)' ^ x' = x'
    ]]></literal>
    <justification jstring="[para(1077(a,1),756(a,2,1)),rewrite(1152(3),1152(6),1152(7),1152(10),1152(10),25(9),1152(6))].">
      <j1 rule="para" parents="1077 756"/>
      <j2 rule="rewrite" parents="1152 1152 1152 1152 1152 25 1152"/>
    </justification>
  </clause>

  <clause id="1156">
    <literal><![CDATA[
      ((x' ^ y)' ^ x)' = x'
    ]]></literal>
    <justification jstring="[para(1130(a,1),1077(a,1,1,1,1,2)),rewrite(1152(2),1152(4),1152(6),1152(7))].">
      <j1 rule="para" parents="1130 1077"/>
      <j2 rule="rewrite" parents="1152 1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1162">
    <literal><![CDATA[
      (c2 ^ (c1 ^ c3))' != (c1 ^ (c2 ^ c3))'
    ]]></literal>
    <attribute><![CDATA[
      answer(assoc)
    ]]></attribute>
    <justification jstring="[back_rewrite(1143),rewrite(1152(7),1152(13))].">
      <j1 rule="back_rewrite" parents="1143"/>
      <j2 rule="rewrite" parents="1152 1152"/>
    </justification>
  </clause>

  <clause id="1164">
    <literal><![CDATA[
      ((x ^ y)' ^ (y ^ z)') ^ (y ^ ((y ^ (x' ^ x)')' ^ z)')' = y'
    ]]></literal>
    <justification jstring="[back_rewrite(1141),rewrite(1152(3),1152(5),1152(9),1152(11),1152(13),1152(15))].">
      <j1 rule="back_rewrite" parents="1141"/>
      <j2 rule="rewrite" parents="1152 1152 1152 1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1172">
    <literal><![CDATA[
      (x ^ y)' ^ (y ^ ((y ^ (x' ^ x)')' ^ z)')' = y'
    ]]></literal>
    <justification jstring="[back_rewrite(1128),rewrite(1152(3),1152(6),1152(8),1152(10),1152(12))].">
      <j1 rule="back_rewrite" parents="1128"/>
      <j2 rule="rewrite" parents="1152 1152 1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1173">
    <literal><![CDATA[
      (x' ^ (x ^ y)')' = x
    ]]></literal>
    <justification jstring="[back_rewrite(1109),rewrite(1152(5),1152(7),1156(8),1152(3),25(3),1152(2),1152(2),1152(2),1152(4),1152(6)),flip(a)].">
      <j1 rule="back_rewrite" parents="1109"/>
      <j2 rule="rewrite" parents="1152 1152 1156 1152 25 1152 1152 1152 1152 1152"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1179">
    <literal><![CDATA[
      (x ^ y)' ^ (x ^ ((x ^ y)' ^ (x ^ y))')' = x'
    ]]></literal>
    <justification jstring="[back_rewrite(1104),rewrite(1152(3),1152(8),1152(10))].">
      <j1 rule="back_rewrite" parents="1104"/>
      <j2 rule="rewrite" parents="1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1183">
    <literal><![CDATA[
      ((((x ^ y)' ^ (y ^ z)')' ^ u)' ^ y')' = y
    ]]></literal>
    <justification jstring="[back_rewrite(1092),rewrite(1152(3),1152(5),1152(7),1152(9),1152(12))].">
      <j1 rule="back_rewrite" parents="1092"/>
      <j2 rule="rewrite" parents="1152 1152 1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1191">
    <literal><![CDATA[
      x ^ x = x
    ]]></literal>
    <justification jstring="[back_rewrite(25),rewrite(1152(3))].">
      <j1 rule="back_rewrite" parents="25"/>
      <j2 rule="rewrite" parents="1152"/>
    </justification>
  </clause>

  <clause id="1195">
    <literal><![CDATA[
      x' ^ (x ^ y)' = x'
    ]]></literal>
    <justification jstring="[para(1173(a,1),1152(a,1,1)),flip(a)].">
      <j1 rule="para" parents="1173 1152"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1202">
    <literal><![CDATA[
      x ^ ((y ^ x)' ^ (x ^ z)')' = ((y ^ x)' ^ (x ^ z)')'
    ]]></literal>
    <justification jstring="[para(1164(a,1),1155(a,1,1,1)),rewrite(1152(2))].">
      <j1 rule="para" parents="1164 1155"/>
      <j2 rule="rewrite" parents="1152"/>
    </justification>
  </clause>

  <clause id="1204">
    <literal><![CDATA[
      ((x ^ (y ^ z)')' ^ y) ^ ((y ^ z)' ^ (((y ^ z)' ^ (x' ^ x)')' ^ y')')' = y ^ z
    ]]></literal>
    <justification jstring="[para(1155(a,1),1164(a,1,1,2,1)),rewrite(1152(6),1152(23))].">
      <j1 rule="para" parents="1155 1164"/>
      <j2 rule="rewrite" parents="1152 1152"/>
    </justification>
  </clause>

  <clause id="1210">
    <literal><![CDATA[
      x ^ (x' ^ y)' = x
    ]]></literal>
    <justification jstring="[para(1152(a,1),1195(a,1,1)),rewrite(1152(6))].">
      <j1 rule="para" parents="1152 1195"/>
      <j2 rule="rewrite" parents="1152"/>
    </justification>
  </clause>

  <clause id="1211">
    <literal><![CDATA[
      (x ^ y) ^ x = x ^ y
    ]]></literal>
    <justification jstring="[para(1155(a,1),1195(a,1,2,1)),rewrite(1152(3),1152(3),1152(5))].">
      <j1 rule="para" parents="1155 1195"/>
      <j2 rule="rewrite" parents="1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1220">
    <literal><![CDATA[
      x' ^ ((y ^ x)' ^ (x ^ z)') = x'
    ]]></literal>
    <justification jstring="[para(1164(a,1),1211(a,1,1)),rewrite(1164(22))].">
      <j1 rule="para" parents="1164 1211"/>
      <j2 rule="rewrite" parents="1164"/>
    </justification>
  </clause>

  <clause id="1264">
    <literal><![CDATA[
      x ^ (y ^ x) = y ^ x
    ]]></literal>
    <justification jstring="[para(1172(a,1),1155(a,1,1,1)),rewrite(1152(2),1152(3),1152(5))].">
      <j1 rule="para" parents="1172 1155"/>
      <j2 rule="rewrite" parents="1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1269">
    <literal><![CDATA[
      x' ^ (y ^ x)' = x'
    ]]></literal>
    <justification jstring="[para(1172(a,1),1211(a,1,1)),rewrite(1172(16))].">
      <j1 rule="para" parents="1172 1211"/>
      <j2 rule="rewrite" parents="1172"/>
    </justification>
  </clause>

  <clause id="1275">
    <literal><![CDATA[
      x ^ (y ^ x')' = x
    ]]></literal>
    <justification jstring="[para(1264(a,1),1210(a,1,2,1))].">
      <j1 rule="para" parents="1264 1210"/>
    </justification>
  </clause>

  <clause id="1279">
    <literal><![CDATA[
      x' ^ ((y ^ x)' ^ (z ^ x)') = x'
    ]]></literal>
    <justification jstring="[para(1264(a,1),1220(a,1,2,2,1))].">
      <j1 rule="para" parents="1264 1220"/>
    </justification>
  </clause>

  <clause id="1321">
    <literal><![CDATA[
      ((x ^ y)' ^ (y ^ y')')' = x ^ y
    ]]></literal>
    <justification jstring="[para(1172(a,1),1179(a,1,1,1)),rewrite(1152(2),1172(14),1152(4),1172(14),1202(8),1152(10))].">
      <j1 rule="para" parents="1172 1179"/>
      <j2 rule="rewrite" parents="1152 1172 1152 1172 1202 1152"/>
    </justification>
  </clause>

  <clause id="1347">
    <literal><![CDATA[
      (x ^ y) ^ (x ^ (z ^ (x ^ y)')') = x ^ y
    ]]></literal>
    <justification jstring="[para(1195(a,1),1279(a,1,2,1,1)),rewrite(1152(3),1152(3),1152(10))].">
      <j1 rule="para" parents="1195 1279"/>
      <j2 rule="rewrite" parents="1152 1152 1152"/>
    </justification>
  </clause>

  <clause id="1358">
    <literal><![CDATA[
      (((x ^ y) ^ z)' ^ x')' = x
    ]]></literal>
    <justification jstring="[para(1155(a,1),1183(a,1,1,1,1,1,1)),rewrite(1152(3))].">
      <j1 rule="para" parents="1155 1183"/>
      <j2 rule="rewrite" parents="1152"/>
    </justification>
  </clause>

  <clause id="1375">
    <literal><![CDATA[
      ((x ^ y) ^ z)' ^ x' = x'
    ]]></literal>
    <justification jstring="[para(1358(a,1),1152(a,1,1)),flip(a)].">
      <j1 rule="para" parents="1358 1152"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1410">
    <literal><![CDATA[
      ((x' ^ y) ^ z)' ^ x = x
    ]]></literal>
    <justification jstring="[para(1152(a,1),1375(a,1,2)),rewrite(1152(7))].">
      <j1 rule="para" parents="1152 1375"/>
      <j2 rule="rewrite" parents="1152"/>
    </justification>
  </clause>

  <clause id="1424">
    <literal><![CDATA[
      x ^ ((x' ^ y) ^ z)' = x
    ]]></literal>
    <justification jstring="[para(1410(a,1),1211(a,1,1)),rewrite(1410(10))].">
      <j1 rule="para" parents="1410 1211"/>
      <j2 rule="rewrite" parents="1410"/>
    </justification>
  </clause>

  <clause id="1439">
    <literal><![CDATA[
      (x ^ y) ^ (y' ^ z)' = x ^ y
    ]]></literal>
    <justification jstring="[para(1172(a,1),1424(a,1,2,1,1))].">
      <j1 rule="para" parents="1172 1424"/>
    </justification>
  </clause>

  <clause id="1440">
    <literal><![CDATA[
      x ^ ((y ^ x') ^ z)' = x
    ]]></literal>
    <justification jstring="[para(1264(a,1),1424(a,1,2,1,1))].">
      <j1 rule="para" parents="1264 1424"/>
    </justification>
  </clause>

  <clause id="1441">
    <literal><![CDATA[
      x ^ (y ^ (x' ^ z))' = x
    ]]></literal>
    <justification jstring="[para(1264(a,1),1424(a,1,2,1))].">
      <j1 rule="para" parents="1264 1424"/>
    </justification>
  </clause>

  <clause id="1477">
    <literal><![CDATA[
      x ^ (y ^ (z ^ x'))' = x
    ]]></literal>
    <justification jstring="[para(1264(a,1),1440(a,1,2,1))].">
      <j1 rule="para" parents="1264 1440"/>
    </justification>
  </clause>

  <clause id="1482">
    <literal><![CDATA[
      x' ^ (y ^ (x ^ z))' = x'
    ]]></literal>
    <justification jstring="[para(1152(a,1),1441(a,1,2,1,2,1))].">
      <j1 rule="para" parents="1152 1441"/>
    </justification>
  </clause>

  <clause id="1510">
    <literal><![CDATA[
      x' ^ (y ^ (z ^ x))' = x'
    ]]></literal>
    <justification jstring="[para(1152(a,1),1477(a,1,2,1,2,2))].">
      <j1 rule="para" parents="1152 1477"/>
    </justification>
  </clause>

  <clause id="1708">
    <literal><![CDATA[
      (x' ^ x) ^ y = x' ^ x
    ]]></literal>
    <justification jstring="[para(1155(a,1),1204(a,1,2,1,2,1,1,1)),rewrite(1424(5),973(4),1152(10),1439(12),1155(10),1152(6),1191(5)),flip(a)].">
      <j1 rule="para" parents="1155 1204"/>
      <j2 rule="rewrite" parents="1424 973 1152 1439 1155 1152 1191"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1714">
    <literal><![CDATA[
      (x ^ y) ^ (y ^ x) = y ^ x
    ]]></literal>
    <justification jstring="[para(1269(a,1),1204(a,1,1,1,1)),rewrite(1152(2),1152(7),1321(10),1195(8),1152(4))].">
      <j1 rule="para" parents="1269 1204"/>
      <j2 rule="rewrite" parents="1152 1152 1321 1195 1152"/>
    </justification>
  </clause>

  <clause id="1737">
    <literal><![CDATA[
      (x ^ y) ^ ((y ^ (x ^ z))' ^ (((y ^ (x ^ z))' ^ (x ^ x')')' ^ y')')' = y ^ (x ^ z)
    ]]></literal>
    <justification jstring="[para(1482(a,1),1204(a,1,1,1,1)),rewrite(1152(2),1152(9))].">
      <j1 rule="para" parents="1482 1204"/>
      <j2 rule="rewrite" parents="1152 1152"/>
    </justification>
  </clause>

  <clause id="1739">
    <literal><![CDATA[
      (x ^ y) ^ ((y ^ (z ^ x))' ^ (((y ^ (z ^ x))' ^ (x ^ x')')' ^ y')')' = y ^ (z ^ x)
    ]]></literal>
    <justification jstring="[para(1510(a,1),1204(a,1,1,1,1)),rewrite(1152(2),1152(9))].">
      <j1 rule="para" parents="1510 1204"/>
      <j2 rule="rewrite" parents="1152 1152"/>
    </justification>
  </clause>

  <clause id="1751">
    <literal><![CDATA[
      x ^ (y' ^ y)' = x
    ]]></literal>
    <justification jstring="[para(1708(a,1),1275(a,1,2,1))].">
      <j1 rule="para" parents="1708 1275"/>
    </justification>
  </clause>

  <clause id="1760">
    <literal><![CDATA[
      x ^ (y ^ y')' = x
    ]]></literal>
    <justification jstring="[para(1152(a,1),1751(a,1,2,1,1))].">
      <j1 rule="para" parents="1152 1751"/>
    </justification>
  </clause>

  <clause id="1762">
    <literal><![CDATA[
      (x ^ y) ^ (y ^ (z ^ x)) = y ^ (z ^ x)
    ]]></literal>
    <justification jstring="[back_rewrite(1739),rewrite(1760(11),1152(8),1195(10),1152(5))].">
      <j1 rule="back_rewrite" parents="1739"/>
      <j2 rule="rewrite" parents="1760 1152 1195 1152"/>
    </justification>
  </clause>

  <clause id="1763">
    <literal><![CDATA[
      (x ^ y) ^ (y ^ (x ^ z)) = y ^ (x ^ z)
    ]]></literal>
    <justification jstring="[back_rewrite(1737),rewrite(1760(11),1152(8),1195(10),1152(5))].">
      <j1 rule="back_rewrite" parents="1737"/>
      <j2 rule="rewrite" parents="1760 1152 1195 1152"/>
    </justification>
  </clause>

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

  <clause id="2782">
    <literal><![CDATA[
      (x ^ y) ^ (x ^ (z ^ y)) = x ^ (z ^ y)
    ]]></literal>
    <justification jstring="[para(1510(a,1),1347(a,1,2,2,1)),rewrite(1152(4),1824(4))].">
      <j1 rule="para" parents="1510 1347"/>
      <j2 rule="rewrite" parents="1152 1824"/>
    </justification>
  </clause>

  <clause id="4914">
    <literal><![CDATA[
      (x ^ (y ^ z)) ^ (z ^ x) = x ^ (y ^ z)
    ]]></literal>
    <justification jstring="[para(1762(a,1),1714(a,1,2)),rewrite(1824(7),973(7),1762(8))].">
      <j1 rule="para" parents="1762 1714"/>
      <j2 rule="rewrite" parents="1824 973 1762"/>
    </justification>
  </clause>

  <clause id="5043">
    <literal><![CDATA[
      (x ^ y) ^ (y ^ z) = z ^ (x ^ y)
    ]]></literal>
    <justification jstring="[para(1762(a,1),1762(a,1,2)),rewrite(4914(6),1762(7))].">
      <j1 rule="para" parents="1762 1762"/>
      <j2 rule="rewrite" parents="4914 1762"/>
    </justification>
  </clause>

  <clause id="5386">
    <literal><![CDATA[
      (x ^ y) ^ (y ^ z) = (x ^ y) ^ z
    ]]></literal>
    <justification jstring="[para(5043(a,2),1714(a,1,1)),rewrite(1824(6),2782(6))].">
      <j1 rule="para" parents="5043 1714"/>
      <j2 rule="rewrite" parents="1824 2782"/>
    </justification>
  </clause>

  <clause id="5388">
    <literal><![CDATA[
      (x ^ y) ^ (x ^ z) = z ^ (y ^ x)
    ]]></literal>
    <justification jstring="[para(1824(a,1),5043(a,1,1))].">
      <j1 rule="para" parents="1824 5043"/>
    </justification>
  </clause>

  <clause id="5489">
    <literal><![CDATA[
      (x ^ y) ^ (x ^ z) = y ^ (x ^ z)
    ]]></literal>
    <justification jstring="[back_rewrite(1763),rewrite(5386(4))].">
      <j1 rule="back_rewrite" parents="1763"/>
      <j2 rule="rewrite" parents="5386"/>
    </justification>
  </clause>

  <clause id="5490">
    <literal><![CDATA[
      x ^ (y ^ z) = z ^ (x ^ y)
    ]]></literal>
    <justification jstring="[back_rewrite(5388),rewrite(5489(3))].">
      <j1 rule="back_rewrite" parents="5388"/>
      <j2 rule="rewrite" parents="5489"/>
    </justification>
  </clause>

  <clause id="5606">
    <literal><![CDATA[
      x ^ (y ^ z) = y ^ (x ^ z)
    ]]></literal>
    <justification jstring="[para(1824(a,1),5490(a,1,2))].">
      <j1 rule="para" parents="1824 5490"/>
    </justification>
  </clause>

  <clause id="6364">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer(assoc)
    ]]></attribute>
    <justification jstring="[back_rewrite(1162),rewrite(5606(5)),xx(a)].">
      <j1 rule="back_rewrite" parents="1162"/>
      <j2 rule="rewrite" parents="5606"/>
      <j2 rule="xx"/>
    </justification>
  </clause>

</proof>

</proofs>
