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

<heading><![CDATA[
Prover9 (32) version Aug-2007, Aug 2007.
Process 15991 was started by mccune on cleo,
Tue Aug  7 09:30:57 2007
The command was "/home/mccune/LADR/bin/prover9 -f cancel2.in".
]]></heading>

<proof number="1" length="26" max_count="15">

<comments><![CDATA[
% Proof 1 at 0.03 (+ 0.00) seconds.
% Length of proof is 26.
% Level of proof is 11.
% Maximum clause weight is 15.
% Given clauses 29.
]]></comments>

  <clause id="1" type="goal">
    <literal><![CDATA[
      x * y = z * y -> x = z
    ]]></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[
      c3 * c2 = c1 * c2
    ]]></literal>
    <justification jstring="[deny(1)].">
      <j1 rule="deny" parents="1"/>
    </justification>
  </clause>

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

  <clause id="8">
    <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 * y) * x) * (e * y) = x * y
    ]]></literal>
    <justification jstring="[para(4(a,1),2(a,1))].">
      <j1 rule="para" parents="4 2"/>
    </justification>
  </clause>

  <clause id="13">
    <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="17">
    <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="36">
    <literal><![CDATA[
      (x * y) * (e * (y * x)) = x
    ]]></literal>
    <justification jstring="[para(3(a,1),9(a,1,1,1)),rewrite([3(7)])].">
      <j1 rule="para" parents="3 9"/>
      <j2 rule="rewrite" parents="3"/>
    </justification>
  </clause>

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

  <clause id="49">
    <literal><![CDATA[
      x * (e * (x * x)) = e * (x * x)
    ]]></literal>
    <justification jstring="[para(5(a,1),36(a,1,1)),rewrite([44(4),3(8),44(6)])].">
      <j1 rule="para" parents="5 36"/>
      <j2 rule="rewrite" parents="44 3 44"/>
    </justification>
  </clause>

  <clause id="50">
    <literal><![CDATA[
      e * ((x * x) * e) = x
    ]]></literal>
    <justification jstring="[para(5(a,1),36(a,1,2,2)),rewrite([44(2),49(4),8(6),44(5)])].">
      <j1 rule="para" parents="5 36"/>
      <j2 rule="rewrite" parents="44 49 8 44"/>
    </justification>
  </clause>

  <clause id="51">
    <literal><![CDATA[
      (c1 * c2) * (e * (c2 * c3)) = c3
    ]]></literal>
    <justification jstring="[para(6(a,1),36(a,1,1))].">
      <j1 rule="para" parents="6 36"/>
    </justification>
  </clause>

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

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

  <clause id="194">
    <literal><![CDATA[
      (c1 * e) * c3 = c3
    ]]></literal>
    <justification jstring="[para(51(a,1),4(a,1)),rewrite([3(9)]),flip(a)].">
      <j1 rule="para" parents="51 4"/>
      <j2 rule="rewrite" parents="3"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="201">
    <literal><![CDATA[
      (c3 * (c1 * e)) * (e * c3) = c3
    ]]></literal>
    <justification jstring="[para(194(a,1),36(a,1,2,2))].">
      <j1 rule="para" parents="194 36"/>
    </justification>
  </clause>

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

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

  <clause id="359">
    <literal><![CDATA[
      c3 * (c1 * c1) = c3
    ]]></literal>
    <justification jstring="[back_rewrite(201),rewrite([257(9),249(6),3(7)])].">
      <j1 rule="back_rewrite" parents="201"/>
      <j2 rule="rewrite" parents="257 249 3"/>
    </justification>
  </clause>

  <clause id="361">
    <literal><![CDATA[
      c3 * c3 = c1 * c1
    ]]></literal>
    <justification jstring="[para(359(a,1),3(a,1,2))].">
      <j1 rule="para" parents="359 3"/>
    </justification>
  </clause>

  <clause id="375">
    <literal><![CDATA[
      c3 = c1
    ]]></literal>
    <justification jstring="[para(361(a,1),36(a,1,1)),rewrite([361(7),36(9)]),flip(a)].">
      <j1 rule="para" parents="361 36"/>
      <j2 rule="rewrite" parents="361 36"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

</proof>

</proofs>
