<?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>na-ring-1.out</source>

<heading><![CDATA[
Prover9 (32) version 22-May-2007, May 2007.
Process 26925 was started by mccune on cleo,
Tue May 22 14:43:05 2007
The command was "/home/mccune/bin/prover9 -f na-ring-1.in".
]]></heading>

<proof number="1" length="29" max_count="48">

<comments><![CDATA[
% Proof 1 at 2.18 (+ 0.01) seconds: right.
% Length of proof is 29.
% Level of proof is 13.
% Maximum clause weight is 48.
% Given clauses 84.
]]></comments>

  <clause id="1" type="goal">
    <literal><![CDATA[
      (x * y) * y = x * (y * y)
    ]]></literal>
    <attribute><![CDATA[
      label(right)
    ]]></attribute>
    <attribute><![CDATA[
      label(non_clause)
    ]]></attribute>
    <attribute><![CDATA[
      label(goal)
    ]]></attribute>
    <justification jstring="[goal].">
      <j1 rule="goal"/>
    </justification>
  </clause>

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

  <clause id="3" type="assumption">
    <literal><![CDATA[
      x + -x = 0
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="5" type="assumption">
    <literal><![CDATA[
      x + y = y + x
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

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

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

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

  <clause id="10" type="deny">
    <literal><![CDATA[
      (c1 * c2) * c2 != c1 * (c2 * c2)
    ]]></literal>
    <attribute><![CDATA[
      label(right)
    ]]></attribute>
    <attribute><![CDATA[
      answer(right)
    ]]></attribute>
    <justification jstring="[deny(1)].">
      <j1 rule="deny" parents="1"/>
    </justification>
  </clause>

  <clause id="14">
    <literal><![CDATA[
      x + (-x + y) = 0 + y
    ]]></literal>
    <justification jstring="[para(3(a,1),4(a,1,1)),flip(a)].">
      <j1 rule="para" parents="3 4"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="15">
    <literal><![CDATA[
      0 + x = x
    ]]></literal>
    <justification jstring="[para(5(a,1),2(a,1))].">
      <j1 rule="para" parents="5 2"/>
    </justification>
  </clause>

  <clause id="16">
    <literal><![CDATA[
      x + (y + z) = y + (x + z)
    ]]></literal>
    <justification jstring="[para(5(a,1),4(a,1,1)),rewrite([4(2)])].">
      <j1 rule="para" parents="5 4"/>
      <j2 rule="rewrite" parents="4"/>
    </justification>
  </clause>

  <clause id="17">
    <literal><![CDATA[
      x + (-x + y) = y
    ]]></literal>
    <justification jstring="[back_rewrite(14),rewrite([15(5)])].">
      <j1 rule="back_rewrite" parents="14"/>
      <j2 rule="rewrite" parents="15"/>
    </justification>
  </clause>

  <clause id="23">
    <literal><![CDATA[
      (x * (x * y)) + ((z * (z * y)) + (((x * z) * y) + ((z * x) * y))) = (x * (x * y)) + ((z * (x * y)) + ((x * (z * y)) + (z * (z * y))))
    ]]></literal>
    <justification jstring="[para(7(a,1),8(a,1,1)),rewrite([6(2),6(5),4(7),7(8),8(2),7(8),7(8),8(8),5(9),16(10),7(14),6(16),7(14),7(19),4(22)])].">
      <j1 rule="para" parents="7 8"/>
      <j2 rule="rewrite" parents="6 6 4 7 8 7 7 8 5 16 7 6 7 7 4"/>
    </justification>
  </clause>

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

  <clause id="37">
    <literal><![CDATA[
      x + (y + -x) = y
    ]]></literal>
    <justification jstring="[para(5(a,1),17(a,1,2))].">
      <j1 rule="para" parents="5 17"/>
    </justification>
  </clause>

  <clause id="48">
    <literal><![CDATA[
      -x + (y + x) = y
    ]]></literal>
    <justification jstring="[para(36(a,1),37(a,1,2,2))].">
      <j1 rule="para" parents="36 37"/>
    </justification>
  </clause>

  <clause id="49">
    <literal><![CDATA[
      -x + (y + (x + z)) = y + z
    ]]></literal>
    <justification jstring="[para(48(a,1),4(a,1,1)),rewrite([4(4)]),flip(a)].">
      <j1 rule="para" parents="48 4"/>
      <j2 rule="rewrite" parents="4"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="50">
    <literal><![CDATA[
      -x + (y + (z + x)) = y + z
    ]]></literal>
    <justification jstring="[para(4(a,1),48(a,1,2))].">
      <j1 rule="para" parents="4 48"/>
    </justification>
  </clause>

  <clause id="226">
    <literal><![CDATA[
      (x * (x * y)) + (((x * z) * y) + ((z * x) * y)) = -(z * (z * y)) + ((x * (x * y)) + ((z * (x * y)) + ((x * (z * y)) + (z * (z * y)))))
    ]]></literal>
    <justification jstring="[para(23(a,1),49(a,1,2)),flip(a)].">
      <j1 rule="para" parents="23 49"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="227">
    <literal><![CDATA[
      -x + (y + (z + (u + x))) = y + (z + u)
    ]]></literal>
    <justification jstring="[para(4(a,1),50(a,1,2,2))].">
      <j1 rule="para" parents="4 50"/>
    </justification>
  </clause>

  <clause id="228">
    <literal><![CDATA[
      (x * (x * y)) + (((x * z) * y) + ((z * x) * y)) = (x * (x * y)) + ((z * (x * y)) + (x * (z * y)))
    ]]></literal>
    <justification jstring="[back_rewrite(226),rewrite([227(23)])].">
      <j1 rule="back_rewrite" parents="226"/>
      <j2 rule="rewrite" parents="227"/>
    </justification>
  </clause>

  <clause id="627">
    <literal><![CDATA[
      x + (((y * z) * u) + ((z * y) * u)) = x + ((z * (y * u)) + (y * (z * u)))
    ]]></literal>
    <justification jstring="[para(228(a,1),49(a,1,2,2)),rewrite([49(13)]),flip(a)].">
      <j1 rule="para" parents="228 49"/>
      <j2 rule="rewrite" parents="49"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="736">
    <literal><![CDATA[
      ((x * y) * z) + ((y * x) * z) = (y * (x * z)) + (x * (y * z))
    ]]></literal>
    <justification jstring="[para(627(a,1),15(a,1)),rewrite([15(7)]),flip(a)].">
      <j1 rule="para" parents="627 15"/>
      <j2 rule="rewrite" parents="15"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="852">
    <literal><![CDATA[
      x + ((y * z) * z) = x + (y * (z * z))
    ]]></literal>
    <justification jstring="[para(799(a,1),49(a,1,2,2)),rewrite([50(10)]),flip(a)].">
      <j1 rule="para" parents="799 49"/>
      <j2 rule="rewrite" parents="50"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="881">
    <literal><![CDATA[
      (x * y) * y = x * (y * y)
    ]]></literal>
    <justification jstring="[para(852(a,1),15(a,1)),rewrite([15(4)]),flip(a)].">
      <j1 rule="para" parents="852 15"/>
      <j2 rule="rewrite" parents="15"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="882">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer(right)
    ]]></attribute>
    <justification jstring="[resolve(881,a,10,a)].">
      <j1 rule="resolve" parents="881 10"/>
    </justification>
  </clause>

</proof>

</proofs>
