<?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="2">

<source>lm434.out</source>

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

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

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

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

  <clause id="3" 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="4" 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="5" type="goal">
    <literal><![CDATA[
      (x ; x *) ^ + x ^ = (x ; x *) ^
    ]]></literal>
    <attribute><![CDATA[
      label(goal)
    ]]></attribute>
    <justification jstring="[goal].">
      <j1 rule="goal"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

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

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

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

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

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

  <clause id="18">
    <literal><![CDATA[
      c2 ^ + (c2 ; c2 *) ^ != (c2 ; c2 *) ^
    ]]></literal>
    <justification jstring="[copy(17),rewrite(6(13)),flip(a)].">
      <j1 rule="copy" parents="17"/>
      <j2 rule="rewrite" parents="6"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="20">
    <literal><![CDATA[
      0 * = 1
    ]]></literal>
    <justification jstring="[para(9(a,1),12(a,1,2)),rewrite(6(3),19(3)),flip(a)].">
      <j1 rule="para" parents="9 12"/>
      <j2 rule="rewrite" parents="6 19"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="21">
    <literal><![CDATA[
      c2 + c2 ; c2 * != c2 ; c2 *
    ]]></literal>
    <justification jstring="[ur(16,b,18,a)].">
      <j1 rule="ur" parents="16 18"/>
    </justification>
  </clause>

  <clause id="22">
    <literal><![CDATA[
      1 + x * = x *
    ]]></literal>
    <justification jstring="[hyper(14,a,19,a),rewrite(20(2))].">
      <j1 rule="hyper" parents="14 19"/>
      <j2 rule="rewrite" parents="20"/>
    </justification>
  </clause>

  <clause id="23">
    <literal><![CDATA[
      x + x ; y * = x ; y *
    ]]></literal>
    <justification jstring="[hyper(11,a,22,a),rewrite(8(2))].">
      <j1 rule="hyper" parents="11 22"/>
      <j2 rule="rewrite" parents="8"/>
    </justification>
  </clause>

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

</proof>

<proof number="2" length="51" max_count="21">

<comments><![CDATA[
% Proof 2 at 13.87 (+ 0.20) seconds.
% Length of proof is 51.
% Level of proof is 9.
% Maximum clause weight is 21.
% Given clauses 912.
]]></comments>

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

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

  <clause id="4" 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="5" type="assumption">
    <literal><![CDATA[
      x + y = y -> x ; z + y ; z = y ; z
    ]]></literal>
    <attribute><![CDATA[
      label(non_clause)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="6" 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="7" 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="8" type="goal">
    <literal><![CDATA[
      (x ; x *) ^ + x ^ = x ^
    ]]></literal>
    <attribute><![CDATA[
      label(goal)
    ]]></attribute>
    <justification jstring="[goal].">
      <j1 rule="goal"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  <clause id="24">
    <literal><![CDATA[
      x + (y ; x + z) != x
    ]]></literal>
    <literal><![CDATA[
      y * ; z + x = x
    ]]></literal>
    <justification jstring="[copy(23),rewrite(9(3))].">
      <j1 rule="copy" parents="23"/>
      <j2 rule="rewrite" parents="9"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

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

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

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

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

  <clause id="36">
    <literal><![CDATA[
      0 + x = x
    ]]></literal>
    <justification jstring="[para(10(a,1),9(a,1)),flip(a)].">
      <j1 rule="para" parents="10 9"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="38">
    <literal><![CDATA[
      0 * = 1
    ]]></literal>
    <justification jstring="[para(17(a,1),22(a,1,2)),rewrite(9(3),36(3)),flip(a)].">
      <j1 rule="para" parents="17 22"/>
      <j2 rule="rewrite" parents="9 36"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

  <clause id="41">
    <literal><![CDATA[
      1 + x * = x *
    ]]></literal>
    <justification jstring="[hyper(31,a,36,a),rewrite(38(2))].">
      <j1 rule="hyper" parents="31 36"/>
      <j2 rule="rewrite" parents="38"/>
    </justification>
  </clause>

  <clause id="42">
    <literal><![CDATA[
      x + y * ; x = y * ; x
    ]]></literal>
    <justification jstring="[hyper(29,a,41,a),rewrite(14(2))].">
      <j1 rule="hyper" parents="29 41"/>
      <j2 rule="rewrite" parents="14"/>
    </justification>
  </clause>

  <clause id="43">
    <literal><![CDATA[
      x + x ; y * = x ; y *
    ]]></literal>
    <justification jstring="[hyper(21,a,41,a),rewrite(13(2))].">
      <j1 rule="hyper" parents="21 41"/>
      <j2 rule="rewrite" parents="13"/>
    </justification>
  </clause>

  <clause id="44">
    <literal><![CDATA[
      x + (y ; x + z) != x
    ]]></literal>
    <literal><![CDATA[
      x + y * ; (y ; x + z) = x
    ]]></literal>
    <justification jstring="[para(37(a,1),24(a,1,2)),rewrite(9(9))].">
      <j1 rule="para" parents="37 24"/>
      <j2 rule="rewrite" parents="9"/>
    </justification>
  </clause>

  <clause id="45">
    <literal><![CDATA[
      x ^ + (x ; y *) ^ = (x ; y *) ^
    ]]></literal>
    <justification jstring="[hyper(33,a,43,a)].">
      <j1 rule="hyper" parents="33 43"/>
    </justification>
  </clause>

  <clause id="46">
    <literal><![CDATA[
      (c1 ; c1 *) ^ != c1 ^
    ]]></literal>
    <justification jstring="[back_rewrite(35),rewrite(45(8))].">
      <j1 rule="back_rewrite" parents="35"/>
      <j2 rule="rewrite" parents="45"/>
    </justification>
  </clause>

  <clause id="47">
    <literal><![CDATA[
      x * ; (x + y) ^ = (x + y) ^
    ]]></literal>
    <justification jstring="[para(40(a,1),44(a,1,2)),rewrite(18(5),40(15),42(12)),xx(a)].">
      <j1 rule="para" parents="40 44"/>
      <j2 rule="rewrite" parents="18 40 42"/>
      <j2 rule="xx"/>
    </justification>
  </clause>

  <clause id="48">
    <literal><![CDATA[
      x * ; (x ; y *) ^ = (x ; y *) ^
    ]]></literal>
    <justification jstring="[para(43(a,1),47(a,1,2,1)),rewrite(43(8))].">
      <j1 rule="para" parents="43 47"/>
      <j2 rule="rewrite" parents="43"/>
    </justification>
  </clause>

  <clause id="49">
    <literal><![CDATA[
      x ; (x ; x *) ^ = (x ; x *) ^
    ]]></literal>
    <justification jstring="[para(48(a,1),39(a,1,2))].">
      <j1 rule="para" parents="48 39"/>
    </justification>
  </clause>

  <clause id="50">
    <literal><![CDATA[
      (x ; x *) ^ = x ^
    ]]></literal>
    <justification jstring="[para(49(a,1),27(a,1,2)),rewrite(18(7),49(7),9(12),45(12)),xx(a)].">
      <j1 rule="para" parents="49 27"/>
      <j2 rule="rewrite" parents="18 49 9 45"/>
      <j2 rule="xx"/>
    </justification>
  </clause>

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

</proof>

</proofs>
