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

<source>3.1_alt.out</source>

<heading><![CDATA[
Prover9 (64) version Aug-2007, Aug 2007.
Process 32355 was started by veroff on io,
Mon Jan 21 11:14:39 2008
The command was "prover9 -f 3.1_alt.in".
]]></heading>

<proof number="1" length="18" max_count="13">

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  <clause id="883">
    <literal><![CDATA[
      (x ^ y) -> y = 1
    ]]></literal>
    <attribute><![CDATA[
      label("(3.10)")
    ]]></attribute>
    <justification jstring="[para(69(a,1),831(a,1,2))].">
      <j1 rule="para" parents="69 831"/>
    </justification>
  </clause>

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

</proof>

<proof number="2" length="38" max_count="13">

<comments><![CDATA[
% Proof 2 at 0.08 (+ 0.00) seconds: "(3.11)".
% Length of proof is 38.
% Level of proof is 12.
% Maximum clause weight is 13.
% Given clauses 68.
]]></comments>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  <clause id="883">
    <literal><![CDATA[
      (x ^ y) -> y = 1
    ]]></literal>
    <attribute><![CDATA[
      label("(3.10)")
    ]]></attribute>
    <justification jstring="[para(69(a,1),831(a,1,2))].">
      <j1 rule="para" parents="69 831"/>
    </justification>
  </clause>

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

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

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

  <clause id="1230">
    <literal><![CDATA[
      x -> (y -> x) = 1
    ]]></literal>
    <justification jstring="[para(1189(a,1),883(a,1,1))].">
      <j1 rule="para" parents="1189 883"/>
    </justification>
  </clause>

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

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

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

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

  <clause id="1829">
    <literal><![CDATA[
      (x ^ y) => y = 1
    ]]></literal>
    <attribute><![CDATA[
      label("(3.11)")
    ]]></attribute>
    <justification jstring="[para(9(a,1),1818(a,1,1))].">
      <j1 rule="para" parents="9 1818"/>
    </justification>
  </clause>

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

</proof>

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

<comments><![CDATA[
% Proof 3 at 0.10 (+ 0.00) seconds: "(3.12)".
% Length of proof is 12.
% Level of proof is 6.
% Maximum clause weight is 14.
% Given clauses 79.
]]></comments>

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

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

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

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

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

  <clause id="299">
    <literal><![CDATA[
      (~ x -> ~ y) ^ (y -> x) = y => x
    ]]></literal>
    <justification jstring="[para(32(a,1),9(a,1)),flip(a)].">
      <j1 rule="para" parents="32 9"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

  <clause id="2306">
    <literal><![CDATA[
      x => ~ y = y => ~ x
    ]]></literal>
    <justification jstring="[para(1558(a,1),305(a,1))].">
      <j1 rule="para" parents="1558 305"/>
    </justification>
  </clause>

  <clause id="2307">
    <literal><![CDATA[
      ~ x => ~ y = y => x
    ]]></literal>
    <attribute><![CDATA[
      label("(3.12)")
    ]]></attribute>
    <justification jstring="[para(19(a,1),2306(a,1,2)),flip(a)].">
      <j1 rule="para" parents="19 2306"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

</proof>

<proof number="4" length="45" max_count="17">

<comments><![CDATA[
% Proof 4 at 0.10 (+ 0.00) seconds: "(3.13)".
% Length of proof is 45.
% Level of proof is 13.
% Maximum clause weight is 17.
% Given clauses 82.
]]></comments>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  <clause id="2218">
    <literal><![CDATA[
      (~ x -> y) ^ x = x
    ]]></literal>
    <justification jstring="[para(2191(a,1),9(a,1)),flip(a)].">
      <j1 rule="para" parents="2191 9"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="2474">
    <literal><![CDATA[
      (x => y) ^ y = y
    ]]></literal>
    <attribute><![CDATA[
      label("(3.13)")
    ]]></attribute>
    <justification jstring="[para(2429(a,1),1215(a,1))].">
      <j1 rule="para" parents="2429 1215"/>
    </justification>
  </clause>

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

</proof>

<proof number="5" length="20" max_count="17">

<comments><![CDATA[
% Proof 5 at 0.11 (+ 0.01) seconds: "(3.14)".
% Length of proof is 20.
% Level of proof is 6.
% Maximum clause weight is 17.
% Given clauses 85.
]]></comments>

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

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

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

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

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

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

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

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

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

  <clause id="49" type="deny">
    <literal><![CDATA[
      c9 => (c9 ^ c10) != c9 => c10
    ]]></literal>
    <attribute><![CDATA[
      label("(3.14)")
    ]]></attribute>
    <attribute><![CDATA[
      answer("(3.14)")
    ]]></attribute>
    <justification jstring="[deny(5)].">
      <j1 rule="deny" parents="5"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

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

  <clause id="2668">
    <literal><![CDATA[
      x => (x ^ y) = x => y
    ]]></literal>
    <attribute><![CDATA[
      label("(3.14)")
    ]]></attribute>
    <justification jstring="[para(2614(a,1),32(a,1))].">
      <j1 rule="para" parents="2614 32"/>
    </justification>
  </clause>

  <clause id="2669">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer("(3.14)")
    ]]></attribute>
    <justification jstring="[resolve(2668,a,49,a)].">
      <j1 rule="resolve" parents="2668 49"/>
    </justification>
  </clause>

</proof>

</proofs>
