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

<heading><![CDATA[
Prover9 (32) version March-2007, March 2007.
Process 21305 was started by mccune on cleo,
Mon Mar 19 17:12:12 2007
The command was "/home/mccune/bin/prover9 -f lt.in uc.in H7b.in".
]]></heading>

<proof number="1" length="34" max_count="24">

<comments><![CDATA[
% Proof 1 at 15.77 (+ 0.11) seconds.
% Length of proof is 34.
% Level of proof is 13.
% Maximum clause weight is 23.
% Given clauses 1343.
]]></comments>

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

  <clause id="2" type="assumption">
    <literal><![CDATA[
      x v y = y v x
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

  <clause id="10" type="assumption">
    <literal><![CDATA[
      x v y != 1
    ]]></literal>
    <literal><![CDATA[
      x ^ y != 0
    ]]></literal>
    <literal><![CDATA[
      x' = y
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="12">
    <literal><![CDATA[
      x ^ (y v (x ^ ((x ^ y) v (z ^ (x v y))))) = x ^ (y v (x ^ z))
    ]]></literal>
    <justification jstring="[copy(11),flip(a)].">
      <j1 rule="copy" parents="11"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="14" type="deny">
    <literal><![CDATA[
      c1' != c1' v c2'
    ]]></literal>
    <justification jstring="[deny(1)].">
      <j1 rule="deny" parents="1"/>
    </justification>
  </clause>

  <clause id="15">
    <literal><![CDATA[
      c1' v c2' != c1'
    ]]></literal>
    <justification jstring="[copy(14),flip(a)].">
      <j1 rule="copy" parents="14"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

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

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

  <clause id="161">
    <literal><![CDATA[
      x v (x ^ y)' = 1
    ]]></literal>
    <justification jstring="[para(8(a,1),24(a,1,2)),rewrite(70(2)),flip(a)].">
      <j1 rule="para" parents="8 24"/>
      <j2 rule="rewrite" parents="70"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="198">
    <literal><![CDATA[
      c2 v c1' = 1
    ]]></literal>
    <justification jstring="[para(13(a,1),188(a,1,2,1))].">
      <j1 rule="para" parents="13 188"/>
    </justification>
  </clause>

  <clause id="274">
    <literal><![CDATA[
      x v (y ^ (x ^ y)') != 1
    ]]></literal>
    <literal><![CDATA[
      y ^ (x ^ y)' = x'
    ]]></literal>
    <justification jstring="[para(34(a,1),10(b,1)),flip(c),xx(b)].">
      <j1 rule="para" parents="34 10"/>
      <j2 rule="flip"/>
      <j2 rule="xx"/>
    </justification>
  </clause>

  <clause id="478">
    <literal><![CDATA[
      c1' ^ (c2 v (c1' ^ ((c2 ^ c1') v x))) = c1' ^ (c2 v (c1' ^ x))
    ]]></literal>
    <justification jstring="[para(198(a,1),42(a,1,2,2,2,2,2)),rewrite(4(9),32(11))].">
      <j1 rule="para" parents="198 42"/>
      <j2 rule="rewrite" parents="4 32"/>
    </justification>
  </clause>

  <clause id="21348">
    <literal><![CDATA[
      c1' ^ (c2 v (c1' ^ (c2 ^ c1')')) = c1'
    ]]></literal>
    <justification jstring="[para(8(a,1),478(a,1,2,2,2)),rewrite(4(7),54(7),198(6),4(4),54(4)),flip(a)].">
      <j1 rule="para" parents="8 478"/>
      <j2 rule="rewrite" parents="4 54 198 4 54"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="21374">
    <literal><![CDATA[
      c2 v (c1' ^ (c2 ^ c1')') = 1
    ]]></literal>
    <justification jstring="[para(21348(a,1),26(a,1,2)),rewrite(2(13),17(13),7(12),198(4)),flip(a)].">
      <j1 rule="para" parents="21348 26"/>
      <j2 rule="rewrite" parents="2 17 7 198"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="21390">
    <literal><![CDATA[
      c1' ^ (c2 ^ c1')' = c2'
    ]]></literal>
    <justification jstring="[hyper(274,a,21374,a)].">
      <j1 rule="hyper" parents="274 21374"/>
    </justification>
  </clause>

  <clause id="21404">
    <literal><![CDATA[
      c1' v c2' = c1'
    ]]></literal>
    <justification jstring="[para(21390(a,1),7(a,1,2))].">
      <j1 rule="para" parents="21390 7"/>
    </justification>
  </clause>

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

</proof>

</proofs>
