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

<heading><![CDATA[
Prover9 (32) version September-2006, September 2006.
Process 27096 was started by mccune on cleo.thornwood,
Wed Sep 13 14:42:57 2006
The command was "/home/mccune/LADR/bin/prover9 -f lt.in uc.in H78b.in".
]]></heading>

<proof number="1" length="44" max_count="25">

<comments><![CDATA[
% Proof 1 at 73.14 (+ 0.75) seconds.
% Length of proof is 44.
% Level of proof is 11.
% Maximum clause weight is 23.
% Given clauses 1603.
]]></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 (z ^ (y v u))) = x ^ (y v (z ^ (u v (y ^ (x v u)))))
    ]]></literal>
    <attribute><![CDATA[
      label(H78)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="12">
    <literal><![CDATA[
      x ^ (y v (z ^ (u v (y ^ (x v u))))) = x ^ (y v (z ^ (y v u)))
    ]]></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="22">
    <literal><![CDATA[
      x ^ ((x v y) ^ z) = x ^ z
    ]]></literal>
    <justification jstring="[para(6(a,1),5(a,1,1)),flip(a)].">
      <j1 rule="para" parents="6 5"/>
      <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="29">
    <literal><![CDATA[
      x v x = x
    ]]></literal>
    <justification jstring="[para(6(a,1),7(a,1,2))].">
      <j1 rule="para" parents="6 7"/>
    </justification>
  </clause>

  <clause id="30">
    <literal><![CDATA[
      x v (x' v y) = 1 v y
    ]]></literal>
    <justification jstring="[para(8(a,1),3(a,1,1)),flip(a)].">
      <j1 rule="para" parents="8 3"/>
      <j2 rule="flip"/>
    </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="35">
    <literal><![CDATA[
      x v 0 = x
    ]]></literal>
    <justification jstring="[para(9(a,1),7(a,1,2))].">
      <j1 rule="para" parents="9 7"/>
    </justification>
  </clause>

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

  <clause id="39">
    <literal><![CDATA[
      (x ^ y) v z != 1
    ]]></literal>
    <literal><![CDATA[
      x ^ (y ^ z) != 0
    ]]></literal>
    <literal><![CDATA[
      (x ^ y)' = z
    ]]></literal>
    <justification jstring="[para(5(a,1),10(b,1))].">
      <j1 rule="para" parents="5 10"/>
    </justification>
  </clause>

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

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

  <clause id="69">
    <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="75">
    <literal><![CDATA[
      0 v x = x
    ]]></literal>
    <justification jstring="[para(35(a,1),2(a,1)),flip(a)].">
      <j1 rule="para" parents="35 2"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="79">
    <literal><![CDATA[
      x v (x' v y) = 1
    ]]></literal>
    <justification jstring="[back_rewrite(30),rewrite(78(5))].">
      <j1 rule="back_rewrite" parents="30"/>
      <j2 rule="rewrite" parents="78"/>
    </justification>
  </clause>

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

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

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

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

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

  <clause id="216">
    <literal><![CDATA[
      x'' = x
    ]]></literal>
    <justification jstring="[para(8(a,1),36(a,1)),rewrite(4(5),9(5)),xx(a),xx(b)].">
      <j1 rule="para" parents="8 36"/>
      <j2 rule="rewrite" parents="4 9"/>
      <j2 rule="xx"/>
      <j2 rule="xx"/>
    </justification>
  </clause>

  <clause id="336">
    <literal><![CDATA[
      x ^ (y ^ ((x ^ y)' v z)) != 0
    ]]></literal>
    <literal><![CDATA[
      (x ^ y)' v z = (x ^ y)'
    ]]></literal>
    <justification jstring="[para(79(a,1),39(a,1)),flip(c),xx(a)].">
      <j1 rule="para" parents="79 39"/>
      <j2 rule="flip"/>
      <j2 rule="xx"/>
    </justification>
  </clause>

  <clause id="518">
    <literal><![CDATA[
      x ^ (y v ((y' v (y ^ (x v y'))) ^ z)) = x ^ (y v z)
    ]]></literal>
    <justification jstring="[para(8(a,1),48(a,2,2,2,2)),rewrite(32(10))].">
      <j1 rule="para" parents="8 48"/>
      <j2 rule="rewrite" parents="32"/>
    </justification>
  </clause>

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

  <clause id="27119">
    <literal><![CDATA[
      x ^ (y v (x v y')') = x ^ y
    ]]></literal>
    <justification jstring="[para(1924(a,1),518(a,1,2,2)),rewrite(35(2),67(5)),flip(a)].">
      <j1 rule="para" parents="1924 518"/>
      <j2 rule="rewrite" parents="35 67"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="27171">
    <literal><![CDATA[
      x' v (y ^ x)' = (y ^ x)'
    ]]></literal>
    <justification jstring="[para(27119(a,1),336(a,1,2)),rewrite(34(4),216(8),26(7),2(7)),xx(a)].">
      <j1 rule="para" parents="27119 336"/>
      <j2 rule="rewrite" parents="34 216 26 2"/>
      <j2 rule="xx"/>
    </justification>
  </clause>

  <clause id="27181">
    <literal><![CDATA[
      c1' v c2' = c1'
    ]]></literal>
    <justification jstring="[para(13(a,1),27171(a,1,2,1)),rewrite(2(5),13(8))].">
      <j1 rule="para" parents="13 27171"/>
      <j2 rule="rewrite" parents="2 13"/>
    </justification>
  </clause>

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

</proof>

</proofs>
