<?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 March-2007, March 2007.
Process 21001 was started by mccune on cleo,
Mon Mar 19 17:01:53 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.86 (+ 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="41">
    <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,2),70(a,1))].">
      <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="155">
    <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="164">
    <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(155),rewrite(272(3),56(2),272(3),6(6))].">
      <j1 rule="back_rewrite" parents="155"/>
      <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(164),rewrite(272(2),272(4),108(8),6(7),5(5)),flip(a)].">
      <j1 rule="back_rewrite" parents="164"/>
      <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),41(9),6(5))].">
      <j1 rule="para" parents="241 5"/>
      <j2 rule="rewrite" parents="449 272 1 705 1 41 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>
