<?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>EN-gt.out</source>

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

<proof number="1" length="65" max_count="23">

<comments><![CDATA[
% Proof 1 at 0.27 (+ 0.00) seconds: N.
% Length of proof is 65.
% Level of proof is 18.
% Maximum clause weight is 23.
% Given clauses 142.
]]></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 = y * x * z * x * y
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="7" type="assumption">
    <literal><![CDATA[
      (A @ B) * C != C * (A @ B)
    ]]></literal>
    <attribute><![CDATA[
      answer(N)
    ]]></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="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="18">
    <literal><![CDATA[
      x * y * y * x = y * x * x * y
    ]]></literal>
    <justification jstring="[para(2(a,1),6(a,1,2,2)),rewrite([2(6)])].">
      <j1 rule="para" parents="2 6"/>
      <j2 rule="rewrite" parents="2"/>
    </justification>
  </clause>

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

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

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

  <clause id="37">
    <literal><![CDATA[
      x * y * (x * y)' * y * x = y * x
    ]]></literal>
    <justification jstring="[back_rewrite(20),rewrite([35(8)])].">
      <j1 rule="back_rewrite" parents="20"/>
      <j2 rule="rewrite" parents="35"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

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

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

  <clause id="81">
    <literal><![CDATA[
      x * y * (x * y @ x) = y * x
    ]]></literal>
    <justification jstring="[back_rewrite(37),rewrite([74(4)])].">
      <j1 rule="back_rewrite" parents="37"/>
      <j2 rule="rewrite" parents="74"/>
    </justification>
  </clause>

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

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

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

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

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

  <clause id="130">
    <literal><![CDATA[
      (x @ y)' = y @ x
    ]]></literal>
    <justification jstring="[para(9(a,2),116(a,1,2,1)),rewrite([129(7),129(5),129(3),129(2),1(5),64(7),1(6),1(5),64(8),1(7),1(6),1(5),5(6),63(4)]),flip(a)].">
      <j1 rule="para" parents="9 116"/>
      <j2 rule="rewrite" parents="129 129 129 129 1 64 1 1 64 1 1 1 5 63"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="139">
    <literal><![CDATA[
      (x @ y) * (y @ x) = e
    ]]></literal>
    <justification jstring="[back_rewrite(118),rewrite([129(8),129(6),129(4),129(3),1(6),64(8),1(7),1(6),64(9),1(8),1(7),1(6),5(7),63(5)])].">
      <j1 rule="back_rewrite" parents="118"/>
      <j2 rule="rewrite" parents="129 129 129 129 1 64 1 1 64 1 1 1 5 63"/>
    </justification>
  </clause>

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

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

  <clause id="159">
    <literal><![CDATA[
      x * y * (y @ x) = y * x
    ]]></literal>
    <justification jstring="[back_rewrite(81),rewrite([145(2)])].">
      <j1 rule="back_rewrite" parents="81"/>
      <j2 rule="rewrite" parents="145"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

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

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

  <clause id="362">
    <literal><![CDATA[
      (x @ y) @ y * x = e
    ]]></literal>
    <justification jstring="[para(246(a,1),5(a,1,2,2)),rewrite([130(2),129(3),1(6),5(6),139(3)]),flip(a)].">
      <j1 rule="para" parents="246 5"/>
      <j2 rule="rewrite" parents="130 129 1 5 139"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="401">
    <literal><![CDATA[
      (x @ y) @ x = e
    ]]></literal>
    <justification jstring="[para(63(a,1),362(a,1,2)),rewrite([183(3)])].">
      <j1 rule="para" parents="63 362"/>
      <j2 rule="rewrite" parents="183"/>
    </justification>
  </clause>

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

  <clause id="425">
    <literal><![CDATA[
      x @ (x' @ y) = e
    ]]></literal>
    <justification jstring="[para(401(a,1),237(a,2)),rewrite([423(4),192(5)])].">
      <j1 rule="para" parents="401 237"/>
      <j2 rule="rewrite" parents="423 192"/>
    </justification>
  </clause>

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

  <clause id="484">
    <literal><![CDATA[
      x @ y' = y @ x
    ]]></literal>
    <justification jstring="[back_rewrite(364),rewrite([478(3),2(4)])].">
      <j1 rule="back_rewrite" parents="364"/>
      <j2 rule="rewrite" parents="478 2"/>
    </justification>
  </clause>

  <clause id="591">
    <literal><![CDATA[
      (B @ A') * C != C * (A @ B)
    ]]></literal>
    <attribute><![CDATA[
      answer(N)
    ]]></attribute>
    <justification jstring="[para(484(a,2),7(a,1,1))].">
      <j1 rule="para" parents="484 7"/>
    </justification>
  </clause>

  <clause id="596">
    <literal><![CDATA[
      (x @ y) @ z = z @ (y @ x)
    ]]></literal>
    <justification jstring="[para(130(a,1),484(a,1,2)),flip(a)].">
      <j1 rule="para" parents="130 484"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="607">
    <literal><![CDATA[
      x' @ y = x @ y'
    ]]></literal>
    <justification jstring="[para(484(a,2),160(a,1)),rewrite([129(3),64(2),185(3)]),flip(a)].">
      <j1 rule="para" parents="484 160"/>
      <j2 rule="rewrite" parents="129 64 185"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="666">
    <literal><![CDATA[
      (B @ A') * C != C * (B @ A')
    ]]></literal>
    <attribute><![CDATA[
      answer(N)
    ]]></attribute>
    <justification jstring="[para(484(a,2),591(a,2,2))].">
      <j1 rule="para" parents="484 591"/>
    </justification>
  </clause>

  <clause id="1029">
    <literal><![CDATA[
      (x @ y) * z * y * (y @ x) = z * y
    ]]></literal>
    <justification jstring="[para(33(a,1),50(a,1,2,2)),rewrite([158(3),1(8),58(7),35(7)])].">
      <j1 rule="para" parents="33 50"/>
      <j2 rule="rewrite" parents="158 1 58 35"/>
    </justification>
  </clause>

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

  <clause id="1946">
    <literal><![CDATA[
      x @ ((x @ y) @ z) = (x @ y) @ z
    ]]></literal>
    <justification jstring="[para(1932(a,1),5(a,1,2,2)),rewrite([130(3),3(4),35(4),596(5)]),flip(a)].">
      <j1 rule="para" parents="1932 5"/>
      <j2 rule="rewrite" parents="130 3 35 596"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1955">
    <literal><![CDATA[
      (x @ y) @ z = e
    ]]></literal>
    <justification jstring="[para(1932(a,1),218(a,1,2)),rewrite([607(2),67(2),596(4),1946(4)]),flip(a)].">
      <j1 rule="para" parents="1932 218"/>
      <j2 rule="rewrite" parents="607 67 596 1946"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1988">
    <literal><![CDATA[
      (x @ y) * z = z * (x @ y)
    ]]></literal>
    <justification jstring="[back_rewrite(269),rewrite([1955(6),35(6),5(7)])].">
      <j1 rule="back_rewrite" parents="269"/>
      <j2 rule="rewrite" parents="1955 35 5"/>
    </justification>
  </clause>

  <clause id="1989">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer(N)
    ]]></attribute>
    <justification jstring="[resolve(1988,a,666,a)].">
      <j1 rule="resolve" parents="1988 666"/>
    </justification>
  </clause>

</proof>

</proofs>
