<?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 November-2006, November 2006.
Process 3860 was started by mccune on cleo.thornwood,
Wed Nov 22 11:24:11 2006
The command was "/home/mccune/bin/prover9 -f gt.in DE.in".
]]></heading>

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

<comments><![CDATA[
% Proof 1 at 5.06 (+ 0.11) seconds: E.
% Length of proof is 72.
% Level of proof is 16.
% Maximum clause weight is 24.
% Given clauses 368.
]]></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) * e = x * e @ y
    ]]></literal>
    <justification jstring="[para(11(a,1),6(a,1,2))].">
      <j1 rule="para" parents="11 6"/>
    </justification>
  </clause>

  <clause id="17">
    <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="18">
    <literal><![CDATA[
      x * y' @ y = x * e @ y
    ]]></literal>
    <justification jstring="[para(12(a,1),6(a,1,2)),rewrite(16(3)),flip(a)].">
      <j1 rule="para" parents="12 6"/>
      <j2 rule="rewrite" parents="16"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="19">
    <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="21">
    <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="23">
    <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="24">
    <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="25">
    <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="26">
    <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="27">
    <literal><![CDATA[
      x' * y * x = y * (y @ x)
    ]]></literal>
    <justification jstring="[back_rewrite(24),rewrite(26(4)),flip(a)].">
      <j1 rule="back_rewrite" parents="24"/>
      <j2 rule="rewrite" parents="26"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="31">
    <literal><![CDATA[
      x * y' @ y = x @ y
    ]]></literal>
    <justification jstring="[back_rewrite(18),rewrite(29(5))].">
      <j1 rule="back_rewrite" parents="18"/>
      <j2 rule="rewrite" parents="29"/>
    </justification>
  </clause>

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

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

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

  <clause id="44">
    <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="49">
    <literal><![CDATA[
      x' * y * x * z = (x @ y') * y * z
    ]]></literal>
    <justification jstring="[para(8(a,1),9(a,1,2,2,2)),rewrite(26(5))].">
      <j1 rule="para" parents="8 9"/>
      <j2 rule="rewrite" parents="26"/>
    </justification>
  </clause>

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

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

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

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

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

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

  <clause id="78">
    <literal><![CDATA[
      x * y @ y' = y @ x
    ]]></literal>
    <justification jstring="[para(54(a,1),10(a,1,2,2,2)),rewrite(62(4),29(4),69(4)),flip(a)].">
      <j1 rule="para" parents="54 10"/>
      <j2 rule="rewrite" parents="62 29 69"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  <clause id="2599">
    <literal><![CDATA[
      (x @ y) * y * x = x * y
    ]]></literal>
    <justification jstring="[para(139(a,1),345(a,1,2)),rewrite(1998(3,R),1(6),54(5),29(5))].">
      <j1 rule="para" parents="139 345"/>
      <j2 rule="rewrite" parents="1998 1 54 29"/>
    </justification>
  </clause>

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

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

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

</proof>

</proofs>
