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

<heading><![CDATA[
Prover9 (32) version August-2006A, August 2006.
Process 10612 was started by mccune on cleo.thornwood,
Sat Aug 12 20:57:19 2006
The command was "/home/mccune/bin/prover9 -f rp-ident.in".
]]></heading>

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

<comments><![CDATA[
% Proof 1 at 0.99 (+ 0.02) seconds.
% Length of proof is 47.
% Level of proof is 19.
% Maximum clause weight is 23.
% Given clauses 97.
]]></comments>

  <clause id="1">
    <literal><![CDATA[
      ((x * y) * z) * u = ((u * y) * z) * x
    ]]></literal>
    <justification jstring="[goal].">
      <j1 rule="goal"/>
    </justification>
  </clause>

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

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

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

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

  <clause id="6">
    <literal><![CDATA[
      ((c4 * c2) * c3) * c1 != ((c1 * c2) * c3) * c4
    ]]></literal>
    <justification jstring="[deny(1)].">
      <j1 rule="deny" parents="1"/>
    </justification>
  </clause>

  <clause id="7">
    <literal><![CDATA[
      e * e = e
    ]]></literal>
    <justification jstring="[para(2(a,1),2(a,1,1)),rewrite(3(5)),flip(a)].">
      <j1 rule="para" parents="2 2"/>
      <j2 rule="rewrite" parents="3"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

  <clause id="12">
    <literal><![CDATA[
      (x * y) * ((x * z) * u) = z * (y * u)
    ]]></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="13">
    <literal><![CDATA[
      (x * y) * (z * (y * u)) = (x * z) * u
    ]]></literal>
    <justification jstring="[para(3(a,1),4(a,1,2)),flip(a)].">
      <j1 rule="para" parents="3 4"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

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

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

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

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

  <clause id="62">
    <literal><![CDATA[
      ((x * e) * y) * ((z * e) * u) = ((x * z) * e) * (y * u)
    ]]></literal>
    <justification jstring="[para(23(a,1),4(a,1,1)),flip(a)].">
      <j1 rule="para" parents="23 4"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="79">
    <literal><![CDATA[
      x * ((x * e) * e) = x
    ]]></literal>
    <justification jstring="[para(9(a,1),24(a,2)),rewrite(23(7),23(8),16(6),2(3)),flip(a)].">
      <j1 rule="para" parents="9 24"/>
      <j2 rule="rewrite" parents="23 23 16 2"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

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

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

  <clause id="100">
    <literal><![CDATA[
      ((x * x) * y) * e = x * (y * x)
    ]]></literal>
    <justification jstring="[para(80(a,2),9(a,1,2)),rewrite(62(8),23(6))].">
      <j1 rule="para" parents="80 9"/>
      <j2 rule="rewrite" parents="62 23"/>
    </justification>
  </clause>

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

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

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

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

  <clause id="160">
    <literal><![CDATA[
      (x * x) * (y * e) = (e * y) * x
    ]]></literal>
    <justification jstring="[para(146(a,1),9(a,1,2)),rewrite(146(3),114(6),36(5)),flip(a)].">
      <j1 rule="para" parents="146 9"/>
      <j2 rule="rewrite" parents="146 114 36"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="164">
    <literal><![CDATA[
      e * (x * e) = x * (e * x)
    ]]></literal>
    <justification jstring="[para(146(a,1),80(a,1,1)),rewrite(114(4),97(7))].">
      <j1 rule="para" parents="146 80"/>
      <j2 rule="rewrite" parents="114 97"/>
    </justification>
  </clause>

  <clause id="168">
    <literal><![CDATA[
      ((x * e) * y) * e = (e * y) * x
    ]]></literal>
    <justification jstring="[back_rewrite(103),rewrite(160(9))].">
      <j1 rule="back_rewrite" parents="103"/>
      <j2 rule="rewrite" parents="160"/>
    </justification>
  </clause>

  <clause id="172">
    <literal><![CDATA[
      (x * e) * (x * y) = x * ((e * x) * y)
    ]]></literal>
    <justification jstring="[back_rewrite(84),rewrite(168(6),7(3)),flip(a)].">
      <j1 rule="back_rewrite" parents="84"/>
      <j2 rule="rewrite" parents="168 7"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="189">
    <literal><![CDATA[
      x * (y * ((z * x) * u)) = (z * y) * u
    ]]></literal>
    <justification jstring="[para(3(a,1),12(a,1,2)),flip(a)].">
      <j1 rule="para" parents="3 12"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="190">
    <literal><![CDATA[
      ((x * y) * z) * (((x * u) * v) * w) = (u * (y * v)) * (z * w)
    ]]></literal>
    <justification jstring="[para(12(a,1),4(a,1,1)),flip(a)].">
      <j1 rule="para" parents="12 4"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

  <clause id="293">
    <literal><![CDATA[
      (x * (y * z)) * (u * v) = z * ((y * (x * u)) * v)
    ]]></literal>
    <justification jstring="[para(13(a,1),12(a,1,1)),rewrite(190(6))].">
      <j1 rule="para" parents="13 12"/>
      <j2 rule="rewrite" parents="190"/>
    </justification>
  </clause>

  <clause id="297">
    <literal><![CDATA[
      (x * e) * (y * (x * z)) = ((e * x) * y) * z
    ]]></literal>
    <justification jstring="[para(220(a,1),13(a,1,1))].">
      <j1 rule="para" parents="220 13"/>
    </justification>
  </clause>

  <clause id="462">
    <literal><![CDATA[
      x * (y * x) = y * (x * y)
    ]]></literal>
    <justification jstring="[para(100(a,1),220(a,2)),rewrite(293(7),164(5,R),146(4),3(4))].">
      <j1 rule="para" parents="100 220"/>
      <j2 rule="rewrite" parents="293 164 146 3"/>
    </justification>
  </clause>

  <clause id="501">
    <literal><![CDATA[
      x * (y * (x * y)) = y * x
    ]]></literal>
    <justification jstring="[para(462(a,1),3(a,1,2))].">
      <j1 rule="para" parents="462 3"/>
    </justification>
  </clause>

  <clause id="676">
    <literal><![CDATA[
      ((x * e) * y) * y = y * x
    ]]></literal>
    <justification jstring="[para(501(a,1),9(a,2)),rewrite(3(5))].">
      <j1 rule="para" parents="501 9"/>
      <j2 rule="rewrite" parents="3"/>
    </justification>
  </clause>

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

  <clause id="1005">
    <literal><![CDATA[
      x * ((x * y) * e) = y * (e * x)
    ]]></literal>
    <justification jstring="[para(220(a,1),46(a,2,2)),rewrite(297(6),114(4),844(6),7(3)),flip(a)].">
      <j1 rule="para" parents="220 46"/>
      <j2 rule="rewrite" parents="297 114 844 7"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="3830">
    <literal><![CDATA[
      ((x * y) * z) * u = ((u * y) * z) * x
    ]]></literal>
    <justification jstring="[para(1005(a,1),62(a,2,2)),rewrite(23(9),1513(8),293(7),210(5),189(7),13(10))].">
      <j1 rule="para" parents="1005 62"/>
      <j2 rule="rewrite" parents="23 1513 293 210 189 13"/>
    </justification>
  </clause>

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

</proof>

</proofs>
