<?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 2008-04A, April 2008.
Process 23963 was started by mccune on cleo,
Fri Apr  4 11:28:34 2008
The command was "/home/mccune/LADR/bin/prover9 -f rp-ident.in".
]]></heading>

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

<comments><![CDATA[
% Proof 1 at 0.93 (+ 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" type="goal">
    <literal><![CDATA[
      ((x * y) * z) * u = ((u * y) * z) * x
    ]]></literal>
    <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 * e) * x = x
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

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

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

  <clause id="6" type="deny">
    <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="101">
    <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) * w) * v5) = (u * (y * w)) * (z * v5)
    ]]></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 * w) = z * ((y * (x * u)) * w)
    ]]></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="526">
    <literal><![CDATA[
      x * (y * x) = y * (x * y)
    ]]></literal>
    <justification jstring="[para(101(a,1),220(a,2)),rewrite([293(7),164(5,R),146(4),3(4)])].">
      <j1 rule="para" parents="101 220"/>
      <j2 rule="rewrite" parents="293 164 146 3"/>
    </justification>
  </clause>

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

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

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

  <clause id="1015">
    <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),939(6),7(3)]),flip(a)].">
      <j1 rule="para" parents="220 46"/>
      <j2 rule="rewrite" parents="297 114 939 7"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1521">
    <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="3842">
    <literal><![CDATA[
      ((x * y) * z) * u = ((u * y) * z) * x
    ]]></literal>
    <justification jstring="[para(1015(a,1),62(a,2,2)),rewrite([23(9),1521(8),293(7),210(5),189(7),13(10)])].">
      <j1 rule="para" parents="1015 62"/>
      <j2 rule="rewrite" parents="23 1521 293 210 189 13"/>
    </justification>
  </clause>

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

</proof>

</proofs>
