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

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

<proof number="1" length="19" max_count="33">

<comments><![CDATA[
% Proof 1 at 0.11 (+ 0.01) seconds.
% Length of proof is 19.
% Level of proof is 5.
% Maximum clause weight is 18.
% Given clauses 109.
]]></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="goal">
    <literal><![CDATA[
      (all p (p + 1 = 1 & p ; p = p -> p ; (p ; x) ^ + (p ; x) ^ = p ; (p ; 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="clausify">
    <literal><![CDATA[
      1 ; x = x
    ]]></literal>
    <justification jstring="[clausify(1)].">
      <j1 rule="clausify" parents="1"/>
    </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 + y) ; z = x ; z + y ; z
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

  <clause id="15">
    <literal><![CDATA[
      x + c2 ; x = x
    ]]></literal>
    <justification jstring="[para(10(a,1),7(a,1,1)),rewrite(4(2),4(2)),flip(a)].">
      <j1 rule="para" parents="10 7"/>
      <j2 rule="rewrite" parents="4 4"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="17">
    <literal><![CDATA[
      c2 ; (c2 ; x) = c2 ; x
    ]]></literal>
    <justification jstring="[para(11(a,1),6(a,1,1)),flip(a)].">
      <j1 rule="para" parents="11 6"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="18">
    <literal><![CDATA[
      c2 ; (c2 ; x) ^ = (c2 ; x) ^
    ]]></literal>
    <justification jstring="[para(14(a,1),17(a,1,2)),rewrite(14(11))].">
      <j1 rule="para" parents="14 17"/>
      <j2 rule="rewrite" parents="14"/>
    </justification>
  </clause>

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

</proof>

</proofs>
