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

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

<proof number="1" length="29" max_count="22">

<comments><![CDATA[
% Proof 1 at 178.32 (+ 1.57) seconds.
% Length of proof is 29.
% Level of proof is 8.
% Maximum clause weight is 22.
% Given clauses 2348.
]]></comments>

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

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

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

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

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

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

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

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

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

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

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

  <clause id="14">
    <literal><![CDATA[
      x ^ + (x ; x) ^ = x ^
    ]]></literal>
    <justification jstring="[copy(13),rewrite(4(4))].">
      <j1 rule="copy" parents="13"/>
      <j2 rule="rewrite" parents="4"/>
    </justification>
  </clause>

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

  <clause id="16">
    <literal><![CDATA[
      (c1 + c2) ^ + (c1 ; c2) ^ != (c1 + c2) ^
    ]]></literal>
    <justification jstring="[copy(15),rewrite(4(13)),flip(a)].">
      <j1 rule="copy" parents="15"/>
      <j2 rule="rewrite" parents="4"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

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

  <clause id="20">
    <literal><![CDATA[
      (x + y) ^ + (x ; (x + y) + y ; (x + y)) ^ = (x + y) ^
    ]]></literal>
    <justification jstring="[para(8(a,1),14(a,1,2,1))].">
      <j1 rule="para" parents="8 14"/>
    </justification>
  </clause>

  <clause id="21">
    <literal><![CDATA[
      x ^ + (y + (x ; x) ^) = y + x ^
    ]]></literal>
    <justification jstring="[para(14(a,1),17(a,1,2)),flip(a)].">
      <j1 rule="para" parents="14 17"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="22">
    <literal><![CDATA[
      x ; y + x ; (y + z) = x ; (y + z)
    ]]></literal>
    <justification jstring="[hyper(10,a,18,a)].">
      <j1 rule="hyper" parents="10 18"/>
    </justification>
  </clause>

  <clause id="23">
    <literal><![CDATA[
      x ^ + (y + x) ^ = (y + x) ^
    ]]></literal>
    <justification jstring="[hyper(12,a,19,a)].">
      <j1 rule="hyper" parents="12 19"/>
    </justification>
  </clause>

  <clause id="24">
    <literal><![CDATA[
      x ^ + (y + (z + x) ^) = y + (z + x) ^
    ]]></literal>
    <justification jstring="[para(23(a,1),17(a,1,2)),flip(a)].">
      <j1 rule="para" parents="23 17"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="25">
    <literal><![CDATA[
      (x ; y) ^ + (x ; (y + z)) ^ = (x ; (y + z)) ^
    ]]></literal>
    <justification jstring="[hyper(12,a,22,a)].">
      <j1 rule="hyper" parents="12 22"/>
    </justification>
  </clause>

  <clause id="26">
    <literal><![CDATA[
      (x + y) ^ + (x ; x + y ; x) ^ = (x + y) ^
    ]]></literal>
    <justification jstring="[para(25(a,1),21(a,1,2)),rewrite(8(5),20(9),8(4),4(9)),flip(a)].">
      <j1 rule="para" parents="25 21"/>
      <j2 rule="rewrite" parents="8 20 8 4"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="27">
    <literal><![CDATA[
      (x + y) ^ + (y ; x) ^ = (x + y) ^
    ]]></literal>
    <justification jstring="[para(26(a,1),24(a,1,2)),rewrite(4(5),26(12))].">
      <j1 rule="para" parents="26 24"/>
      <j2 rule="rewrite" parents="4 26"/>
    </justification>
  </clause>

  <clause id="28">
    <literal><![CDATA[
      (x + y) ^ + (x ; y) ^ = (y + x) ^
    ]]></literal>
    <justification jstring="[para(4(a,1),27(a,1,1,1))].">
      <j1 rule="para" parents="4 27"/>
    </justification>
  </clause>

  <clause id="29">
    <literal><![CDATA[
      $F
    ]]></literal>
    <justification jstring="[back_rewrite(16),rewrite(28(9),4(3)),xx(a)].">
      <j1 rule="back_rewrite" parents="16"/>
      <j2 rule="rewrite" parents="28 4"/>
      <j2 rule="xx"/>
    </justification>
  </clause>

</proof>

</proofs>
