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

<source>ex51.out</source>

<heading><![CDATA[
Prover9 (32) version April-2007, April 2007.
Process 5017 was started by hoefnepe on europa,
Sat Sep 29 12:47:19 2007
The command was "../../../kleene/Prover9/bin/prover9 -f ex51.in".
]]></heading>

<proof number="1" length="48" max_count="21">

<comments><![CDATA[
% Proof 1 at 0.07 (+ 0.01) seconds.
% Length of proof is 48.
% Level of proof is 13.
% Maximum clause weight is 21.
% Given clauses 98.
]]></comments>

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

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

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

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

  <clause id="5" type="goal">
    <literal><![CDATA[
      (atu ; a5 ; atd ; a10 ; atb ; a15) ^ <= (a30 ; atd) ^
    ]]></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="assumption">
    <literal><![CDATA[
      x ; (y ; z) = x ; y ; z
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

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

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

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

  <clause id="19" type="assumption">
    <literal><![CDATA[
      a10 = a5 ; a5
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="20">
    <literal><![CDATA[
      a5 ; a5 = a10
    ]]></literal>
    <justification jstring="[copy(19),flip(a)].">
      <j1 rule="copy" parents="19"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="21" type="assumption">
    <literal><![CDATA[
      a15 = a5 ; a5 ; a5
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="22">
    <literal><![CDATA[
      a10 ; a5 = a15
    ]]></literal>
    <justification jstring="[copy(21),rewrite(20(4)),flip(a)].">
      <j1 rule="copy" parents="21"/>
      <j2 rule="rewrite" parents="20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="23" type="assumption">
    <literal><![CDATA[
      a20 = a5 ; a5 ; a5 ; a5
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="24">
    <literal><![CDATA[
      a15 ; a5 = a20
    ]]></literal>
    <justification jstring="[copy(23),rewrite(20(4),22(4)),flip(a)].">
      <j1 rule="copy" parents="23"/>
      <j2 rule="rewrite" parents="20 22"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="26">
    <literal><![CDATA[
      a20 ; a5 = a25
    ]]></literal>
    <justification jstring="[copy(25),rewrite(20(4),22(4),24(4)),flip(a)].">
      <j1 rule="copy" parents="25"/>
      <j2 rule="rewrite" parents="20 22 24"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="27" type="assumption">
    <literal><![CDATA[
      a30 = a5 ; a5 ; a5 ; a5 ; a5 ; a5
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="28">
    <literal><![CDATA[
      a25 ; a5 = a30
    ]]></literal>
    <justification jstring="[copy(27),rewrite(20(4),22(4),24(4),26(4)),flip(a)].">
      <j1 rule="copy" parents="27"/>
      <j2 rule="rewrite" parents="20 22 24 26"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="29" type="assumption">
    <literal><![CDATA[
      atu <= 1
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="30" type="deny">
    <literal><![CDATA[
      -((atu ; a5 ; atd ; a10 ; atb ; a15) ^ <= (a30 ; atd) ^)
    ]]></literal>
    <justification jstring="[deny(5)].">
      <j1 rule="deny" parents="5"/>
    </justification>
  </clause>

  <clause id="31">
    <literal><![CDATA[
      -((atu ; (a5 ; (atd ; (a10 ; (atb ; a15))))) ^ <= (a30 ; atd) ^)
    ]]></literal>
    <justification jstring="[copy(30),rewrite(9(5),9(7),9(6),9(9),9(8),9(7),9(11),9(10),9(9),9(8))].">
      <j1 rule="copy" parents="30"/>
      <j2 rule="rewrite" parents="9 9 9 9 9 9 9 9 9 9"/>
    </justification>
  </clause>

  <clause id="32">
    <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="33">
    <literal><![CDATA[
      x <= x + y
    ]]></literal>
    <justification jstring="[hyper(15,a,13,a)].">
      <j1 rule="hyper" parents="15 13"/>
    </justification>
  </clause>

  <clause id="34">
    <literal><![CDATA[
      1 ; x <= y ; x
    ]]></literal>
    <justification jstring="[hyper(18,a,13,a)].">
      <j1 rule="hyper" parents="18 13"/>
    </justification>
  </clause>

  <clause id="35">
    <literal><![CDATA[
      a10 ; x = a5 ; (a5 ; x)
    ]]></literal>
    <justification jstring="[para(20(a,1),9(a,1,1))].">
      <j1 rule="para" parents="20 9"/>
    </justification>
  </clause>

  <clause id="36">
    <literal><![CDATA[
      -((atu ; (a5 ; (atd ; (a5 ; (a5 ; (atb ; a15)))))) ^ <= (a30 ; atd) ^)
    ]]></literal>
    <justification jstring="[back_rewrite(31),rewrite(35(8))].">
      <j1 rule="back_rewrite" parents="31"/>
      <j2 rule="rewrite" parents="35"/>
    </justification>
  </clause>

  <clause id="37">
    <literal><![CDATA[
      a30 ; x = a25 ; (a5 ; x)
    ]]></literal>
    <justification jstring="[para(28(a,1),9(a,1,1))].">
      <j1 rule="para" parents="28 9"/>
    </justification>
  </clause>

  <clause id="38">
    <literal><![CDATA[
      -((atu ; (a5 ; (atd ; (a5 ; (a5 ; (atb ; a15)))))) ^ <= (a25 ; (a5 ; atd)) ^)
    ]]></literal>
    <justification jstring="[back_rewrite(36),rewrite(37(17))].">
      <j1 rule="back_rewrite" parents="36"/>
      <j2 rule="rewrite" parents="37"/>
    </justification>
  </clause>

  <clause id="39">
    <literal><![CDATA[
      atu + atu <= 1
    ]]></literal>
    <justification jstring="[hyper(16,b,29,a,c,29,a)].">
      <j1 rule="hyper" parents="16 29 29"/>
    </justification>
  </clause>

  <clause id="40">
    <literal><![CDATA[
      -(atu ; (a5 ; (atd ; (a5 ; (a5 ; (atb ; a15))))) <= a25 ; (a5 ; atd))
    ]]></literal>
    <justification jstring="[ur(17,b,38,a)].">
      <j1 rule="ur" parents="17 38"/>
    </justification>
  </clause>

  <clause id="41">
    <literal><![CDATA[
      0 <= x
    ]]></literal>
    <justification jstring="[para(32(a,1),33(a,2))].">
      <j1 rule="para" parents="32 33"/>
    </justification>
  </clause>

  <clause id="42">
    <literal><![CDATA[
      -(atu ; (a5 ; (atd ; (a5 ; (a5 ; (atb ; a15))))) <= 0)
    ]]></literal>
    <justification jstring="[ur(14,b,41,a,c,40,a)].">
      <j1 rule="ur" parents="14 41 40"/>
    </justification>
  </clause>

  <clause id="43">
    <literal><![CDATA[
      -(atu ; (a5 ; (atd ; (a5 ; (a5 ; (atb ; a15))))) + x <= 0)
    ]]></literal>
    <justification jstring="[ur(15,b,42,a)].">
      <j1 rule="ur" parents="15 42"/>
    </justification>
  </clause>

  <clause id="44">
    <literal><![CDATA[
      -((atu + x) ; (a5 ; (atd ; (a5 ; (a5 ; (atb ; a15))))) <= 0)
    ]]></literal>
    <justification jstring="[para(12(a,1),43(a,1))].">
      <j1 rule="para" parents="12 43"/>
    </justification>
  </clause>

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

  <clause id="46">
    <literal><![CDATA[
      1 ; x <= 0
    ]]></literal>
    <justification jstring="[para(10(a,1),34(a,2))].">
      <j1 rule="para" parents="10 34"/>
    </justification>
  </clause>

  <clause id="47">
    <literal><![CDATA[
      -((atu + x) ; (a5 ; (atd ; (a5 ; (a5 ; (atb ; a15))))) <= 1 ; y)
    ]]></literal>
    <justification jstring="[ur(14,b,46,a,c,44,a)].">
      <j1 rule="ur" parents="14 46 44"/>
    </justification>
  </clause>

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

</proof>

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

<comments><![CDATA[
% Proof 2 at 0.10 (+ 0.01) seconds.
% Length of proof is 55.
% Level of proof is 13.
% Maximum clause weight is 21.
% Given clauses 117.
]]></comments>

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

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

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

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

  <clause id="5" type="goal">
    <literal><![CDATA[
      (atu ; a5 ; atd ; a10 ; atb ; a15) ^ <= (a30 ; atu) ^
    ]]></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="assumption">
    <literal><![CDATA[
      x ; (y ; z) = x ; y ; z
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

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

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

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

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

  <clause id="20" type="assumption">
    <literal><![CDATA[
      a10 = a5 ; a5
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="21">
    <literal><![CDATA[
      a5 ; a5 = a10
    ]]></literal>
    <justification jstring="[copy(20),flip(a)].">
      <j1 rule="copy" parents="20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="22" type="assumption">
    <literal><![CDATA[
      a15 = a5 ; a5 ; a5
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="23">
    <literal><![CDATA[
      a10 ; a5 = a15
    ]]></literal>
    <justification jstring="[copy(22),rewrite(21(4)),flip(a)].">
      <j1 rule="copy" parents="22"/>
      <j2 rule="rewrite" parents="21"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="24" type="assumption">
    <literal><![CDATA[
      a20 = a5 ; a5 ; a5 ; a5
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="25">
    <literal><![CDATA[
      a15 ; a5 = a20
    ]]></literal>
    <justification jstring="[copy(24),rewrite(21(4),23(4)),flip(a)].">
      <j1 rule="copy" parents="24"/>
      <j2 rule="rewrite" parents="21 23"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="26" type="assumption">
    <literal><![CDATA[
      a25 = a5 ; a5 ; a5 ; a5 ; a5
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="27">
    <literal><![CDATA[
      a20 ; a5 = a25
    ]]></literal>
    <justification jstring="[copy(26),rewrite(21(4),23(4),25(4)),flip(a)].">
      <j1 rule="copy" parents="26"/>
      <j2 rule="rewrite" parents="21 23 25"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="28" type="assumption">
    <literal><![CDATA[
      a30 = a5 ; a5 ; a5 ; a5 ; a5 ; a5
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="29">
    <literal><![CDATA[
      a25 ; a5 = a30
    ]]></literal>
    <justification jstring="[copy(28),rewrite(21(4),23(4),25(4),27(4)),flip(a)].">
      <j1 rule="copy" parents="28"/>
      <j2 rule="rewrite" parents="21 23 25 27"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="30" type="assumption">
    <literal><![CDATA[
      atu <= 1
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="31" type="assumption">
    <literal><![CDATA[
      atd <= 1
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="32" type="deny">
    <literal><![CDATA[
      -((atu ; a5 ; atd ; a10 ; atb ; a15) ^ <= (a30 ; atu) ^)
    ]]></literal>
    <justification jstring="[deny(5)].">
      <j1 rule="deny" parents="5"/>
    </justification>
  </clause>

  <clause id="33">
    <literal><![CDATA[
      -((atu ; (a5 ; (atd ; (a10 ; (atb ; a15))))) ^ <= (a30 ; atu) ^)
    ]]></literal>
    <justification jstring="[copy(32),rewrite(9(5),9(7),9(6),9(9),9(8),9(7),9(11),9(10),9(9),9(8))].">
      <j1 rule="copy" parents="32"/>
      <j2 rule="rewrite" parents="9 9 9 9 9 9 9 9 9 9"/>
    </justification>
  </clause>

  <clause id="34">
    <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="35">
    <literal><![CDATA[
      x <= x + y
    ]]></literal>
    <justification jstring="[hyper(15,a,13,a)].">
      <j1 rule="hyper" parents="15 13"/>
    </justification>
  </clause>

  <clause id="36">
    <literal><![CDATA[
      x + x <= x
    ]]></literal>
    <justification jstring="[hyper(16,b,13,a,c,13,a)].">
      <j1 rule="hyper" parents="16 13 13"/>
    </justification>
  </clause>

  <clause id="37">
    <literal><![CDATA[
      1 ; x <= y ; x
    ]]></literal>
    <justification jstring="[hyper(19,a,13,a)].">
      <j1 rule="hyper" parents="19 13"/>
    </justification>
  </clause>

  <clause id="38">
    <literal><![CDATA[
      a10 ; x = a5 ; (a5 ; x)
    ]]></literal>
    <justification jstring="[para(21(a,1),9(a,1,1))].">
      <j1 rule="para" parents="21 9"/>
    </justification>
  </clause>

  <clause id="39">
    <literal><![CDATA[
      -((atu ; (a5 ; (atd ; (a5 ; (a5 ; (atb ; a15)))))) ^ <= (a30 ; atu) ^)
    ]]></literal>
    <justification jstring="[back_rewrite(33),rewrite(38(8))].">
      <j1 rule="back_rewrite" parents="33"/>
      <j2 rule="rewrite" parents="38"/>
    </justification>
  </clause>

  <clause id="40">
    <literal><![CDATA[
      a30 ; x = a25 ; (a5 ; x)
    ]]></literal>
    <justification jstring="[para(29(a,1),9(a,1,1))].">
      <j1 rule="para" parents="29 9"/>
    </justification>
  </clause>

  <clause id="41">
    <literal><![CDATA[
      -((atu ; (a5 ; (atd ; (a5 ; (a5 ; (atb ; a15)))))) ^ <= (a25 ; (a5 ; atu)) ^)
    ]]></literal>
    <justification jstring="[back_rewrite(39),rewrite(40(17))].">
      <j1 rule="back_rewrite" parents="39"/>
      <j2 rule="rewrite" parents="40"/>
    </justification>
  </clause>

  <clause id="42">
    <literal><![CDATA[
      atu ; x <= y ; x
    ]]></literal>
    <justification jstring="[hyper(19,a,30,a)].">
      <j1 rule="hyper" parents="19 30"/>
    </justification>
  </clause>

  <clause id="43">
    <literal><![CDATA[
      atd ^ <= 1 ^
    ]]></literal>
    <justification jstring="[hyper(18,a,31,a)].">
      <j1 rule="hyper" parents="18 31"/>
    </justification>
  </clause>

  <clause id="44">
    <literal><![CDATA[
      -(atu ; (a5 ; (atd ; (a5 ; (a5 ; (atb ; a15))))) <= a25 ; (a5 ; atu))
    ]]></literal>
    <justification jstring="[ur(18,b,41,a)].">
      <j1 rule="ur" parents="18 41"/>
    </justification>
  </clause>

  <clause id="45">
    <literal><![CDATA[
      0 <= x
    ]]></literal>
    <justification jstring="[para(34(a,1),35(a,2))].">
      <j1 rule="para" parents="34 35"/>
    </justification>
  </clause>

  <clause id="46">
    <literal><![CDATA[
      -(atu ; (a5 ; (atd ; (a5 ; (a5 ; (atb ; a15))))) <= (a25 + a25) ; (a5 ; atu))
    ]]></literal>
    <justification jstring="[ur(14,b,36,a,c,44,a),rewrite(12(24))].">
      <j1 rule="ur" parents="14 36 44"/>
      <j2 rule="rewrite" parents="12"/>
    </justification>
  </clause>

  <clause id="47">
    <literal><![CDATA[
      1 ; x <= 0
    ]]></literal>
    <justification jstring="[para(10(a,1),37(a,2))].">
      <j1 rule="para" parents="10 37"/>
    </justification>
  </clause>

  <clause id="48">
    <literal><![CDATA[
      1 ; x <= y
    ]]></literal>
    <justification jstring="[hyper(14,a,47,a,b,45,a)].">
      <j1 rule="hyper" parents="14 47 45"/>
    </justification>
  </clause>

  <clause id="49">
    <literal><![CDATA[
      1 ^ <= 0
    ]]></literal>
    <justification jstring="[para(17(a,1),47(a,1))].">
      <j1 rule="para" parents="17 47"/>
    </justification>
  </clause>

  <clause id="50">
    <literal><![CDATA[
      atd ^ <= 0
    ]]></literal>
    <justification jstring="[hyper(14,a,43,a,b,49,a)].">
      <j1 rule="hyper" parents="14 43 49"/>
    </justification>
  </clause>

  <clause id="51">
    <literal><![CDATA[
      atd ^ <= x
    ]]></literal>
    <justification jstring="[hyper(14,a,50,a,b,45,a)].">
      <j1 rule="hyper" parents="14 50 45"/>
    </justification>
  </clause>

  <clause id="52">
    <literal><![CDATA[
      -(atu ; (a5 ; (atd ; (a5 ; (a5 ; (atb ; a15))))) <= 0)
    ]]></literal>
    <justification jstring="[ur(14,b,45,a,c,46,a)].">
      <j1 rule="ur" parents="14 45 46"/>
    </justification>
  </clause>

  <clause id="53">
    <literal><![CDATA[
      -(atu ; (a5 ; (atd ; (a5 ; (a5 ; (atb ; a15))))) <= atd ^)
    ]]></literal>
    <justification jstring="[ur(14,b,51,a,c,52,a)].">
      <j1 rule="ur" parents="14 51 52"/>
    </justification>
  </clause>

  <clause id="54">
    <literal><![CDATA[
      -(atu ; (a5 ; (atd ; (a5 ; (a5 ; (atb ; a15))))) <= 1 ; x)
    ]]></literal>
    <justification jstring="[ur(14,b,48,a,c,53,a)].">
      <j1 rule="ur" parents="14 48 53"/>
    </justification>
  </clause>

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

</proof>

<proof number="3" length="58" max_count="29">

<comments><![CDATA[
% Proof 3 at 0.12 (+ 0.01) seconds.
% Length of proof is 58.
% Level of proof is 13.
% Maximum clause weight is 29.
% Given clauses 124.
]]></comments>

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

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

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

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

  <clause id="5" type="goal">
    <literal><![CDATA[
      (atu ; a5 ; atd ; a10 ; atb ; a15) ^ <= (a30 ; atb) ^
    ]]></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="assumption">
    <literal><![CDATA[
      x ; (y ; z) = x ; y ; z
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

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

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

  <clause id="18">
    <literal><![CDATA[
      a5 ; a5 = a10
    ]]></literal>
    <justification jstring="[copy(17),flip(a)].">
      <j1 rule="copy" parents="17"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="19" type="assumption">
    <literal><![CDATA[
      a15 = a5 ; a5 ; a5
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="20">
    <literal><![CDATA[
      a10 ; a5 = a15
    ]]></literal>
    <justification jstring="[copy(19),rewrite(18(4)),flip(a)].">
      <j1 rule="copy" parents="19"/>
      <j2 rule="rewrite" parents="18"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="21" type="assumption">
    <literal><![CDATA[
      a20 = a5 ; a5 ; a5 ; a5
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="22">
    <literal><![CDATA[
      a15 ; a5 = a20
    ]]></literal>
    <justification jstring="[copy(21),rewrite(18(4),20(4)),flip(a)].">
      <j1 rule="copy" parents="21"/>
      <j2 rule="rewrite" parents="18 20"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="23" type="assumption">
    <literal><![CDATA[
      a25 = a5 ; a5 ; a5 ; a5 ; a5
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="24">
    <literal><![CDATA[
      a20 ; a5 = a25
    ]]></literal>
    <justification jstring="[copy(23),rewrite(18(4),20(4),22(4)),flip(a)].">
      <j1 rule="copy" parents="23"/>
      <j2 rule="rewrite" parents="18 20 22"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="26">
    <literal><![CDATA[
      a25 ; a5 = a30
    ]]></literal>
    <justification jstring="[copy(25),rewrite(18(4),20(4),22(4),24(4)),flip(a)].">
      <j1 rule="copy" parents="25"/>
      <j2 rule="rewrite" parents="18 20 22 24"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="27" type="assumption">
    <literal><![CDATA[
      atu <= 1
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="28" type="deny">
    <literal><![CDATA[
      -((atu ; a5 ; atd ; a10 ; atb ; a15) ^ <= (a30 ; atb) ^)
    ]]></literal>
    <justification jstring="[deny(5)].">
      <j1 rule="deny" parents="5"/>
    </justification>
  </clause>

  <clause id="29">
    <literal><![CDATA[
      -((atu ; (a5 ; (atd ; (a10 ; (atb ; a15))))) ^ <= (a30 ; atb) ^)
    ]]></literal>
    <justification jstring="[copy(28),rewrite(9(5),9(7),9(6),9(9),9(8),9(7),9(11),9(10),9(9),9(8))].">
      <j1 rule="copy" parents="28"/>
      <j2 rule="rewrite" parents="9 9 9 9 9 9 9 9 9 9"/>
    </justification>
  </clause>

  <clause id="30">
    <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="31">
    <literal><![CDATA[
      x <= x + y
    ]]></literal>
    <justification jstring="[hyper(13,a,11,a)].">
      <j1 rule="hyper" parents="13 11"/>
    </justification>
  </clause>

  <clause id="32">
    <literal><![CDATA[
      1 ; x <= y ; x
    ]]></literal>
    <justification jstring="[hyper(16,a,11,a)].">
      <j1 rule="hyper" parents="16 11"/>
    </justification>
  </clause>

  <clause id="33">
    <literal><![CDATA[
      a10 ; x = a5 ; (a5 ; x)
    ]]></literal>
    <justification jstring="[para(18(a,1),9(a,1,1))].">
      <j1 rule="para" parents="18 9"/>
    </justification>
  </clause>

  <clause id="34">
    <literal><![CDATA[
      -((atu ; (a5 ; (atd ; (a5 ; (a5 ; (atb ; a15)))))) ^ <= (a30 ; atb) ^)
    ]]></literal>
    <justification jstring="[back_rewrite(29),rewrite(33(8))].">
      <j1 rule="back_rewrite" parents="29"/>
      <j2 rule="rewrite" parents="33"/>
    </justification>
  </clause>

  <clause id="35">
    <literal><![CDATA[
      a5 ; a10 = a15
    ]]></literal>
    <justification jstring="[back_rewrite(20),rewrite(33(3),18(4))].">
      <j1 rule="back_rewrite" parents="20"/>
      <j2 rule="rewrite" parents="33 18"/>
    </justification>
  </clause>

  <clause id="36">
    <literal><![CDATA[
      a20 ; x = a15 ; (a5 ; x)
    ]]></literal>
    <justification jstring="[para(22(a,1),9(a,1,1))].">
      <j1 rule="para" parents="22 9"/>
    </justification>
  </clause>

  <clause id="37">
    <literal><![CDATA[
      a15 ; a10 = a25
    ]]></literal>
    <justification jstring="[back_rewrite(24),rewrite(36(3),18(4))].">
      <j1 rule="back_rewrite" parents="24"/>
      <j2 rule="rewrite" parents="36 18"/>
    </justification>
  </clause>

  <clause id="38">
    <literal><![CDATA[
      a30 ; x = a25 ; (a5 ; x)
    ]]></literal>
    <justification jstring="[para(26(a,1),9(a,1,1))].">
      <j1 rule="para" parents="26 9"/>
    </justification>
  </clause>

  <clause id="39">
    <literal><![CDATA[
      -((atu ; (a5 ; (atd ; (a5 ; (a5 ; (atb ; a15)))))) ^ <= (a25 ; (a5 ; atb)) ^)
    ]]></literal>
    <justification jstring="[back_rewrite(34),rewrite(38(17))].">
      <j1 rule="back_rewrite" parents="34"/>
      <j2 rule="rewrite" parents="38"/>
    </justification>
  </clause>

  <clause id="40">
    <literal><![CDATA[
      atu ; x <= y ; x
    ]]></literal>
    <justification jstring="[hyper(16,a,27,a)].">
      <j1 rule="hyper" parents="16 27"/>
    </justification>
  </clause>

  <clause id="41">
    <literal><![CDATA[
      atu ^ <= 1 ^
    ]]></literal>
    <justification jstring="[hyper(15,a,27,a)].">
      <j1 rule="hyper" parents="15 27"/>
    </justification>
  </clause>

  <clause id="42">
    <literal><![CDATA[
      0 <= x
    ]]></literal>
    <justification jstring="[para(30(a,1),31(a,2))].">
      <j1 rule="para" parents="30 31"/>
    </justification>
  </clause>

  <clause id="43">
    <literal><![CDATA[
      a15 ; x = a5 ; (a5 ; (a5 ; x))
    ]]></literal>
    <justification jstring="[para(35(a,1),9(a,1,1)),rewrite(33(5))].">
      <j1 rule="para" parents="35 9"/>
      <j2 rule="rewrite" parents="33"/>
    </justification>
  </clause>

  <clause id="44">
    <literal><![CDATA[
      a5 ; (a5 ; a15) = a25
    ]]></literal>
    <justification jstring="[back_rewrite(37),rewrite(43(3),35(5))].">
      <j1 rule="back_rewrite" parents="37"/>
      <j2 rule="rewrite" parents="43 35"/>
    </justification>
  </clause>

  <clause id="45">
    <literal><![CDATA[
      a20 ; x = a5 ; (a5 ; (a5 ; (a5 ; x)))
    ]]></literal>
    <justification jstring="[back_rewrite(36),rewrite(43(6))].">
      <j1 rule="back_rewrite" parents="36"/>
      <j2 rule="rewrite" parents="43"/>
    </justification>
  </clause>

  <clause id="46">
    <literal><![CDATA[
      a5 ; a15 = a20
    ]]></literal>
    <justification jstring="[back_rewrite(22),rewrite(43(3),18(5),35(4))].">
      <j1 rule="back_rewrite" parents="22"/>
      <j2 rule="rewrite" parents="43 18 35"/>
    </justification>
  </clause>

  <clause id="47">
    <literal><![CDATA[
      a5 ; a20 = a25
    ]]></literal>
    <justification jstring="[back_rewrite(44),rewrite(46(4))].">
      <j1 rule="back_rewrite" parents="44"/>
      <j2 rule="rewrite" parents="46"/>
    </justification>
  </clause>

  <clause id="48">
    <literal><![CDATA[
      a25 ; x = a5 ; (a5 ; (a5 ; (a5 ; (a5 ; x))))
    ]]></literal>
    <justification jstring="[para(47(a,1),9(a,1,1)),rewrite(45(5))].">
      <j1 rule="para" parents="47 9"/>
      <j2 rule="rewrite" parents="45"/>
    </justification>
  </clause>

  <clause id="49">
    <literal><![CDATA[
      -((atu ; (a5 ; (atd ; (a5 ; (a5 ; (atb ; a15)))))) ^ <= (a5 ; (a5 ; (a5 ; (a5 ; (a5 ; (a5 ; atb)))))) ^)
    ]]></literal>
    <justification jstring="[back_rewrite(39),rewrite(48(19))].">
      <j1 rule="back_rewrite" parents="39"/>
      <j2 rule="rewrite" parents="48"/>
    </justification>
  </clause>

  <clause id="50">
    <literal><![CDATA[
      1 ; x <= 0
    ]]></literal>
    <justification jstring="[para(10(a,1),32(a,2))].">
      <j1 rule="para" parents="10 32"/>
    </justification>
  </clause>

  <clause id="51">
    <literal><![CDATA[
      1 ; x <= y
    ]]></literal>
    <justification jstring="[hyper(12,a,50,a,b,42,a)].">
      <j1 rule="hyper" parents="12 50 42"/>
    </justification>
  </clause>

  <clause id="52">
    <literal><![CDATA[
      1 ^ <= 0
    ]]></literal>
    <justification jstring="[para(14(a,1),50(a,1))].">
      <j1 rule="para" parents="14 50"/>
    </justification>
  </clause>

  <clause id="53">
    <literal><![CDATA[
      atu ^ <= 0
    ]]></literal>
    <justification jstring="[hyper(12,a,41,a,b,52,a)].">
      <j1 rule="hyper" parents="12 41 52"/>
    </justification>
  </clause>

  <clause id="54">
    <literal><![CDATA[
      atu ^ <= x
    ]]></literal>
    <justification jstring="[hyper(12,a,53,a,b,42,a)].">
      <j1 rule="hyper" parents="12 53 42"/>
    </justification>
  </clause>

  <clause id="55">
    <literal><![CDATA[
      -((atu ; (a5 ; (atd ; (a5 ; (a5 ; (atb ; a15)))))) ^ <= atu ^)
    ]]></literal>
    <justification jstring="[ur(12,b,54,a,c,49,a)].">
      <j1 rule="ur" parents="12 54 49"/>
    </justification>
  </clause>

  <clause id="56">
    <literal><![CDATA[
      -(atu ; (a5 ; (atd ; (a5 ; (a5 ; (atb ; a15))))) <= atu)
    ]]></literal>
    <justification jstring="[ur(15,b,55,a)].">
      <j1 rule="ur" parents="15 55"/>
    </justification>
  </clause>

  <clause id="57">
    <literal><![CDATA[
      -(atu ; (a5 ; (atd ; (a5 ; (a5 ; (atb ; a15))))) <= 1 ; x)
    ]]></literal>
    <justification jstring="[ur(12,b,51,a,c,56,a)].">
      <j1 rule="ur" parents="12 51 56"/>
    </justification>
  </clause>

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

</proof>

</proofs>
