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

<heading><![CDATA[
Prover9 (32) version April-2007, April 2007.
Process 14657 was started by hoefnepe on europa,
Fri Sep 21 17:18:47 2007
The command was "../../../kleene/Prover9/bin/prover9 -f lm432.in".
]]></heading>

<proof number="1" length="14" max_count="17">

<comments><![CDATA[
% Proof 1 at 0.02 (+ 0.00) seconds.
% Length of proof is 14.
% Level of proof is 4.
% Maximum clause weight is 16.
% Given clauses 36.
]]></comments>

  <clause id="1" type="assumption">
    <literal><![CDATA[
      x + y ; x = y ; x -> x + y ^ = y ^
    ]]></literal>
    <attribute><![CDATA[
      label(non_clause)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="2" type="goal">
    <literal><![CDATA[
      x ^ ; y + x ^ = x ^
    ]]></literal>
    <attribute><![CDATA[
      label(goal)
    ]]></attribute>
    <justification jstring="[goal].">
      <j1 rule="goal"/>
    </justification>
  </clause>

  <clause id="3" type="assumption">
    <literal><![CDATA[
      x + y = y + x
    ]]></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">
    <literal><![CDATA[
      x ; y ; z = x ; (y ; z)
    ]]></literal>
    <justification jstring="[copy(4),flip(a)].">
      <j1 rule="copy" parents="4"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="7" type="assumption">
    <literal><![CDATA[
      x ; x ^ = x ^
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="8" type="clausify">
    <literal><![CDATA[
      x ; y != y + x ; y
    ]]></literal>
    <literal><![CDATA[
      x ^ = y + x ^
    ]]></literal>
    <justification jstring="[clausify(1)].">
      <j1 rule="clausify" parents="1"/>
    </justification>
  </clause>

  <clause id="9">
    <literal><![CDATA[
      x + y ; x != y ; x
    ]]></literal>
    <literal><![CDATA[
      x + y ^ = y ^
    ]]></literal>
    <justification jstring="[copy(8),flip(a),flip(b)].">
      <j1 rule="copy" parents="8"/>
      <j2 rule="flip"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="10" type="deny">
    <literal><![CDATA[
      c1 ^ != c1 ^ ; c2 + c1 ^
    ]]></literal>
    <justification jstring="[deny(2)].">
      <j1 rule="deny" parents="2"/>
    </justification>
  </clause>

  <clause id="11">
    <literal><![CDATA[
      c1 ^ + c1 ^ ; c2 != c1 ^
    ]]></literal>
    <justification jstring="[copy(10),rewrite(3(9)),flip(a)].">
      <j1 rule="copy" parents="10"/>
      <j2 rule="rewrite" parents="3"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="12">
    <literal><![CDATA[
      x ; (x ^ ; y) = x ^ ; y
    ]]></literal>
    <justification jstring="[para(7(a,1),5(a,1,1)),flip(a)].">
      <j1 rule="para" parents="7 5"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="13">
    <literal><![CDATA[
      x ^ + x ^ ; y = x ^
    ]]></literal>
    <justification jstring="[para(12(a,1),9(a,1,2)),rewrite(6(5),12(5),3(9)),xx(a)].">
      <j1 rule="para" parents="12 9"/>
      <j2 rule="rewrite" parents="6 12 3"/>
      <j2 rule="xx"/>
    </justification>
  </clause>

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

</proof>

</proofs>
