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

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

<proof number="1" length="70" max_count="22">

<comments><![CDATA[
% Proof 1 at 0.32 (+ 0.01) seconds: D.
% Length of proof is 70.
% Level of proof is 15.
% Maximum clause weight is 22.
% Given clauses 186.
]]></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 = u @ (v @ w)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="7" type="assumption">
    <literal><![CDATA[
      (A @ C) * (B @ C) != A * B @ C
    ]]></literal>
    <attribute><![CDATA[
      answer(D)
    ]]></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="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="21">
    <literal><![CDATA[
      x'' * (x @ y) = y' * x * y
    ]]></literal>
    <justification jstring="[para(5(a,1),8(a,1,2))].">
      <j1 rule="para" parents="5 8"/>
    </justification>
  </clause>

  <clause id="22">
    <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="23">
    <literal><![CDATA[
      x' * y * x = y * (y @ x)
    ]]></literal>
    <justification jstring="[back_rewrite(21),rewrite(22(4)),flip(a)].">
      <j1 rule="back_rewrite" parents="21"/>
      <j2 rule="rewrite" parents="22"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

  <clause id="30">
    <literal><![CDATA[
      (x @ y) @ z = e
    ]]></literal>
    <justification jstring="[para(11(a,1),6(a,2))].">
      <j1 rule="para" parents="11 6"/>
    </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(22(4)),flip(a)].">
      <j1 rule="para" parents="5 9"/>
      <j2 rule="rewrite" parents="22"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  <clause id="119">
    <literal><![CDATA[
      x * y @ x = y @ x * y
    ]]></literal>
    <justification jstring="[back_rewrite(59),rewrite(111(5))].">
      <j1 rule="back_rewrite" parents="59"/>
      <j2 rule="rewrite" parents="111"/>
    </justification>
  </clause>

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

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

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

  <clause id="139">
    <literal><![CDATA[
      x @ y * x = x @ y
    ]]></literal>
    <justification jstring="[back_rewrite(122),rewrite(125(2),1(5),5(5)),flip(a)].">
      <j1 rule="back_rewrite" parents="122"/>
      <j2 rule="rewrite" parents="125 1 5"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="169">
    <literal><![CDATA[
      x * y @ x = y @ x
    ]]></literal>
    <justification jstring="[back_rewrite(119),rewrite(139(4))].">
      <j1 rule="back_rewrite" parents="119"/>
      <j2 rule="rewrite" parents="139"/>
    </justification>
  </clause>

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

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

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

  <clause id="181">
    <literal><![CDATA[
      x' @ y = y @ x
    ]]></literal>
    <justification jstring="[back_rewrite(177),rewrite(180(3))].">
      <j1 rule="back_rewrite" parents="177"/>
      <j2 rule="rewrite" parents="180"/>
    </justification>
  </clause>

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

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

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

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

  <clause id="231">
    <literal><![CDATA[
      C @ B' * A' != (C @ A') * (B @ C)
    ]]></literal>
    <attribute><![CDATA[
      answer(D)
    ]]></attribute>
    <justification jstring="[para(190(a,2),183(a,2)),rewrite(227(4),125(13)),flip(a)].">
      <j1 rule="para" parents="190 183"/>
      <j2 rule="rewrite" parents="227 125"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

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

  <clause id="391">
    <literal><![CDATA[
      (x @ y) * y * x = x * y
    ]]></literal>
    <justification jstring="[para(243(a,1),40(a,2,2)),rewrite(125(2),180(5),193(3),1(6),107(6))].">
      <j1 rule="para" parents="243 40"/>
      <j2 rule="rewrite" parents="125 180 193 1 107"/>
    </justification>
  </clause>

  <clause id="411">
    <literal><![CDATA[
      (x @ y) * z * y' * x' * y * x * u = z * u
    ]]></literal>
    <justification jstring="[para(9(a,2),42(a,1,2,2)),rewrite(135(2),28(11),2(11))].">
      <j1 rule="para" parents="9 42"/>
      <j2 rule="rewrite" parents="135 28 2"/>
    </justification>
  </clause>

  <clause id="432">
    <literal><![CDATA[
      (x @ y) * z = z * (x @ y)
    ]]></literal>
    <justification jstring="[para(170(a,1),42(a,1,2,2)),rewrite(135(2),25(3),28(4),2(5))].">
      <j1 rule="para" parents="170 42"/>
      <j2 rule="rewrite" parents="135 25 28 2"/>
    </justification>
  </clause>

  <clause id="474">
    <literal><![CDATA[
      C @ B' * A' != (B @ C) * (C @ A')
    ]]></literal>
    <attribute><![CDATA[
      answer(D)
    ]]></attribute>
    <justification jstring="[back_rewrite(231),rewrite(432(15,R))].">
      <j1 rule="back_rewrite" parents="231"/>
      <j2 rule="rewrite" parents="432"/>
    </justification>
  </clause>

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

  <clause id="821">
    <literal><![CDATA[
      (x @ y) * z @ u = z @ u
    ]]></literal>
    <justification jstring="[para(60(a,1),5(a,2)),rewrite(125(7),125(5),125(3),125(2),1(5),69(7),1(6),1(5),69(8),1(7),1(6),1(5),5(6),1(11),1(10),1(9),1(8),1(13),411(12),5(5)),flip(a)].">
      <j1 rule="para" parents="60 5"/>
      <j2 rule="rewrite" parents="125 125 125 125 1 69 1 1 69 1 1 1 5 1 1 1 1 1 411 5"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="826">
    <literal><![CDATA[
      x' * y * x * z @ u = y * z @ u
    ]]></literal>
    <justification jstring="[para(8(a,1),60(a,1,1,2,2,2)),rewrite(69(3),821(10))].">
      <j1 rule="para" parents="8 60"/>
      <j2 rule="rewrite" parents="69 821"/>
    </justification>
  </clause>

  <clause id="833">
    <literal><![CDATA[
      x @ (y @ z) * u = x @ u
    ]]></literal>
    <justification jstring="[para(60(a,2),135(a,1,1)),rewrite(826(7),8(3),135(2)),flip(a)].">
      <j1 rule="para" parents="60 135"/>
      <j2 rule="rewrite" parents="826 8 135"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="871">
    <literal><![CDATA[
      x' @ y * x * z = x' @ y * z
    ]]></literal>
    <justification jstring="[back_rewrite(552),rewrite(833(6)),flip(a)].">
      <j1 rule="back_rewrite" parents="552"/>
      <j2 rule="rewrite" parents="833"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

  <clause id="1037">
    <literal><![CDATA[
      C @ A' * B' != (B @ C) * (C @ A')
    ]]></literal>
    <attribute><![CDATA[
      answer(D)
    ]]></attribute>
    <justification jstring="[back_rewrite(474),rewrite(1024(7))].">
      <j1 rule="back_rewrite" parents="474"/>
      <j2 rule="rewrite" parents="1024"/>
    </justification>
  </clause>

  <clause id="1703">
    <literal><![CDATA[
      x' * y * z' * x * z * y' = x @ z * y'
    ]]></literal>
    <justification jstring="[para(908(a,1),109(a,1,2,2,2,2)),rewrite(25(7),1(7),125(11),69(10),1(16),8(15),64(13),25(13))].">
      <j1 rule="para" parents="908 109"/>
      <j2 rule="rewrite" parents="25 1 125 69 1 8 64 25"/>
    </justification>
  </clause>

  <clause id="1824">
    <literal><![CDATA[
      x @ y * z' = (z @ x) * (x @ y)
    ]]></literal>
    <justification jstring="[para(110(a,1),107(a,2)),rewrite(871(15),5(13),28(10),25(9),1(8),1(7),1(6),1(5),1703(8))].">
      <j1 rule="para" parents="110 107"/>
      <j2 rule="rewrite" parents="871 5 28 25 1 1 1 1 1703"/>
    </justification>
  </clause>

  <clause id="1825">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer(D)
    ]]></attribute>
    <justification jstring="[resolve(1824,a,1037,a)].">
      <j1 rule="resolve" parents="1824 1037"/>
    </justification>
  </clause>

</proof>

</proofs>
