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

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

<proof number="1" length="40" max_count="31">

<comments><![CDATA[
% Proof 1 at 0.37 (+ 0.00) seconds: right.
% Length of proof is 40.
% Level of proof is 10.
% Maximum clause weight is 31.
% Given clauses 77.
]]></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[
      associator(x,y,z) = ((x * y) * z) + -(x * (y * z))
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="9">
    <literal><![CDATA[
      -(x * (y * z)) + ((x * y) * z) = associator(x,y,z)
    ]]></literal>
    <justification jstring="[copy(8),rewrite([5(7)]),flip(a)].">
      <j1 rule="copy" parents="8"/>
      <j2 rule="rewrite" parents="5"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="10" 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="11" 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="12" 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="15">
    <literal><![CDATA[
      x + (y + -(x + y)) = 0
    ]]></literal>
    <justification jstring="[para(4(a,1),3(a,1))].">
      <j1 rule="para" parents="4 3"/>
    </justification>
  </clause>

  <clause id="16">
    <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="17">
    <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="18">
    <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="19">
    <literal><![CDATA[
      x + (-x + y) = y
    ]]></literal>
    <justification jstring="[back_rewrite(16),rewrite([17(5)])].">
      <j1 rule="back_rewrite" parents="16"/>
      <j2 rule="rewrite" parents="17"/>
    </justification>
  </clause>

  <clause id="27">
    <literal><![CDATA[
      -((x * (y * z)) + (x * (u * z))) + (((x * y) * z) + ((x * u) * z)) = associator(x,y + u,z)
    ]]></literal>
    <justification jstring="[para(6(a,1),9(a,1,2,1)),rewrite([7(2),6(4),7(10)])].">
      <j1 rule="para" parents="6 9"/>
      <j2 rule="rewrite" parents="7 6 7"/>
    </justification>
  </clause>

  <clause id="29">
    <literal><![CDATA[
      -((x * (y * z)) + (u * (y * z))) + (((x * y) * z) + ((u * y) * z)) = associator(x + u,y,z)
    ]]></literal>
    <justification jstring="[para(7(a,1),9(a,1,1,1)),rewrite([7(8),7(10)])].">
      <j1 rule="para" parents="7 9"/>
      <j2 rule="rewrite" parents="7 7"/>
    </justification>
  </clause>

  <clause id="34">
    <literal><![CDATA[
      associator(x,x,y) = 0
    ]]></literal>
    <justification jstring="[para(10(a,1),9(a,1,2)),rewrite([5(6),3(6)]),flip(a)].">
      <j1 rule="para" parents="10 9"/>
      <j2 rule="rewrite" parents="5 3"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="40">
    <literal><![CDATA[
      associator(x,y,x) = 0
    ]]></literal>
    <justification jstring="[para(11(a,1),9(a,1,2)),rewrite([5(6),3(6)]),flip(a)].">
      <j1 rule="para" parents="11 9"/>
      <j2 rule="rewrite" parents="5 3"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="50">
    <literal><![CDATA[
      (0 * x) + (y * x) = y * x
    ]]></literal>
    <justification jstring="[para(17(a,1),7(a,1,1)),flip(a)].">
      <j1 rule="para" parents="17 7"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

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

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

  <clause id="71">
    <literal><![CDATA[
      associator(x,y,z) + associator(u,y,z) = associator(x + u,y,z)
    ]]></literal>
    <justification jstring="[back_rewrite(29),rewrite([58(8),58(12),4(15),5(16),4(16),4(15),4(14),54(15)])].">
      <j1 rule="back_rewrite" parents="29"/>
      <j2 rule="rewrite" parents="58 58 4 5 4 4 4 54"/>
    </justification>
  </clause>

  <clause id="73">
    <literal><![CDATA[
      associator(x,y,z) + associator(x,u,z) = associator(x,y + u,z)
    ]]></literal>
    <justification jstring="[back_rewrite(27),rewrite([58(8),58(12),4(15),5(16),4(16),4(15),4(14),54(15)])].">
      <j1 rule="back_rewrite" parents="27"/>
      <j2 rule="rewrite" parents="58 58 4 5 4 4 4 54"/>
    </justification>
  </clause>

  <clause id="75">
    <literal><![CDATA[
      associator(c1,c2,c2) + (c1 * (c2 * c2)) != c1 * (c2 * c2)
    ]]></literal>
    <attribute><![CDATA[
      answer(right)
    ]]></attribute>
    <justification jstring="[back_rewrite(12),rewrite([58(5)])].">
      <j1 rule="back_rewrite" parents="12"/>
      <j2 rule="rewrite" parents="58"/>
    </justification>
  </clause>

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

  <clause id="136">
    <literal><![CDATA[
      0 * x = 0
    ]]></literal>
    <justification jstring="[para(50(a,1),80(a,1,2)),rewrite([5(4),3(4)]),flip(a)].">
      <j1 rule="para" parents="50 80"/>
      <j2 rule="rewrite" parents="5 3"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="155">
    <literal><![CDATA[
      associator(0,x,y) = 0
    ]]></literal>
    <justification jstring="[para(136(a,1),58(a,1,1)),rewrite([136(2),136(6),5(5),17(5)]),flip(a)].">
      <j1 rule="para" parents="136 58"/>
      <j2 rule="rewrite" parents="136 136 5 17"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="179">
    <literal><![CDATA[
      associator(x + y,x,z) = associator(y,x,z)
    ]]></literal>
    <justification jstring="[para(34(a,1),71(a,1,1)),rewrite([17(3)]),flip(a)].">
      <j1 rule="para" parents="34 71"/>
      <j2 rule="rewrite" parents="17"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="188">
    <literal><![CDATA[
      associator(-x,x,y) = 0
    ]]></literal>
    <justification jstring="[para(3(a,1),179(a,1,1)),rewrite([155(2)]),flip(a)].">
      <j1 rule="para" parents="3 179"/>
      <j2 rule="rewrite" parents="155"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="190">
    <literal><![CDATA[
      associator(x,y,y + x) = 0
    ]]></literal>
    <justification jstring="[para(179(a,1),40(a,1))].">
      <j1 rule="para" parents="179 40"/>
    </justification>
  </clause>

  <clause id="211">
    <literal><![CDATA[
      associator(x,-x,y) = 0
    ]]></literal>
    <justification jstring="[para(55(a,1),188(a,1,1))].">
      <j1 rule="para" parents="55 188"/>
    </justification>
  </clause>

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

  <clause id="230">
    <literal><![CDATA[
      associator(x,-x + y,y) = 0
    ]]></literal>
    <justification jstring="[para(19(a,1),220(a,1,3))].">
      <j1 rule="para" parents="19 220"/>
    </justification>
  </clause>

  <clause id="683">
    <literal><![CDATA[
      associator(x,y,y) = 0
    ]]></literal>
    <justification jstring="[para(230(a,1),73(a,2)),rewrite([211(2),17(3)])].">
      <j1 rule="para" parents="230 73"/>
      <j2 rule="rewrite" parents="211 17"/>
    </justification>
  </clause>

  <clause id="758">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer(right)
    ]]></attribute>
    <justification jstring="[back_rewrite(75),rewrite([683(4),17(7)]),xx(a)].">
      <j1 rule="back_rewrite" parents="75"/>
      <j2 rule="rewrite" parents="683 17"/>
      <j2 rule="xx"/>
    </justification>
  </clause>

</proof>

</proofs>
