<?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 August-2006A, August 2006.
Process 10604 was started by mccune on cleo.thornwood,
Sat Aug 12 20:57:11 2006
The command was "/home/mccune/bin/prover9 -f na-ring-1.in".
]]></heading>

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

<comments><![CDATA[
% Proof 1 at 3.06 (+ 0.00) seconds.
% Length of proof is 28.
% Level of proof is 13.
% Maximum clause weight is 48.
% Given clauses 84.
]]></comments>

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

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

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

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

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

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

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

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

  <clause id="9">
    <literal><![CDATA[
      (B * A) * A != B * (A * A)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

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

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

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

  <clause id="22">
    <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(6(a,1),7(a,1,1)),rewrite(5(2),5(5),3(7),6(8),7(2),6(8),6(8),7(8),4(9),15(10),6(14),5(16),6(14),6(19),3(22))].">
      <j1 rule="para" parents="6 7"/>
      <j2 rule="rewrite" parents="5 5 3 6 7 6 6 7 4 15 6 5 6 6 3"/>
    </justification>
  </clause>

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

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

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

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

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

  <clause id="215">
    <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(22(a,1),48(a,1,2)),flip(a)].">
      <j1 rule="para" parents="22 48"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="220">
    <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(215),rewrite(219(23))].">
      <j1 rule="back_rewrite" parents="215"/>
      <j2 rule="rewrite" parents="219"/>
    </justification>
  </clause>

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

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

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

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

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

  <clause id="843">
    <literal><![CDATA[
      $F
    ]]></literal>
    <justification jstring="[resolve(842,a,9,a)].">
      <j1 rule="resolve" parents="842 9"/>
    </justification>
  </clause>

</proof>

</proofs>
