<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE proofs SYSTEM "proof3.dtd">

<?xml-stylesheet type="text/xsl" href="proof3.xsl"?>

<proofs number_of_proofs="1">

<source>DE-gt.out</source>

<heading><![CDATA[
Prover9 (32) version 22-May-2007, May 2007.
Process 27439 was started by mccune on cleo,
Tue May 22 14:45:45 2007
The command was "/home/mccune/bin/prover9 -f gt.in DE.in".
]]></heading>

<proof number="1" length="70" max_count="24">

<comments><![CDATA[
% Proof 1 at 5.48 (+ 0.04) seconds: E.
% Length of proof is 70.
% Level of proof is 16.
% Maximum clause weight is 24.
% Given clauses 390.
]]></comments>

  <clause id="1" type="assumption">
    <literal><![CDATA[
      (x * y) * z = x * y * z
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="2" type="assumption">
    <literal><![CDATA[
      e * x = x
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="3" type="assumption">
    <literal><![CDATA[
      x' * x = e
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="4" type="assumption">
    <literal><![CDATA[
      x @ y = x' * y' * x * y
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="5">
    <literal><![CDATA[
      x' * y' * x * y = x @ y
    ]]></literal>
    <justification jstring="[copy(4),flip(a)].">
      <j1 rule="copy" parents="4"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="6" type="assumption">
    <literal><![CDATA[
      (x @ y) * (z @ y) = x * z @ y
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="7" type="assumption">
    <literal><![CDATA[
      A * B * C * B * A != B * A * C * A * B
    ]]></literal>
    <attribute><![CDATA[
      answer(E)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="9">
    <literal><![CDATA[
      x' * y' * x * y * z = (x @ y) * z
    ]]></literal>
    <justification jstring="[para(5(a,1),1(a,1,1)),rewrite([1(7),1(6)]),flip(a)].">
      <j1 rule="para" parents="5 1"/>
      <j2 rule="rewrite" parents="1 1"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="11">
    <literal><![CDATA[
      e @ x = e
    ]]></literal>
    <justification jstring="[para(2(a,1),5(a,1,2,2)),rewrite([3(4),3(4)]),flip(a)].">
      <j1 rule="para" parents="2 5"/>
      <j2 rule="rewrite" parents="3 3"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="12">
    <literal><![CDATA[
      x' @ x = e
    ]]></literal>
    <justification jstring="[para(3(a,1),5(a,1,2,2)),rewrite([8(6)]),flip(a)].">
      <j1 rule="para" parents="3 5"/>
      <j2 rule="rewrite" parents="8"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="14">
    <literal><![CDATA[
      (x * y @ z) * u = (x @ z) * (y @ z) * u
    ]]></literal>
    <justification jstring="[para(6(a,1),1(a,1,1))].">
      <j1 rule="para" parents="6 1"/>
    </justification>
  </clause>

  <clause id="15">
    <literal><![CDATA[
      (x @ y)' * (z @ y)' * (x * z @ y) = (x @ y) @ (z @ y)
    ]]></literal>
    <justification jstring="[para(6(a,1),5(a,1,2,2))].">
      <j1 rule="para" parents="6 5"/>
    </justification>
  </clause>

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

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

  <clause id="20">
    <literal><![CDATA[
      x @ x = e
    ]]></literal>
    <justification jstring="[para(8(a,1),5(a,1,2)),rewrite([3(2)]),flip(a)].">
      <j1 rule="para" parents="8 5"/>
      <j2 rule="rewrite" parents="3"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="22">
    <literal><![CDATA[
      (x @ y)' * (x * z @ y) = z @ y
    ]]></literal>
    <justification jstring="[para(6(a,1),8(a,1,2))].">
      <j1 rule="para" parents="6 8"/>
    </justification>
  </clause>

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

  <clause id="24">
    <literal><![CDATA[
      x' * y * x = y * (y @ x)
    ]]></literal>
    <justification jstring="[back_rewrite(21),rewrite([23(4)]),flip(a)].">
      <j1 rule="back_rewrite" parents="21"/>
      <j2 rule="rewrite" parents="23"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="26">
    <literal><![CDATA[
      x * e = x
    ]]></literal>
    <justification jstring="[back_rewrite(18),rewrite([23(4)])].">
      <j1 rule="back_rewrite" parents="18"/>
      <j2 rule="rewrite" parents="23"/>
    </justification>
  </clause>

  <clause id="30">
    <literal><![CDATA[
      x * y @ x = y @ x
    ]]></literal>
    <justification jstring="[para(20(a,1),6(a,1,1)),rewrite([2(3)]),flip(a)].">
      <j1 rule="para" parents="20 6"/>
      <j2 rule="rewrite" parents="2"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="31">
    <literal><![CDATA[
      x * y @ y = x @ y
    ]]></literal>
    <justification jstring="[para(20(a,1),6(a,1,2)),rewrite([26(3)]),flip(a)].">
      <j1 rule="para" parents="20 6"/>
      <j2 rule="rewrite" parents="26"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="40">
    <literal><![CDATA[
      (x' @ y) * x = x * (y @ x)
    ]]></literal>
    <justification jstring="[para(5(a,1),9(a,1,2)),rewrite([23(4)]),flip(a)].">
      <j1 rule="para" parents="5 9"/>
      <j2 rule="rewrite" parents="23"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="42">
    <literal><![CDATA[
      x' * y' * x * y * (z @ y) = x * z @ y
    ]]></literal>
    <justification jstring="[para(9(a,2),6(a,1))].">
      <j1 rule="para" parents="9 6"/>
    </justification>
  </clause>

  <clause id="46">
    <literal><![CDATA[
      x' * y * x * z = (x @ y') * y * z
    ]]></literal>
    <justification jstring="[para(8(a,1),9(a,1,2,2,2)),rewrite([23(5)])].">
      <j1 rule="para" parents="8 9"/>
      <j2 rule="rewrite" parents="23"/>
    </justification>
  </clause>

  <clause id="49">
    <literal><![CDATA[
      x' * y @ x = y @ x
    ]]></literal>
    <justification jstring="[para(12(a,1),6(a,1,1)),rewrite([2(3)]),flip(a)].">
      <j1 rule="para" parents="12 6"/>
      <j2 rule="rewrite" parents="2"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="50">
    <literal><![CDATA[
      x * y' @ y = x @ y
    ]]></literal>
    <justification jstring="[para(12(a,1),6(a,1,2)),rewrite([26(3)]),flip(a)].">
      <j1 rule="para" parents="12 6"/>
      <j2 rule="rewrite" parents="26"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="51">
    <literal><![CDATA[
      x * x' = e
    ]]></literal>
    <justification jstring="[para(23(a,1),3(a,1))].">
      <j1 rule="para" parents="23 3"/>
    </justification>
  </clause>

  <clause id="56">
    <literal><![CDATA[
      x'' = x
    ]]></literal>
    <justification jstring="[para(23(a,1),26(a,1)),rewrite([26(2)]),flip(a)].">
      <j1 rule="para" parents="23 26"/>
      <j2 rule="rewrite" parents="26"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="59">
    <literal><![CDATA[
      x @ x' = e
    ]]></literal>
    <justification jstring="[para(56(a,1),12(a,1,1))].">
      <j1 rule="para" parents="56 12"/>
    </justification>
  </clause>

  <clause id="61">
    <literal><![CDATA[
      (x * y')' * y' * x = x @ y
    ]]></literal>
    <justification jstring="[para(3(a,1),10(a,1,2,2,2)),rewrite([26(6),50(9)])].">
      <j1 rule="para" parents="3 10"/>
      <j2 rule="rewrite" parents="26 50"/>
    </justification>
  </clause>

  <clause id="66">
    <literal><![CDATA[
      (x * y)' * y * x = y @ x
    ]]></literal>
    <justification jstring="[para(8(a,1),10(a,1,2)),rewrite([30(6)])].">
      <j1 rule="para" parents="8 10"/>
      <j2 rule="rewrite" parents="30"/>
    </justification>
  </clause>

  <clause id="70">
    <literal><![CDATA[
      x' @ y = y @ x
    ]]></literal>
    <justification jstring="[back_rewrite(61),rewrite([66(6)])].">
      <j1 rule="back_rewrite" parents="61"/>
      <j2 rule="rewrite" parents="66"/>
    </justification>
  </clause>

  <clause id="74">
    <literal><![CDATA[
      x * y @ y' = y @ x
    ]]></literal>
    <justification jstring="[para(51(a,1),10(a,1,2,2,2)),rewrite([56(4),26(4),66(4)]),flip(a)].">
      <j1 rule="para" parents="51 10"/>
      <j2 rule="rewrite" parents="56 26 66"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="76">
    <literal><![CDATA[
      x @ y' = y @ x
    ]]></literal>
    <justification jstring="[para(59(a,1),6(a,1,2)),rewrite([26(4),74(5)])].">
      <j1 rule="para" parents="59 6"/>
      <j2 rule="rewrite" parents="26 74"/>
    </justification>
  </clause>

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

  <clause id="108">
    <literal><![CDATA[
      (x @ y) * (y @ z') = x * z @ y
    ]]></literal>
    <justification jstring="[para(76(a,2),6(a,1,2))].">
      <j1 rule="para" parents="76 6"/>
    </justification>
  </clause>

  <clause id="121">
    <literal><![CDATA[
      x * y * z @ y = x * z @ y
    ]]></literal>
    <justification jstring="[para(30(a,1),6(a,1,2)),rewrite([6(3)]),flip(a)].">
      <j1 rule="para" parents="30 6"/>
      <j2 rule="rewrite" parents="6"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="135">
    <literal><![CDATA[
      x @ y * x = x @ y
    ]]></literal>
    <justification jstring="[para(8(a,1),31(a,1,1)),rewrite([127(5)])].">
      <j1 rule="para" parents="8 31"/>
      <j2 rule="rewrite" parents="127"/>
    </justification>
  </clause>

  <clause id="157">
    <literal><![CDATA[
      (x' @ y)' * (z @ x)' * (y * z @ x) = (y @ x) @ (z @ x)
    ]]></literal>
    <justification jstring="[para(70(a,2),15(a,1,1,1))].">
      <j1 rule="para" parents="70 15"/>
    </justification>
  </clause>

  <clause id="166">
    <literal><![CDATA[
      (x @ y)' * (z @ y)' * (y @ (x * z)') = (x @ y) @ (z @ y)
    ]]></literal>
    <justification jstring="[para(76(a,2),15(a,1,2,2))].">
      <j1 rule="para" parents="76 15"/>
    </justification>
  </clause>

  <clause id="194">
    <literal><![CDATA[
      (x @ y) @ x = e
    ]]></literal>
    <justification jstring="[para(5(a,1),49(a,1,1)),rewrite([121(6),3(4),11(4)])].">
      <j1 rule="para" parents="5 49"/>
      <j2 rule="rewrite" parents="121 3 11"/>
    </justification>
  </clause>

  <clause id="207">
    <literal><![CDATA[
      (x @ y) @ y = e
    ]]></literal>
    <justification jstring="[para(76(a,1),194(a,1,1))].">
      <j1 rule="para" parents="76 194"/>
    </justification>
  </clause>

  <clause id="230">
    <literal><![CDATA[
      (x' * y')' * (x @ y) * z = x * y * z
    ]]></literal>
    <justification jstring="[para(9(a,1),16(a,1,2))].">
      <j1 rule="para" parents="9 16"/>
    </justification>
  </clause>

  <clause id="235">
    <literal><![CDATA[
      (x * y)' * x = y'
    ]]></literal>
    <justification jstring="[para(51(a,1),16(a,1,2,2)),rewrite([26(4)])].">
      <j1 rule="para" parents="51 16"/>
      <j2 rule="rewrite" parents="26"/>
    </justification>
  </clause>

  <clause id="241">
    <literal><![CDATA[
      x * (y @ z) @ z = x @ z
    ]]></literal>
    <justification jstring="[para(207(a,1),6(a,1,2)),rewrite([26(3)]),flip(a)].">
      <j1 rule="para" parents="207 6"/>
      <j2 rule="rewrite" parents="26"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="272">
    <literal><![CDATA[
      (x @ y)' = x' @ y
    ]]></literal>
    <justification jstring="[para(51(a,1),22(a,1,2,1)),rewrite([11(4),26(4)])].">
      <j1 rule="para" parents="51 22"/>
      <j2 rule="rewrite" parents="11 26"/>
    </justification>
  </clause>

  <clause id="273">
    <literal><![CDATA[
      (x @ y) * (y @ x) = e
    ]]></literal>
    <justification jstring="[para(59(a,1),22(a,2)),rewrite([272(3),87(3),74(4)])].">
      <j1 rule="para" parents="59 22"/>
      <j2 rule="rewrite" parents="272 87 74"/>
    </justification>
  </clause>

  <clause id="288">
    <literal><![CDATA[
      (x @ y) * (z' * y * z @ x) = (y @ x) @ (z @ x)
    ]]></literal>
    <justification jstring="[back_rewrite(157),rewrite([272(3),56(2),272(3),6(6)])].">
      <j1 rule="back_rewrite" parents="157"/>
      <j2 rule="rewrite" parents="272 56 272 6"/>
    </justification>
  </clause>

  <clause id="302">
    <literal><![CDATA[
      (x @ y) @ (z @ y) = (x @ z) @ y
    ]]></literal>
    <justification jstring="[back_rewrite(166),rewrite([272(2),272(4),108(8),6(7),5(5)]),flip(a)].">
      <j1 rule="back_rewrite" parents="166"/>
      <j2 rule="rewrite" parents="272 272 108 6 5"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="338">
    <literal><![CDATA[
      x * y * (y @ x) = y * x
    ]]></literal>
    <justification jstring="[para(24(a,1),8(a,1,2)),rewrite([56(2)])].">
      <j1 rule="para" parents="24 8"/>
      <j2 rule="rewrite" parents="56"/>
    </justification>
  </clause>

  <clause id="348">
    <literal><![CDATA[
      x * (y @ x) = y * x * y'
    ]]></literal>
    <justification jstring="[para(76(a,1),24(a,2,2)),rewrite([56(2)]),flip(a)].">
      <j1 rule="para" parents="76 24"/>
      <j2 rule="rewrite" parents="56"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="449">
    <literal><![CDATA[
      (x * y)' = y' * x'
    ]]></literal>
    <justification jstring="[para(8(a,1),235(a,1,1,1)),flip(a)].">
      <j1 rule="para" parents="8 235"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="472">
    <literal><![CDATA[
      x * y * (y @ x) * z = y * x * z
    ]]></literal>
    <justification jstring="[back_rewrite(230),rewrite([449(4),56(2),56(2),1(4)])].">
      <j1 rule="back_rewrite" parents="230"/>
      <j2 rule="rewrite" parents="449 56 56 1"/>
    </justification>
  </clause>

  <clause id="506">
    <literal><![CDATA[
      (x @ y') * (x @ y) = e
    ]]></literal>
    <justification jstring="[para(70(a,1),273(a,1,2))].">
      <j1 rule="para" parents="70 273"/>
    </justification>
  </clause>

  <clause id="705">
    <literal><![CDATA[
      (x @ y) * y = y * (x @ y)
    ]]></literal>
    <justification jstring="[para(70(a,1),40(a,1,1))].">
      <j1 rule="para" parents="70 40"/>
    </justification>
  </clause>

  <clause id="1191">
    <literal><![CDATA[
      ((x @ y') @ z') * z * (x @ y) = (x @ y) * z
    ]]></literal>
    <justification jstring="[para(506(a,1),46(a,1,2,2)),rewrite([272(3),87(3),26(3)]),flip(a)].">
      <j1 rule="para" parents="506 46"/>
      <j2 rule="rewrite" parents="272 87 26"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1990">
    <literal><![CDATA[
      x' * y * x @ z = y @ z
    ]]></literal>
    <justification jstring="[para(241(a,1),5(a,2)),rewrite([449(3),272(2),1(8),705(7),1(10),42(9),6(5)])].">
      <j1 rule="para" parents="241 5"/>
      <j2 rule="rewrite" parents="449 272 1 705 1 42 6"/>
    </justification>
  </clause>

  <clause id="2059">
    <literal><![CDATA[
      (x @ y) @ (z @ y) = e
    ]]></literal>
    <justification jstring="[back_rewrite(288),rewrite([1990(5),273(3)]),flip(a)].">
      <j1 rule="back_rewrite" parents="288"/>
      <j2 rule="rewrite" parents="1990 273"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="2069">
    <literal><![CDATA[
      (x @ y) @ z = e
    ]]></literal>
    <justification jstring="[back_rewrite(302),rewrite([2059(3)]),flip(a)].">
      <j1 rule="back_rewrite" parents="302"/>
      <j2 rule="rewrite" parents="2059"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="2083">
    <literal><![CDATA[
      (x @ y) * z = z * (x @ y)
    ]]></literal>
    <justification jstring="[back_rewrite(1191),rewrite([2069(4),2(4)]),flip(a)].">
      <j1 rule="back_rewrite" parents="1191"/>
      <j2 rule="rewrite" parents="2069 2"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="2254">
    <literal><![CDATA[
      x * (y @ z) @ u = x @ u
    ]]></literal>
    <justification jstring="[para(2069(a,1),6(a,1,2)),rewrite([26(3)]),flip(a)].">
      <j1 rule="para" parents="2069 6"/>
      <j2 rule="rewrite" parents="26"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="2257">
    <literal><![CDATA[
      x * y @ z = y * x @ z
    ]]></literal>
    <justification jstring="[para(338(a,1),6(a,2,1)),rewrite([2254(4),6(3)])].">
      <j1 rule="para" parents="338 6"/>
      <j2 rule="rewrite" parents="2254 6"/>
    </justification>
  </clause>

  <clause id="2962">
    <literal><![CDATA[
      (x @ y) * y * x = x * y
    ]]></literal>
    <justification jstring="[para(135(a,1),348(a,1,2)),rewrite([2083(3,R),1(6),51(5),26(5)])].">
      <j1 rule="para" parents="135 348"/>
      <j2 rule="rewrite" parents="2083 1 51 26"/>
    </justification>
  </clause>

  <clause id="3003">
    <literal><![CDATA[
      (x @ y) * y * x * z = x * y * z
    ]]></literal>
    <justification jstring="[para(2962(a,1),1(a,1,1)),rewrite([1(2),1(5)]),flip(a)].">
      <j1 rule="para" parents="2962 1"/>
      <j2 rule="rewrite" parents="1 1"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="3034">
    <literal><![CDATA[
      (x @ y) * z * y * x = z * x * y
    ]]></literal>
    <justification jstring="[para(2257(a,1),2962(a,1,1)),rewrite([14(5),3003(5),1(6)])].">
      <j1 rule="para" parents="2257 2962"/>
      <j2 rule="rewrite" parents="14 3003 1"/>
    </justification>
  </clause>

  <clause id="12588">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer(E)
    ]]></attribute>
    <justification jstring="[para(3034(a,2),7(a,1,2,2)),rewrite([472(13)]),xx(a)].">
      <j1 rule="para" parents="3034 7"/>
      <j2 rule="rewrite" parents="472"/>
      <j2 rule="xx"/>
    </justification>
  </clause>

</proof>

</proofs>
