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

<source>4.3_alt.out</source>

<heading><![CDATA[
Prover9 (64) version Aug-2007, Aug 2007.
Process 26411 was started by veroff on titan,
Sat Jan 19 14:40:38 2008
The command was "prover9 -f 4.3_alt.in".
]]></heading>

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

<comments><![CDATA[
% Proof 1 at 0.03 (+ 0.00) seconds: "(4.8)".
% Length of proof is 17.
% Level of proof is 8.
% Maximum clause weight is 11.
% Given clauses 43.
]]></comments>

  <clause id="4" type="goal">
    <literal><![CDATA[
      x ^ (~ x => y) = x
    ]]></literal>
    <attribute><![CDATA[
      label("(4.8)")
    ]]></attribute>
    <attribute><![CDATA[
      label(non_clause)
    ]]></attribute>
    <attribute><![CDATA[
      label(goal)
    ]]></attribute>
    <justification jstring="[goal].">
      <j1 rule="goal"/>
    </justification>
  </clause>

  <clause id="12" type="assumption">
    <literal><![CDATA[
      1 => x = x
    ]]></literal>
    <attribute><![CDATA[
      label("(BCK2)")
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="25" type="assumption">
    <literal><![CDATA[
      ~ x = x => 0
    ]]></literal>
    <attribute><![CDATA[
      label("(~ def)")
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="26">
    <literal><![CDATA[
      x => 0 = ~ x
    ]]></literal>
    <justification jstring="[copy(25),flip(a)].">
      <j1 rule="copy" parents="25"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="32" type="assumption">
    <literal><![CDATA[
      ~ ~ x = x
    ]]></literal>
    <attribute><![CDATA[
      label("(DN)")
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

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

  <clause id="48" type="deny">
    <literal><![CDATA[
      c8 ^ (~ c8 => c9) != c8
    ]]></literal>
    <attribute><![CDATA[
      label("(4.8)")
    ]]></attribute>
    <attribute><![CDATA[
      answer("(4.8)")
    ]]></attribute>
    <justification jstring="[deny(4)].">
      <j1 rule="deny" parents="4"/>
    </justification>
  </clause>

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

  <clause id="373">
    <literal><![CDATA[
      x => (y => 0) = y => ~ x
    ]]></literal>
    <justification jstring="[para(26(a,1),38(a,1,2)),flip(a)].">
      <j1 rule="para" parents="26 38"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="649">
    <literal><![CDATA[
      ~ x => ~ y = y => x
    ]]></literal>
    <justification jstring="[para(250(a,1),373(a,1,2)),flip(a)].">
      <j1 rule="para" parents="250 373"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="667">
    <literal><![CDATA[
      ~ x => y = ~ y => x
    ]]></literal>
    <justification jstring="[para(32(a,1),649(a,1,2))].">
      <j1 rule="para" parents="32 649"/>
    </justification>
  </clause>

  <clause id="714">
    <literal><![CDATA[
      x => (~ x => y) = 1
    ]]></literal>
    <justification jstring="[para(667(a,1),37(a,1,2))].">
      <j1 rule="para" parents="667 37"/>
    </justification>
  </clause>

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

  <clause id="764">
    <literal><![CDATA[
      x ^ (~ x => y) = x
    ]]></literal>
    <attribute><![CDATA[
      label("(4.8)")
    ]]></attribute>
    <justification jstring="[para(12(a,1),737(a,1,2))].">
      <j1 rule="para" parents="12 737"/>
    </justification>
  </clause>

  <clause id="765">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer("(4.8)")
    ]]></attribute>
    <justification jstring="[resolve(764,a,48,a)].">
      <j1 rule="resolve" parents="764 48"/>
    </justification>
  </clause>

</proof>

<proof number="2" length="20" max_count="11">

<comments><![CDATA[
% Proof 2 at 0.04 (+ 0.00) seconds: "(3.13)".
% Length of proof is 20.
% Level of proof is 10.
% Maximum clause weight is 11.
% Given clauses 45.
]]></comments>

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

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

  <clause id="12" type="assumption">
    <literal><![CDATA[
      1 => x = x
    ]]></literal>
    <attribute><![CDATA[
      label("(BCK2)")
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="25" type="assumption">
    <literal><![CDATA[
      ~ x = x => 0
    ]]></literal>
    <attribute><![CDATA[
      label("(~ def)")
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="26">
    <literal><![CDATA[
      x => 0 = ~ x
    ]]></literal>
    <justification jstring="[copy(25),flip(a)].">
      <j1 rule="copy" parents="25"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="32" type="assumption">
    <literal><![CDATA[
      ~ ~ x = x
    ]]></literal>
    <attribute><![CDATA[
      label("(DN)")
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

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

  <clause id="44" type="deny">
    <literal><![CDATA[
      (c1 => c2) ^ c2 != c2
    ]]></literal>
    <attribute><![CDATA[
      label("(3.13)")
    ]]></attribute>
    <attribute><![CDATA[
      answer("(3.13)")
    ]]></attribute>
    <justification jstring="[deny(1)].">
      <j1 rule="deny" parents="1"/>
    </justification>
  </clause>

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

  <clause id="373">
    <literal><![CDATA[
      x => (y => 0) = y => ~ x
    ]]></literal>
    <justification jstring="[para(26(a,1),38(a,1,2)),flip(a)].">
      <j1 rule="para" parents="26 38"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="649">
    <literal><![CDATA[
      ~ x => ~ y = y => x
    ]]></literal>
    <justification jstring="[para(250(a,1),373(a,1,2)),flip(a)].">
      <j1 rule="para" parents="250 373"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="667">
    <literal><![CDATA[
      ~ x => y = ~ y => x
    ]]></literal>
    <justification jstring="[para(32(a,1),649(a,1,2))].">
      <j1 rule="para" parents="32 649"/>
    </justification>
  </clause>

  <clause id="714">
    <literal><![CDATA[
      x => (~ x => y) = 1
    ]]></literal>
    <justification jstring="[para(667(a,1),37(a,1,2))].">
      <j1 rule="para" parents="667 37"/>
    </justification>
  </clause>

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

  <clause id="764">
    <literal><![CDATA[
      x ^ (~ x => y) = x
    ]]></literal>
    <attribute><![CDATA[
      label("(4.8)")
    ]]></attribute>
    <justification jstring="[para(12(a,1),737(a,1,2))].">
      <j1 rule="para" parents="12 737"/>
    </justification>
  </clause>

  <clause id="792">
    <literal><![CDATA[
      x ^ (y => x) = x
    ]]></literal>
    <justification jstring="[para(649(a,1),764(a,1,2))].">
      <j1 rule="para" parents="649 764"/>
    </justification>
  </clause>

  <clause id="796">
    <literal><![CDATA[
      (x => y) ^ y = y
    ]]></literal>
    <attribute><![CDATA[
      label("(3.13)")
    ]]></attribute>
    <justification jstring="[para(792(a,1),8(a,1)),flip(a)].">
      <j1 rule="para" parents="792 8"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="797">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer("(3.13)")
    ]]></attribute>
    <justification jstring="[resolve(796,a,44,a)].">
      <j1 rule="resolve" parents="796 44"/>
    </justification>
  </clause>

</proof>

<proof number="3" length="12" max_count="13">

<comments><![CDATA[
% Proof 3 at 0.04 (+ 0.00) seconds: "(4.6)".
% Length of proof is 12.
% Level of proof is 4.
% Maximum clause weight is 13.
% Given clauses 48.
]]></comments>

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

  <clause id="7" type="assumption">
    <literal><![CDATA[
      x v y = y v x
    ]]></literal>
    <attribute><![CDATA[
      label("(D3)")
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="19" type="assumption">
    <literal><![CDATA[
      x ^ 1 = x
    ]]></literal>
    <attribute><![CDATA[
      label("(D10)")
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="36" type="assumption">
    <literal><![CDATA[
      x => x = 1
    ]]></literal>
    <attribute><![CDATA[
      label("(3.16)")
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="42" type="assumption">
    <literal><![CDATA[
      (x => y) ^ (z => y) = (x v z) => y
    ]]></literal>
    <attribute><![CDATA[
      label("(4.4)")
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="45" type="deny">
    <literal><![CDATA[
      (c3 v c4) => c4 != c3 => c4
    ]]></literal>
    <attribute><![CDATA[
      label("(4.6)")
    ]]></attribute>
    <attribute><![CDATA[
      answer("(4.6)")
    ]]></attribute>
    <justification jstring="[deny(2)].">
      <j1 rule="deny" parents="2"/>
    </justification>
  </clause>

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

  <clause id="528">
    <literal><![CDATA[
      (x v y) => x = 1 ^ (y => x)
    ]]></literal>
    <justification jstring="[para(36(a,1),42(a,1,1)),flip(a)].">
      <j1 rule="para" parents="36 42"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="883">
    <literal><![CDATA[
      (x v y) => x = y => x
    ]]></literal>
    <justification jstring="[para(528(a,2),112(a,1))].">
      <j1 rule="para" parents="528 112"/>
    </justification>
  </clause>

  <clause id="898">
    <literal><![CDATA[
      (x v y) => y = x => y
    ]]></literal>
    <attribute><![CDATA[
      label("(4.6)")
    ]]></attribute>
    <justification jstring="[para(7(a,1),883(a,1,1))].">
      <j1 rule="para" parents="7 883"/>
    </justification>
  </clause>

  <clause id="899">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer("(4.6)")
    ]]></attribute>
    <justification jstring="[resolve(898,a,45,a)].">
      <j1 rule="resolve" parents="898 45"/>
    </justification>
  </clause>

</proof>

<proof number="4" length="10" max_count="13">

<comments><![CDATA[
% Proof 4 at 0.05 (+ 0.00) seconds: "(4.7)".
% Length of proof is 10.
% Level of proof is 5.
% Maximum clause weight is 13.
% Given clauses 51.
]]></comments>

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

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

  <clause id="24">
    <literal><![CDATA[
      x => (x => y) = x -> y
    ]]></literal>
    <justification jstring="[copy(23),flip(a)].">
      <j1 rule="copy" parents="23"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="46" type="deny">
    <literal><![CDATA[
      c6 => (c5 -> c7) != c5 -> (c6 => c7)
    ]]></literal>
    <attribute><![CDATA[
      label("(4.7)")
    ]]></attribute>
    <attribute><![CDATA[
      answer("(4.7)")
    ]]></attribute>
    <justification jstring="[deny(3)].">
      <j1 rule="deny" parents="3"/>
    </justification>
  </clause>

  <clause id="47">
    <literal><![CDATA[
      c5 -> (c6 => c7) != c6 => (c5 -> c7)
    ]]></literal>
    <attribute><![CDATA[
      answer("(4.7)")
    ]]></attribute>
    <justification jstring="[copy(46),flip(a)].">
      <j1 rule="copy" parents="46"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="1061">
    <literal><![CDATA[
      x => (x => (y => z)) = y => (x -> z)
    ]]></literal>
    <justification jstring="[para(38(a,1),372(a,1,2))].">
      <j1 rule="para" parents="38 372"/>
    </justification>
  </clause>

  <clause id="1120">
    <literal><![CDATA[
      x -> (y => z) = y => (x -> z)
    ]]></literal>
    <attribute><![CDATA[
      label("(4.7)")
    ]]></attribute>
    <justification jstring="[para(1061(a,1),24(a,1)),flip(a)].">
      <j1 rule="para" parents="1061 24"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1121">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer("(4.7)")
    ]]></attribute>
    <justification jstring="[resolve(1120,a,47,a)].">
      <j1 rule="resolve" parents="1120 47"/>
    </justification>
  </clause>

</proof>

</proofs>
