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

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

<proof number="1" length="47" max_count="19">

<comments><![CDATA[
% Proof 1 at 3.87 (+ 0.03) seconds: E.
% Length of proof is 47.
% Level of proof is 13.
% Maximum clause weight is 19.
% Given clauses 311.
]]></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 = u @ (v @ w)
    ]]></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="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="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 * y
    ]]></literal>
    <justification jstring="[para(8(a,1),8(a,1,2))].">
      <j1 rule="para" parents="8 8"/>
    </justification>
  </clause>

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

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

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

  <clause id="30">
    <literal><![CDATA[
      (x @ y) @ z = e
    ]]></literal>
    <justification jstring="[para(11(a,1),6(a,2))].">
      <j1 rule="para" parents="11 6"/>
    </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([22(4)]),flip(a)].">
      <j1 rule="para" parents="5 9"/>
      <j2 rule="rewrite" parents="22"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

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

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

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

  <clause id="88">
    <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="94">
    <literal><![CDATA[
      (x * y)' * x = y'
    ]]></literal>
    <justification jstring="[para(63(a,1),16(a,1,2,2)),rewrite([25(4)])].">
      <j1 rule="para" parents="63 16"/>
      <j2 rule="rewrite" parents="25"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

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

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

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

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

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

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

  <clause id="180">
    <literal><![CDATA[
      x' @ y = y @ x
    ]]></literal>
    <justification jstring="[back_rewrite(176),rewrite([179(3)])].">
      <j1 rule="back_rewrite" parents="176"/>
      <j2 rule="rewrite" parents="179"/>
    </justification>
  </clause>

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

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

  <clause id="352">
    <literal><![CDATA[
      (x @ y) * y * x = x * y
    ]]></literal>
    <justification jstring="[para(217(a,1),40(a,2,2)),rewrite([124(2),179(5),187(3),1(6),106(6)])].">
      <j1 rule="para" parents="217 40"/>
      <j2 rule="rewrite" parents="124 179 187 1 106"/>
    </justification>
  </clause>

  <clause id="839">
    <literal><![CDATA[
      (x @ y) * z * y * x = z * x * y
    ]]></literal>
    <justification jstring="[para(352(a,1),41(a,1,2,2)),rewrite([134(2),28(6),2(7)])].">
      <j1 rule="para" parents="352 41"/>
      <j2 rule="rewrite" parents="134 28 2"/>
    </justification>
  </clause>

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

</proof>

</proofs>
