<?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 2008-04A, April 2008.
Process 24359 was started by mccune on cleo,
Fri Apr  4 11:38:20 2008
The command was "/home/mccune/LADR/bin/prover9 -f lt.in uc.in H78b.in".
]]></heading>

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

<comments><![CDATA[
% Proof 1 at 5.92 (+ 0.07) seconds.
% Length of proof is 49.
% Level of proof is 12.
% Maximum clause weight is 23.
% Given clauses 798.
]]></comments>

  <clause id="1" type="goal">
    <literal><![CDATA[
      (all x all y (x ^ y = x -> x' v y' = x'))
    ]]></literal>
    <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 = 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="19">
    <literal><![CDATA[
      x ^ (y ^ z) = y ^ (x ^ z)
    ]]></literal>
    <justification jstring="[para(4(a,1),5(a,1,1)),rewrite([5(2)])].">
      <j1 rule="para" parents="4 5"/>
      <j2 rule="rewrite" parents="5"/>
    </justification>
  </clause>

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

  <clause id="55">
    <literal><![CDATA[
      c2 ^ (x ^ c1) = x ^ c1
    ]]></literal>
    <justification jstring="[para(13(a,1),5(a,2,2)),rewrite([4(4)])].">
      <j1 rule="para" parents="13 5"/>
      <j2 rule="rewrite" parents="4"/>
    </justification>
  </clause>

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

  <clause id="60">
    <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[
      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="64">
    <literal><![CDATA[
      1 v x = 1
    ]]></literal>
    <justification jstring="[para(60(a,1),6(a,1))].">
      <j1 rule="para" parents="60 6"/>
    </justification>
  </clause>

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

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

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

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

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

  <clause id="84">
    <literal><![CDATA[
      x ^ (y ^ x') = 0
    ]]></literal>
    <justification jstring="[back_rewrite(68),rewrite([83(5)])].">
      <j1 rule="back_rewrite" parents="68"/>
      <j2 rule="rewrite" parents="83"/>
    </justification>
  </clause>

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

  <clause id="132">
    <literal><![CDATA[
      c1 v c2 = c2
    ]]></literal>
    <justification jstring="[para(60(a,1),126(a,1,2)),rewrite([2(3)])].">
      <j1 rule="para" parents="60 126"/>
      <j2 rule="rewrite" parents="2"/>
    </justification>
  </clause>

  <clause id="133">
    <literal><![CDATA[
      c1 v (c2 v x) = c2 v x
    ]]></literal>
    <justification jstring="[para(132(a,1),3(a,1,1)),flip(a)].">
      <j1 rule="para" parents="132 3"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="141">
    <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="225">
    <literal><![CDATA[
      c2 v c1' = 1
    ]]></literal>
    <justification jstring="[para(133(a,1),71(a,1))].">
      <j1 rule="para" parents="133 71"/>
    </justification>
  </clause>

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

  <clause id="272">
    <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="819">
    <literal><![CDATA[
      c1' ^ (c2 v (x ^ c1')) = c1' ^ (c2 v x)
    ]]></literal>
    <justification jstring="[para(225(a,1),53(a,1,2,2,2)),rewrite([32(5)]),flip(a)].">
      <j1 rule="para" parents="225 53"/>
      <j2 rule="rewrite" parents="32"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="4527">
    <literal><![CDATA[
      c2 v ((x ^ c1') v (c1' ^ (c2 v x))') = 1
    ]]></literal>
    <justification jstring="[para(819(a,1),256(a,1,2,1)),rewrite([3(12)])].">
      <j1 rule="para" parents="819 256"/>
      <j2 rule="rewrite" parents="3"/>
    </justification>
  </clause>

  <clause id="12555">
    <literal><![CDATA[
      c2 v (c1' ^ c2') = 1
    ]]></literal>
    <justification jstring="[para(8(a,1),4527(a,1,2,2,1,2)),rewrite([4(6),4(10),60(10),272(9),2(8),17(9),133(9)])].">
      <j1 rule="para" parents="8 4527"/>
      <j2 rule="rewrite" parents="4 4 60 272 2 17 133"/>
    </justification>
  </clause>

  <clause id="12692">
    <literal><![CDATA[
      c1' ^ c2' = c2'
    ]]></literal>
    <justification jstring="[hyper(10,a,12555,a,b,84,a),flip(a)].">
      <j1 rule="hyper" parents="10 12555 84"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

</proof>

</proofs>
