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

<heading><![CDATA[
Prover9 (32) version March-2007, March 2007.
Process 21007 was started by mccune on cleo,
Mon Mar 19 17:01:59 2007
The command was "/home/mccune/bin/prover9 -f gt.in DN.in".
]]></heading>

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

<comments><![CDATA[
% Proof 1 at 0.24 (+ 0.01) seconds: N.
% Length of proof is 58.
% Level of proof is 13.
% Maximum clause weight is 24.
% Given clauses 128.
]]></comments>

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

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

  <clause id="3" type="assumption">
    <literal><![CDATA[
      x' * x = e
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="5">
    <literal><![CDATA[
      x' * y' * x * y = x @ y
    ]]></literal>
    <justification jstring="[copy(4),flip(a)].">
      <j1 rule="copy" parents="4"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="7" type="assumption">
    <literal><![CDATA[
      (A @ B) * C != C * (A @ B)
    ]]></literal>
    <attribute><![CDATA[
      answer(N)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="9">
    <literal><![CDATA[
      x' * y' * x * y * z = (x @ y) * z
    ]]></literal>
    <justification jstring="[para(5(a,1),1(a,1,1)),rewrite(1(7),1(6)),flip(a)].">
      <j1 rule="para" parents="5 1"/>
      <j2 rule="rewrite" parents="1 1"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="10">
    <literal><![CDATA[
      (x * y)' * z' * x * y * z = x * y @ z
    ]]></literal>
    <justification jstring="[para(1(a,1),5(a,1,2,2))].">
      <j1 rule="para" parents="1 5"/>
    </justification>
  </clause>

  <clause id="11">
    <literal><![CDATA[
      e @ x = e
    ]]></literal>
    <justification jstring="[para(2(a,1),5(a,1,2,2)),rewrite(3(4),3(4)),flip(a)].">
      <j1 rule="para" parents="2 5"/>
      <j2 rule="rewrite" parents="3 3"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="12">
    <literal><![CDATA[
      x' @ x = e
    ]]></literal>
    <justification jstring="[para(3(a,1),5(a,1,2,2)),rewrite(8(6)),flip(a)].">
      <j1 rule="para" parents="3 5"/>
      <j2 rule="rewrite" parents="8"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="15">
    <literal><![CDATA[
      (x @ y)' * (z @ y)' * (x * z @ y) = (x @ y) @ (z @ y)
    ]]></literal>
    <justification jstring="[para(6(a,1),5(a,1,2,2))].">
      <j1 rule="para" parents="6 5"/>
    </justification>
  </clause>

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

  <clause id="18">
    <literal><![CDATA[
      x'' * e = x
    ]]></literal>
    <justification jstring="[para(3(a,1),8(a,1,2))].">
      <j1 rule="para" parents="3 8"/>
    </justification>
  </clause>

  <clause id="20">
    <literal><![CDATA[
      x @ x = e
    ]]></literal>
    <justification jstring="[para(8(a,1),5(a,1,2)),rewrite(3(2)),flip(a)].">
      <j1 rule="para" parents="8 5"/>
      <j2 rule="rewrite" parents="3"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="22">
    <literal><![CDATA[
      (x @ y)' * (x * z @ y) = z @ y
    ]]></literal>
    <justification jstring="[para(6(a,1),8(a,1,2))].">
      <j1 rule="para" parents="6 8"/>
    </justification>
  </clause>

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

  <clause id="26">
    <literal><![CDATA[
      x * e = x
    ]]></literal>
    <justification jstring="[back_rewrite(18),rewrite(23(4))].">
      <j1 rule="back_rewrite" parents="18"/>
      <j2 rule="rewrite" parents="23"/>
    </justification>
  </clause>

  <clause id="30">
    <literal><![CDATA[
      x * y @ x = y @ x
    ]]></literal>
    <justification jstring="[para(20(a,1),6(a,1,1)),rewrite(2(3)),flip(a)].">
      <j1 rule="para" parents="20 6"/>
      <j2 rule="rewrite" parents="2"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="40">
    <literal><![CDATA[
      (x' @ y) * x = x * (y @ x)
    ]]></literal>
    <justification jstring="[para(5(a,1),9(a,1,2)),rewrite(23(4)),flip(a)].">
      <j1 rule="para" parents="5 9"/>
      <j2 rule="rewrite" parents="23"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="41">
    <literal><![CDATA[
      x' * y' * x * y * (z @ y) = x * z @ y
    ]]></literal>
    <justification jstring="[para(9(a,2),6(a,1))].">
      <j1 rule="para" parents="9 6"/>
    </justification>
  </clause>

  <clause id="47">
    <literal><![CDATA[
      x' * y * x * z = (x @ y') * y * z
    ]]></literal>
    <justification jstring="[para(8(a,1),9(a,1,2,2,2)),rewrite(23(5))].">
      <j1 rule="para" parents="8 9"/>
      <j2 rule="rewrite" parents="23"/>
    </justification>
  </clause>

  <clause id="50">
    <literal><![CDATA[
      x' * y @ x = y @ x
    ]]></literal>
    <justification jstring="[para(12(a,1),6(a,1,1)),rewrite(2(3)),flip(a)].">
      <j1 rule="para" parents="12 6"/>
      <j2 rule="rewrite" parents="2"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="51">
    <literal><![CDATA[
      x * y' @ y = x @ y
    ]]></literal>
    <justification jstring="[para(12(a,1),6(a,1,2)),rewrite(26(3)),flip(a)].">
      <j1 rule="para" parents="12 6"/>
      <j2 rule="rewrite" parents="26"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="52">
    <literal><![CDATA[
      x * x' = e
    ]]></literal>
    <justification jstring="[para(23(a,1),3(a,1))].">
      <j1 rule="para" parents="23 3"/>
    </justification>
  </clause>

  <clause id="57">
    <literal><![CDATA[
      x'' = x
    ]]></literal>
    <justification jstring="[para(23(a,1),26(a,1)),rewrite(26(2)),flip(a)].">
      <j1 rule="para" parents="23 26"/>
      <j2 rule="rewrite" parents="26"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="60">
    <literal><![CDATA[
      x @ x' = e
    ]]></literal>
    <justification jstring="[para(57(a,1),12(a,1,1))].">
      <j1 rule="para" parents="57 12"/>
    </justification>
  </clause>

  <clause id="62">
    <literal><![CDATA[
      (x * y')' * y' * x = x @ y
    ]]></literal>
    <justification jstring="[para(3(a,1),10(a,1,2,2,2)),rewrite(26(6),51(9))].">
      <j1 rule="para" parents="3 10"/>
      <j2 rule="rewrite" parents="26 51"/>
    </justification>
  </clause>

  <clause id="67">
    <literal><![CDATA[
      (x * y)' * y * x = y @ x
    ]]></literal>
    <justification jstring="[para(8(a,1),10(a,1,2)),rewrite(30(6))].">
      <j1 rule="para" parents="8 10"/>
      <j2 rule="rewrite" parents="30"/>
    </justification>
  </clause>

  <clause id="71">
    <literal><![CDATA[
      x' @ y = y @ x
    ]]></literal>
    <justification jstring="[back_rewrite(62),rewrite(67(6))].">
      <j1 rule="back_rewrite" parents="62"/>
      <j2 rule="rewrite" parents="67"/>
    </justification>
  </clause>

  <clause id="75">
    <literal><![CDATA[
      x * y @ y' = y @ x
    ]]></literal>
    <justification jstring="[para(52(a,1),10(a,1,2,2,2)),rewrite(57(4),26(4),67(4)),flip(a)].">
      <j1 rule="para" parents="52 10"/>
      <j2 rule="rewrite" parents="57 26 67"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="77">
    <literal><![CDATA[
      x @ y' = y @ x
    ]]></literal>
    <justification jstring="[para(60(a,1),6(a,1,2)),rewrite(26(4),75(5))].">
      <j1 rule="para" parents="60 6"/>
      <j2 rule="rewrite" parents="26 75"/>
    </justification>
  </clause>

  <clause id="86">
    <literal><![CDATA[
      (B' @ A) * C != C * (A @ B)
    ]]></literal>
    <attribute><![CDATA[
      answer(N)
    ]]></attribute>
    <justification jstring="[para(71(a,2),7(a,1,1))].">
      <j1 rule="para" parents="71 7"/>
    </justification>
  </clause>

  <clause id="91">
    <literal><![CDATA[
      x' @ y' = x @ y
    ]]></literal>
    <justification jstring="[para(71(a,2),71(a,1))].">
      <j1 rule="para" parents="71 71"/>
    </justification>
  </clause>

  <clause id="115">
    <literal><![CDATA[
      (x @ y) * (y @ z') = x * z @ y
    ]]></literal>
    <justification jstring="[para(77(a,2),6(a,1,2))].">
      <j1 rule="para" parents="77 6"/>
    </justification>
  </clause>

  <clause id="122">
    <literal><![CDATA[
      x' @ y = x @ y'
    ]]></literal>
    <justification jstring="[para(77(a,1),71(a,1)),flip(a)].">
      <j1 rule="para" parents="77 71"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="127">
    <literal><![CDATA[
      (B @ A') * C != C * (B @ A')
    ]]></literal>
    <attribute><![CDATA[
      answer(N)
    ]]></attribute>
    <justification jstring="[para(77(a,2),86(a,2,2)),rewrite(122(4))].">
      <j1 rule="para" parents="77 86"/>
      <j2 rule="rewrite" parents="122"/>
    </justification>
  </clause>

  <clause id="133">
    <literal><![CDATA[
      x * y * z @ y = x * z @ y
    ]]></literal>
    <justification jstring="[para(30(a,1),6(a,1,2)),rewrite(6(3)),flip(a)].">
      <j1 rule="para" parents="30 6"/>
      <j2 rule="rewrite" parents="6"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="167">
    <literal><![CDATA[
      (x' @ y)' * (z @ x)' * (y * z @ x) = (y @ x) @ (z @ x)
    ]]></literal>
    <justification jstring="[para(71(a,2),15(a,1,1,1))].">
      <j1 rule="para" parents="71 15"/>
    </justification>
  </clause>

  <clause id="176">
    <literal><![CDATA[
      (x @ y)' * (z @ y)' * (y @ (x * z)') = (x @ y) @ (z @ y)
    ]]></literal>
    <justification jstring="[para(77(a,2),15(a,1,2,2))].">
      <j1 rule="para" parents="77 15"/>
    </justification>
  </clause>

  <clause id="208">
    <literal><![CDATA[
      (x @ y) @ x = e
    ]]></literal>
    <justification jstring="[para(5(a,1),50(a,1,1)),rewrite(133(6),3(4),11(4))].">
      <j1 rule="para" parents="5 50"/>
      <j2 rule="rewrite" parents="133 3 11"/>
    </justification>
  </clause>

  <clause id="221">
    <literal><![CDATA[
      (x @ y) @ y = e
    ]]></literal>
    <justification jstring="[para(77(a,1),208(a,1,1))].">
      <j1 rule="para" parents="77 208"/>
    </justification>
  </clause>

  <clause id="249">
    <literal><![CDATA[
      (x * y)' * x = y'
    ]]></literal>
    <justification jstring="[para(52(a,1),16(a,1,2,2)),rewrite(26(4))].">
      <j1 rule="para" parents="52 16"/>
      <j2 rule="rewrite" parents="26"/>
    </justification>
  </clause>

  <clause id="255">
    <literal><![CDATA[
      x * (y @ z) @ z = x @ z
    ]]></literal>
    <justification jstring="[para(221(a,1),6(a,1,2)),rewrite(26(3)),flip(a)].">
      <j1 rule="para" parents="221 6"/>
      <j2 rule="rewrite" parents="26"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="286">
    <literal><![CDATA[
      (x @ y)' = x' @ y
    ]]></literal>
    <justification jstring="[para(52(a,1),22(a,1,2,1)),rewrite(11(4),26(4))].">
      <j1 rule="para" parents="52 22"/>
      <j2 rule="rewrite" parents="11 26"/>
    </justification>
  </clause>

  <clause id="287">
    <literal><![CDATA[
      (x @ y) * (y @ x) = e
    ]]></literal>
    <justification jstring="[para(60(a,1),22(a,2)),rewrite(286(3),91(3),75(4))].">
      <j1 rule="para" parents="60 22"/>
      <j2 rule="rewrite" parents="286 91 75"/>
    </justification>
  </clause>

  <clause id="302">
    <literal><![CDATA[
      (x @ y) * (z' * y * z @ x) = (y @ x) @ (z @ x)
    ]]></literal>
    <justification jstring="[back_rewrite(167),rewrite(286(3),57(2),286(3),6(6))].">
      <j1 rule="back_rewrite" parents="167"/>
      <j2 rule="rewrite" parents="286 57 286 6"/>
    </justification>
  </clause>

  <clause id="316">
    <literal><![CDATA[
      (x @ y) @ (z @ y) = (x @ z) @ y
    ]]></literal>
    <justification jstring="[back_rewrite(176),rewrite(286(2),286(4),115(8),6(7),5(5)),flip(a)].">
      <j1 rule="back_rewrite" parents="176"/>
      <j2 rule="rewrite" parents="286 286 115 6 5"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="520">
    <literal><![CDATA[
      (x @ y') * (x @ y) = e
    ]]></literal>
    <justification jstring="[para(71(a,1),287(a,1,2))].">
      <j1 rule="para" parents="71 287"/>
    </justification>
  </clause>

  <clause id="719">
    <literal><![CDATA[
      (x @ y) * y = y * (x @ y)
    ]]></literal>
    <justification jstring="[para(71(a,1),40(a,1,1))].">
      <j1 rule="para" parents="71 40"/>
    </justification>
  </clause>

  <clause id="1207">
    <literal><![CDATA[
      ((x @ y') @ z') * z * (x @ y) = (x @ y) * z
    ]]></literal>
    <justification jstring="[para(520(a,1),47(a,1,2,2)),rewrite(286(3),91(3),26(3)),flip(a)].">
      <j1 rule="para" parents="520 47"/>
      <j2 rule="rewrite" parents="286 91 26"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="2006">
    <literal><![CDATA[
      x' * y * x @ z = y @ z
    ]]></literal>
    <justification jstring="[para(255(a,1),5(a,2)),rewrite(463(3),286(2),1(8),719(7),1(10),41(9),6(5))].">
      <j1 rule="para" parents="255 5"/>
      <j2 rule="rewrite" parents="463 286 1 719 1 41 6"/>
    </justification>
  </clause>

  <clause id="2075">
    <literal><![CDATA[
      (x @ y) @ (z @ y) = e
    ]]></literal>
    <justification jstring="[back_rewrite(302),rewrite(2006(5),287(3)),flip(a)].">
      <j1 rule="back_rewrite" parents="302"/>
      <j2 rule="rewrite" parents="2006 287"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="2085">
    <literal><![CDATA[
      (x @ y) @ z = e
    ]]></literal>
    <justification jstring="[back_rewrite(316),rewrite(2075(3)),flip(a)].">
      <j1 rule="back_rewrite" parents="316"/>
      <j2 rule="rewrite" parents="2075"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="2099">
    <literal><![CDATA[
      (x @ y) * z = z * (x @ y)
    ]]></literal>
    <justification jstring="[back_rewrite(1207),rewrite(2085(4),2(4)),flip(a)].">
      <j1 rule="back_rewrite" parents="1207"/>
      <j2 rule="rewrite" parents="2085 2"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="2100">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer(N)
    ]]></attribute>
    <justification jstring="[resolve(2099,a,127,a)].">
      <j1 rule="resolve" parents="2099 127"/>
    </justification>
  </clause>

</proof>

</proofs>
