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

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

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

<comments><![CDATA[
% Proof 1 at 0.12 (+ 0.00) seconds: "(4.9)".
% Length of proof is 23.
% Level of proof is 10.
% Maximum clause weight is 17.
% Given clauses 86.
]]></comments>

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

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

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

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

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

  <clause id="46" type="deny">
    <literal><![CDATA[
      c1 -> ((c2 v c1) -> c3) != c1 -> c3
    ]]></literal>
    <attribute><![CDATA[
      label("(4.9)")
    ]]></attribute>
    <attribute><![CDATA[
      answer("(4.9)")
    ]]></attribute>
    <justification jstring="[deny(1)].">
      <j1 rule="deny" parents="1"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

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

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

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

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

  <clause id="2892">
    <literal><![CDATA[
      x -> ((y v x) -> z) = x -> z
    ]]></literal>
    <attribute><![CDATA[
      label("(4.9)")
    ]]></attribute>
    <justification jstring="[para(2823(a,1),1559(a,1)),flip(a)].">
      <j1 rule="para" parents="2823 1559"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="2893">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer("(4.9)")
    ]]></attribute>
    <justification jstring="[resolve(2892,a,46,a)].">
      <j1 rule="resolve" parents="2892 46"/>
    </justification>
  </clause>

</proof>

<proof number="2" length="70" max_count="17">

<comments><![CDATA[
% Proof 2 at 0.15 (+ 0.00) seconds: "(4.10)".
% Length of proof is 70.
% Level of proof is 18.
% Maximum clause weight is 17.
% Given clauses 95.
]]></comments>

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

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

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

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

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

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

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

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

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

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

  <clause id="36" 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="38" 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="40" 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) * z) => (x => (y * z)) = 1
    ]]></literal>
    <attribute><![CDATA[
      label("(4.5)")
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="47" type="deny">
    <literal><![CDATA[
      c4 -> (~ c4 v c5) != c4 -> c5
    ]]></literal>
    <attribute><![CDATA[
      label("(4.10)")
    ]]></attribute>
    <attribute><![CDATA[
      answer("(4.10)")
    ]]></attribute>
    <justification jstring="[deny(2)].">
      <j1 rule="deny" parents="2"/>
    </justification>
  </clause>

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

  <clause id="149">
    <literal><![CDATA[
      x => (y => 0) = ~ (x * y)
    ]]></literal>
    <justification jstring="[para(24(a,1),16(a,1)),flip(a)].">
      <j1 rule="para" parents="24 16"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

  <clause id="804">
    <literal><![CDATA[
      ~ (x => ~ y) = x * y
    ]]></literal>
    <justification jstring="[para(763(a,1),30(a,1,1))].">
      <j1 rule="para" parents="763 30"/>
    </justification>
  </clause>

  <clause id="824">
    <literal><![CDATA[
      (x v ~ y) * y = ~ (x => ~ y)
    ]]></literal>
    <justification jstring="[para(43(a,1),804(a,1,1)),flip(a)].">
      <j1 rule="para" parents="43 804"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

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

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

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

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

  <clause id="1047">
    <literal><![CDATA[
      ~ (x v (y => ~ z)) = (y * z) ^ ~ x
    ]]></literal>
    <justification jstring="[para(763(a,1),1012(a,1,1,2))].">
      <j1 rule="para" parents="763 1012"/>
    </justification>
  </clause>

  <clause id="1094">
    <literal><![CDATA[
      (x v ~ y) * y = x * y
    ]]></literal>
    <justification jstring="[para(804(a,1),824(a,2))].">
      <j1 rule="para" parents="804 824"/>
    </justification>
  </clause>

  <clause id="1103">
    <literal><![CDATA[
      x * (y v ~ x) = y * x
    ]]></literal>
    <justification jstring="[para(1094(a,1),14(a,1)),flip(a)].">
      <j1 rule="para" parents="1094 14"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

  <clause id="1860">
    <literal><![CDATA[
      (x * y) ^ ~ ~ y = ~ (x => ~ y)
    ]]></literal>
    <justification jstring="[para(692(a,1),1047(a,1,1)),flip(a)].">
      <j1 rule="para" parents="692 1047"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  <clause id="3360">
    <literal><![CDATA[
      x -> (y v ~ x) = x -> (y * x)
    ]]></literal>
    <justification jstring="[para(1103(a,1),3312(a,1,2)),flip(a)].">
      <j1 rule="para" parents="1103 3312"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="3411">
    <literal><![CDATA[
      x -> (y v ~ x) = x -> (x * y)
    ]]></literal>
    <justification jstring="[para(14(a,1),3360(a,2,2))].">
      <j1 rule="para" parents="14 3360"/>
    </justification>
  </clause>

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

  <clause id="3528">
    <literal><![CDATA[
      x -> (~ x v y) = x -> y
    ]]></literal>
    <attribute><![CDATA[
      label("(4.10)")
    ]]></attribute>
    <justification jstring="[para(5(a,1),3526(a,1,2))].">
      <j1 rule="para" parents="5 3526"/>
    </justification>
  </clause>

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

</proof>

</proofs>
