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

<heading><![CDATA[
Prover9 (32) version August-2006A, August 2006.
Process 11449 was started by mccune on cleo.thornwood,
Sat Aug 12 21:01:20 2006
The command was "/home/mccune/bin/prover9 -f head.in cd.in".
]]></heading>

<proof number="1" length="47" max_count="37">

<comments><![CDATA[
% Proof 1 at 0.48 (+ 0.01) seconds.
% Length of proof is 47.
% Level of proof is 13.
% Maximum clause weight is 20.
% Given clauses 275.
]]></comments>

  <clause id="3">
    <literal><![CDATA[
      (all x all y all z (C(x,y,z) <-> (x ^ y) v (y ^ z) = y & (x ^ z) v y = y))
    ]]></literal>
    <attribute><![CDATA[
      label(non_clause)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="5">
    <literal><![CDATA[
      (all x all y all z (D(x,y,z) <-> x ^ z <= y & y <= x v z))
    ]]></literal>
    <attribute><![CDATA[
      label(non_clause)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="6">
    <literal><![CDATA[
      (all x all y (x <= y <-> x ^ y = x))
    ]]></literal>
    <attribute><![CDATA[
      label(non_clause)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="7">
    <literal><![CDATA[
      (all a all x all b (C(a,x,b) -> D(a,x,b)))
    ]]></literal>
    <justification jstring="[goal].">
      <j1 rule="goal"/>
    </justification>
  </clause>

  <clause id="18">
    <literal><![CDATA[
      -C(x,y,z)
    ]]></literal>
    <literal><![CDATA[
      (x ^ y) v (y ^ z) = y
    ]]></literal>
    <justification jstring="[clausify(3)].">
      <j1 rule="clausify" parents="3"/>
    </justification>
  </clause>

  <clause id="19">
    <literal><![CDATA[
      -C(x,y,z)
    ]]></literal>
    <literal><![CDATA[
      (x ^ z) v y = y
    ]]></literal>
    <justification jstring="[clausify(3)].">
      <j1 rule="clausify" parents="3"/>
    </justification>
  </clause>

  <clause id="20">
    <literal><![CDATA[
      C(c1,c2,c3)
    ]]></literal>
    <justification jstring="[deny(7)].">
      <j1 rule="deny" parents="7"/>
    </justification>
  </clause>

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

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

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

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

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

  <clause id="29">
    <literal><![CDATA[
      x ^ (x v y) = x
    ]]></literal>
    <justification jstring="[copy(28),rewrite(24(2))].">
      <j1 rule="copy" parents="28"/>
      <j2 rule="rewrite" parents="24"/>
    </justification>
  </clause>

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

  <clause id="31">
    <literal><![CDATA[
      x v (x ^ y) = x
    ]]></literal>
    <justification jstring="[copy(30),rewrite(25(2))].">
      <j1 rule="copy" parents="30"/>
      <j2 rule="rewrite" parents="25"/>
    </justification>
  </clause>

  <clause id="32">
    <literal><![CDATA[
      -D(x,y,z)
    ]]></literal>
    <literal><![CDATA[
      x ^ z <= y
    ]]></literal>
    <justification jstring="[clausify(5)].">
      <j1 rule="clausify" parents="5"/>
    </justification>
  </clause>

  <clause id="34">
    <literal><![CDATA[
      D(x,y,z)
    ]]></literal>
    <literal><![CDATA[
      -(x ^ z <= y)
    ]]></literal>
    <literal><![CDATA[
      -(y <= x v z)
    ]]></literal>
    <justification jstring="[clausify(5)].">
      <j1 rule="clausify" parents="5"/>
    </justification>
  </clause>

  <clause id="36">
    <literal><![CDATA[
      x <= y
    ]]></literal>
    <literal><![CDATA[
      x ^ y != x
    ]]></literal>
    <justification jstring="[clausify(6)].">
      <j1 rule="clausify" parents="6"/>
    </justification>
  </clause>

  <clause id="37">
    <literal><![CDATA[
      -D(c1,c2,c3)
    ]]></literal>
    <justification jstring="[deny(7)].">
      <j1 rule="deny" parents="7"/>
    </justification>
  </clause>

  <clause id="38">
    <literal><![CDATA[
      (c1 ^ c2) v (c2 ^ c3) = c2
    ]]></literal>
    <justification jstring="[resolve(20,a,18,a)].">
      <j1 rule="resolve" parents="20 18"/>
    </justification>
  </clause>

  <clause id="39">
    <literal><![CDATA[
      (c1 ^ c3) v c2 = c2
    ]]></literal>
    <justification jstring="[resolve(20,a,19,a)].">
      <j1 rule="resolve" parents="20 19"/>
    </justification>
  </clause>

  <clause id="40">
    <literal><![CDATA[
      c2 v (c1 ^ c3) = c2
    ]]></literal>
    <justification jstring="[copy(39),rewrite(25(5))].">
      <j1 rule="copy" parents="39"/>
      <j2 rule="rewrite" parents="25"/>
    </justification>
  </clause>

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

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

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

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

  <clause id="56">
    <literal><![CDATA[
      D(x,y,z)
    ]]></literal>
    <literal><![CDATA[
      -(x ^ z <= y)
    ]]></literal>
    <literal><![CDATA[
      -(y <= z v x)
    ]]></literal>
    <justification jstring="[para(25(a,1),34(c,2))].">
      <j1 rule="para" parents="25 34"/>
    </justification>
  </clause>

  <clause id="57">
    <literal><![CDATA[
      D(x ^ y,z,u)
    ]]></literal>
    <literal><![CDATA[
      -(x ^ (y ^ u) <= z)
    ]]></literal>
    <literal><![CDATA[
      -(z <= (x ^ y) v u)
    ]]></literal>
    <justification jstring="[para(26(a,1),34(b,1))].">
      <j1 rule="para" parents="26 34"/>
    </justification>
  </clause>

  <clause id="61">
    <literal><![CDATA[
      x <= x v y
    ]]></literal>
    <justification jstring="[hyper(36,b,29,a)].">
      <j1 rule="hyper" parents="36 29"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

  <clause id="239">
    <literal><![CDATA[
      c1 v (c2 ^ c3) = c1 v c2
    ]]></literal>
    <justification jstring="[para(38(a,1),51(a,1,2)),flip(a)].">
      <j1 rule="para" parents="38 51"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="363">
    <literal><![CDATA[
      D(x ^ y,y ^ z,z)
    ]]></literal>
    <justification jstring="[hyper(57,b,101,a,c,134,a)].">
      <j1 rule="hyper" parents="57 101 134"/>
    </justification>
  </clause>

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

  <clause id="495">
    <literal><![CDATA[
      D(c1 ^ c3,c2 ^ x,x)
    ]]></literal>
    <justification jstring="[para(40(a,1),441(a,2,1))].">
      <j1 rule="para" parents="40 441"/>
    </justification>
  </clause>

  <clause id="606">
    <literal><![CDATA[
      c1 ^ (c3 ^ x) <= c2 ^ x
    ]]></literal>
    <justification jstring="[hyper(32,a,495,a),rewrite(26(4))].">
      <j1 rule="hyper" parents="32 495"/>
      <j2 rule="rewrite" parents="26"/>
    </justification>
  </clause>

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

  <clause id="3231">
    <literal><![CDATA[
      c1 v (c2 v c3) = c1 v c3
    ]]></literal>
    <justification jstring="[para(239(a,1),121(a,1,2)),rewrite(44(5),25(4))].">
      <j1 rule="para" parents="239 121"/>
      <j2 rule="rewrite" parents="44 25"/>
    </justification>
  </clause>

  <clause id="4728">
    <literal><![CDATA[
      D(c1,c2 ^ (c1 v c3),c3)
    ]]></literal>
    <justification jstring="[hyper(56,b,2665,a,c,101,a),rewrite(25(5))].">
      <j1 rule="hyper" parents="56 2665 101"/>
      <j2 rule="rewrite" parents="25"/>
    </justification>
  </clause>

  <clause id="4928">
    <literal><![CDATA[
      c2 ^ (c1 v c3) = c2
    ]]></literal>
    <justification jstring="[para(3231(a,1),91(a,1,2))].">
      <j1 rule="para" parents="3231 91"/>
    </justification>
  </clause>

  <clause id="4962">
    <literal><![CDATA[
      D(c1,c2,c3)
    ]]></literal>
    <justification jstring="[back_rewrite(4728),rewrite(4928(6))].">
      <j1 rule="back_rewrite" parents="4728"/>
      <j2 rule="rewrite" parents="4928"/>
    </justification>
  </clause>

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

</proof>

</proofs>
