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

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

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

<comments><![CDATA[
% Proof 1 at 0.26 (+ 0.02) seconds: "(N1)".
% Length of proof is 105.
% Level of proof is 26.
% Maximum clause weight is 19.
% Given clauses 122.
]]></comments>

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

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

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

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

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

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

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

  <clause id="17" 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="18" type="assumption">
    <literal><![CDATA[
      (x ^ y) => y = 1
    ]]></literal>
    <attribute><![CDATA[
      label("(3.11)")
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

  <clause id="35" 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="37" type="assumption">
    <literal><![CDATA[
      (x => y) ^ (x => z) = x => (y ^ z)
    ]]></literal>
    <attribute><![CDATA[
      label("(4.2)")
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="39" 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="41" type="assumption">
    <literal><![CDATA[
      (x => y) ^ y = y
    ]]></literal>
    <attribute><![CDATA[
      label("(3.13)")
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

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

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

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

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

  <clause id="79">
    <literal><![CDATA[
      x v x = x
    ]]></literal>
    <justification jstring="[para(7(a,1),6(a,1,2))].">
      <j1 rule="para" parents="7 6"/>
    </justification>
  </clause>

  <clause id="126">
    <literal><![CDATA[
      (x ^ y) => x = 1
    ]]></literal>
    <justification jstring="[para(5(a,1),18(a,1,1))].">
      <j1 rule="para" parents="5 18"/>
    </justification>
  </clause>

  <clause id="145">
    <literal><![CDATA[
      (x * x) => y = x -> y
    ]]></literal>
    <justification jstring="[para(21(a,1),15(a,2))].">
      <j1 rule="para" parents="21 15"/>
    </justification>
  </clause>

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

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

  <clause id="369">
    <literal><![CDATA[
      x => ((y ^ (x => z)) => z) = 1
    ]]></literal>
    <justification jstring="[para(35(a,1),18(a,1))].">
      <j1 rule="para" parents="35 18"/>
    </justification>
  </clause>

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

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

  <clause id="510">
    <literal><![CDATA[
      ~ x ^ (y => 0) = (x v y) => 0
    ]]></literal>
    <justification jstring="[para(23(a,1),39(a,1,1))].">
      <j1 rule="para" parents="23 39"/>
    </justification>
  </clause>

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

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

  <clause id="800">
    <literal><![CDATA[
      x ^ (y v ~ x) = x ^ (x -> y)
    ]]></literal>
    <justification jstring="[para(4(a,1),51(a,1,2))].">
      <j1 rule="para" parents="4 51"/>
    </justification>
  </clause>

  <clause id="805">
    <literal><![CDATA[
      x ^ (x -> 0) = x ^ ~ x
    ]]></literal>
    <justification jstring="[para(19(a,1),51(a,1,2)),flip(a)].">
      <j1 rule="para" parents="19 51"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="849">
    <literal><![CDATA[
      (~ x v y) => 0 = x ^ (y => 0)
    ]]></literal>
    <justification jstring="[para(251(a,1),39(a,1,1)),flip(a)].">
      <j1 rule="para" parents="251 39"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="876">
    <literal><![CDATA[
      (x => (y ^ z)) => (x => y) = 1
    ]]></literal>
    <justification jstring="[para(37(a,1),126(a,1,1))].">
      <j1 rule="para" parents="37 126"/>
    </justification>
  </clause>

  <clause id="925">
    <literal><![CDATA[
      (x -> y) ^ y = y
    ]]></literal>
    <justification jstring="[para(145(a,1),41(a,1,1))].">
      <j1 rule="para" parents="145 41"/>
    </justification>
  </clause>

  <clause id="938">
    <literal><![CDATA[
      x v ((y -> x) ^ z) = (y -> x) ^ (x v z)
    ]]></literal>
    <justification jstring="[para(925(a,1),28(a,1,1))].">
      <j1 rule="para" parents="925 28"/>
    </justification>
  </clause>

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

  <clause id="1014">
    <literal><![CDATA[
      x v (y ^ (x v z)) = (x v y) ^ (x v z)
    ]]></literal>
    <justification jstring="[para(819(a,1),27(a,1,2)),flip(a)].">
      <j1 rule="para" parents="819 27"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="1097">
    <literal><![CDATA[
      (x v y) -> (x -> z) = x -> z
    ]]></literal>
    <justification jstring="[para(7(a,1),764(a,1,1)),flip(a)].">
      <j1 rule="para" parents="7 764"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

  <clause id="1164">
    <literal><![CDATA[
      x => ((x => (y ^ z)) => y) = 1
    ]]></literal>
    <justification jstring="[para(876(a,1),35(a,1)),flip(a)].">
      <j1 rule="para" parents="876 35"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="1342">
    <literal><![CDATA[
      (x v y) => 0 = ~ x ^ ~ y
    ]]></literal>
    <justification jstring="[para(23(a,1),510(a,1,2)),flip(a)].">
      <j1 rule="para" parents="23 510"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1377">
    <literal><![CDATA[
      ~ x ^ ~ y = ~ (x v y)
    ]]></literal>
    <justification jstring="[para(1342(a,1),23(a,1))].">
      <j1 rule="para" parents="1342 23"/>
    </justification>
  </clause>

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

  <clause id="1449">
    <literal><![CDATA[
      (x ^ ~ y) => 0 = ~ x v y
    ]]></literal>
    <justification jstring="[para(1420(a,1),251(a,1,1))].">
      <j1 rule="para" parents="1420 251"/>
    </justification>
  </clause>

  <clause id="1548">
    <literal><![CDATA[
      (~ x v y) => (x ^ (y => 0)) = (~ x v y) -> 0
    ]]></literal>
    <justification jstring="[para(849(a,1),21(a,1,2))].">
      <j1 rule="para" parents="849 21"/>
    </justification>
  </clause>

  <clause id="1723">
    <literal><![CDATA[
      x => ((y v x) => y) = (y v x) -> y
    ]]></literal>
    <justification jstring="[para(960(a,1),35(a,1)),flip(a)].">
      <j1 rule="para" parents="960 35"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="1843">
    <literal><![CDATA[
      x ^ (((y v x) => z) => z) = x
    ]]></literal>
    <justification jstring="[para(39(a,1),1773(a,1,2,1))].">
      <j1 rule="para" parents="39 1773"/>
    </justification>
  </clause>

  <clause id="1893">
    <literal><![CDATA[
      x ^ (1 => (((y v x) => (z ^ u)) => z)) = x
    ]]></literal>
    <justification jstring="[para(1164(a,1),1843(a,1,2,1))].">
      <j1 rule="para" parents="1164 1843"/>
    </justification>
  </clause>

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

  <clause id="1975">
    <literal><![CDATA[
      (x v y) -> x = y -> x
    ]]></literal>
    <justification jstring="[para(1947(a,1),21(a,1))].">
      <j1 rule="para" parents="1947 21"/>
    </justification>
  </clause>

  <clause id="2115">
    <literal><![CDATA[
      x => (y => (x => (y => z))) = (x * y) -> z
    ]]></literal>
    <justification jstring="[para(146(a,1),15(a,1)),flip(a)].">
      <j1 rule="para" parents="146 15"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="2347">
    <literal><![CDATA[
      x => (y => ((z ^ (y => (x => u))) => u)) = 1
    ]]></literal>
    <justification jstring="[para(391(a,1),369(a,1))].">
      <j1 rule="para" parents="391 369"/>
    </justification>
  </clause>

  <clause id="2370">
    <literal><![CDATA[
      (x ^ ~ y) => (z => (u => 0)) = z => (u => (~ x v y))
    ]]></literal>
    <justification jstring="[para(1449(a,1),391(a,1,2,2)),flip(a)].">
      <j1 rule="para" parents="1449 391"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="2437">
    <literal><![CDATA[
      x v (y ^ (z -> x)) = (z -> x) ^ (x v y)
    ]]></literal>
    <justification jstring="[para(5(a,1),938(a,1,2))].">
      <j1 rule="para" parents="5 938"/>
    </justification>
  </clause>

  <clause id="2538">
    <literal><![CDATA[
      x v (y ^ (x v z)) = x v (y ^ z)
    ]]></literal>
    <justification jstring="[para(27(a,1),1014(a,2))].">
      <j1 rule="para" parents="27 1014"/>
    </justification>
  </clause>

  <clause id="2653">
    <literal><![CDATA[
      x v (y ^ (y -> x)) = x v (y ^ ~ y)
    ]]></literal>
    <justification jstring="[para(800(a,1),2538(a,1,2))].">
      <j1 rule="para" parents="800 2538"/>
    </justification>
  </clause>

  <clause id="2748">
    <literal><![CDATA[
      x ^ (((y v x) => (z ^ u)) => z) = x
    ]]></literal>
    <justification jstring="[para(9(a,1),1893(a,1,2))].">
      <j1 rule="para" parents="9 1893"/>
    </justification>
  </clause>

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

  <clause id="2983">
    <literal><![CDATA[
      (x * y) -> z = x -> (y -> z)
    ]]></literal>
    <justification jstring="[para(2940(a,1),21(a,1))].">
      <j1 rule="para" parents="2940 21"/>
    </justification>
  </clause>

  <clause id="3309">
    <literal><![CDATA[
      (x -> y) ^ (y v x) = y v (x ^ ~ x)
    ]]></literal>
    <justification jstring="[para(2437(a,1),2653(a,1))].">
      <j1 rule="para" parents="2437 2653"/>
    </justification>
  </clause>

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

  <clause id="3589">
    <literal><![CDATA[
      x ^ (((~ y v x) -> 0) => y) = x
    ]]></literal>
    <justification jstring="[para(1548(a,1),2748(a,1,2,1))].">
      <j1 rule="para" parents="1548 2748"/>
    </justification>
  </clause>

  <clause id="3632">
    <literal><![CDATA[
      x => (((~ (x => y) v z) -> 0) => (z => y)) = 1
    ]]></literal>
    <justification jstring="[para(3589(a,1),2347(a,1,2,2,1))].">
      <j1 rule="para" parents="3589 2347"/>
    </justification>
  </clause>

  <clause id="3636">
    <literal><![CDATA[
      x => (((y v ~ (x => z)) -> 0) => (y => z)) = 1
    ]]></literal>
    <justification jstring="[para(4(a,1),3632(a,1,2,1,1))].">
      <j1 rule="para" parents="4 3632"/>
    </justification>
  </clause>

  <clause id="3796">
    <literal><![CDATA[
      x => (y => (((y v ~ (x => z)) -> 0) => z)) = 1
    ]]></literal>
    <justification jstring="[para(35(a,1),3636(a,1,2))].">
      <j1 rule="para" parents="35 3636"/>
    </justification>
  </clause>

  <clause id="3896">
    <literal><![CDATA[
      x => (y => (((y v ~ ~ x) -> 0) => 0)) = 1
    ]]></literal>
    <justification jstring="[para(23(a,1),3796(a,1,2,2,1,1,2,1))].">
      <j1 rule="para" parents="23 3796"/>
    </justification>
  </clause>

  <clause id="4000">
    <literal><![CDATA[
      x => (y => (((y v x) -> 0) => 0)) = 1
    ]]></literal>
    <justification jstring="[para(29(a,1),3896(a,1,2,2,1,1,2))].">
      <j1 rule="para" parents="29 3896"/>
    </justification>
  </clause>

  <clause id="4064">
    <literal><![CDATA[
      x => (y => ~ ((y v x) -> 0)) = 1
    ]]></literal>
    <justification jstring="[para(23(a,1),4000(a,1,2,2))].">
      <j1 rule="para" parents="23 4000"/>
    </justification>
  </clause>

  <clause id="4280">
    <literal><![CDATA[
      x -> (y -> ((x => y) -> z)) = (x * (x => y)) -> z
    ]]></literal>
    <justification jstring="[para(3494(a,1),1127(a,1)),flip(a)].">
      <j1 rule="para" parents="3494 1127"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

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

  <clause id="5405">
    <literal><![CDATA[
      (x v (y ^ ~ y)) -> z = x -> z
    ]]></literal>
    <justification jstring="[para(3309(a,1),5257(a,1,1))].">
      <j1 rule="para" parents="3309 5257"/>
    </justification>
  </clause>

  <clause id="5517">
    <literal><![CDATA[
      (x ^ ~ x) => (y => ~ (y -> 0)) = 1
    ]]></literal>
    <justification jstring="[para(5405(a,1),4064(a,1,2,2,1))].">
      <j1 rule="para" parents="5405 4064"/>
    </justification>
  </clause>

  <clause id="5653">
    <literal><![CDATA[
      (x ^ ~ y) => (z => ~ u) = z => (u => (~ x v y))
    ]]></literal>
    <justification jstring="[para(23(a,1),2370(a,1,2,2))].">
      <j1 rule="para" parents="23 2370"/>
    </justification>
  </clause>

  <clause id="5906">
    <literal><![CDATA[
      x => ((x -> 0) => (~ y v y)) = 1
    ]]></literal>
    <justification jstring="[para(5653(a,1),5517(a,1))].">
      <j1 rule="para" parents="5653 5517"/>
    </justification>
  </clause>

  <clause id="5908">
    <literal><![CDATA[
      x => ((x -> 0) => (y v ~ y)) = 1
    ]]></literal>
    <justification jstring="[para(4(a,1),5906(a,1,2,2))].">
      <j1 rule="para" parents="4 5906"/>
    </justification>
  </clause>

  <clause id="6003">
    <literal><![CDATA[
      (x ^ y) => ((x -> (y -> 0)) => (z v ~ z)) = 1
    ]]></literal>
    <justification jstring="[para(50(a,1),5908(a,1,2,1))].">
      <j1 rule="para" parents="50 5908"/>
    </justification>
  </clause>

  <clause id="6083">
    <literal><![CDATA[
      ((x -> 0) ^ x) => (1 => (y v ~ y)) = 1
    ]]></literal>
    <justification jstring="[para(47(a,1),6003(a,1,2,1))].">
      <j1 rule="para" parents="47 6003"/>
    </justification>
  </clause>

  <clause id="6161">
    <literal><![CDATA[
      (x ^ (x -> 0)) => (1 => (y v ~ y)) = 1
    ]]></literal>
    <justification jstring="[para(5(a,1),6083(a,1,1))].">
      <j1 rule="para" parents="5 6083"/>
    </justification>
  </clause>

  <clause id="6258">
    <literal><![CDATA[
      (x ^ ~ x) => (1 => (y v ~ y)) = 1
    ]]></literal>
    <justification jstring="[para(805(a,1),6161(a,1,1))].">
      <j1 rule="para" parents="805 6161"/>
    </justification>
  </clause>

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

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

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

  <clause id="6425">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer("(N1)")
    ]]></attribute>
    <justification jstring="[resolve(6424,a,52,a)].">
      <j1 rule="resolve" parents="6424 52"/>
    </justification>
  </clause>

</proof>

</proofs>
