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

<heading><![CDATA[
Prover9 (32) version 2008-04A, April 2008.
Process 23961 was started by mccune on cleo,
Fri Apr  4 11:28:30 2008
The command was "/home/mccune/LADR/bin/prover9 -f x3-ring.in".
]]></heading>

<proof number="1" length="78" max_count="20">

<comments><![CDATA[
% Proof 1 at 4.45 (+ 0.04) seconds: commutativity.
% Length of proof is 78.
% Level of proof is 26.
% Maximum clause weight is 20.
% Given clauses 202.
]]></comments>

  <clause id="1" type="goal">
    <literal><![CDATA[
      x * y = y * x
    ]]></literal>
    <attribute><![CDATA[
      label(commutativity)
    ]]></attribute>
    <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 + 0 = x
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="3" type="assumption">
    <literal><![CDATA[
      x + -x = 0
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="5" type="assumption">
    <literal><![CDATA[
      x + y = y + x
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="7">
    <literal><![CDATA[
      (x * y) + (x * z) = x * (y + z)
    ]]></literal>
    <justification jstring="[copy(6),flip(a)].">
      <j1 rule="copy" parents="6"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="9">
    <literal><![CDATA[
      (x * y) + (z * y) = (x + z) * y
    ]]></literal>
    <justification jstring="[copy(8),flip(a)].">
      <j1 rule="copy" parents="8"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="11" type="assumption">
    <literal><![CDATA[
      x * (x * x) = x
    ]]></literal>
    <attribute><![CDATA[
      label("hypothesis x^3=x")
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="12" type="deny">
    <literal><![CDATA[
      c2 * c1 != c1 * c2
    ]]></literal>
    <attribute><![CDATA[
      label(commutativity)
    ]]></attribute>
    <attribute><![CDATA[
      answer(commutativity)
    ]]></attribute>
    <justification jstring="[deny(1)].">
      <j1 rule="deny" parents="1"/>
    </justification>
  </clause>

  <clause id="16">
    <literal><![CDATA[
      x + (-x + y) = 0 + y
    ]]></literal>
    <justification jstring="[para(3(a,1),4(a,1,1)),flip(a)].">
      <j1 rule="para" parents="3 4"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="17">
    <literal><![CDATA[
      -x + (y + x) = y
    ]]></literal>
    <justification jstring="[para(3(a,1),4(a,2,2)),rewrite([5(3),2(5)])].">
      <j1 rule="para" parents="3 4"/>
      <j2 rule="rewrite" parents="5 2"/>
    </justification>
  </clause>

  <clause id="18">
    <literal><![CDATA[
      0 + x = x
    ]]></literal>
    <justification jstring="[para(5(a,1),2(a,1))].">
      <j1 rule="para" parents="5 2"/>
    </justification>
  </clause>

  <clause id="19">
    <literal><![CDATA[
      x + (y + z) = y + (x + z)
    ]]></literal>
    <justification jstring="[para(5(a,1),4(a,1,1)),rewrite([4(2)])].">
      <j1 rule="para" parents="5 4"/>
      <j2 rule="rewrite" parents="4"/>
    </justification>
  </clause>

  <clause id="20">
    <literal><![CDATA[
      x + (-x + y) = y
    ]]></literal>
    <justification jstring="[back_rewrite(16),rewrite([18(5)])].">
      <j1 rule="back_rewrite" parents="16"/>
      <j2 rule="rewrite" parents="18"/>
    </justification>
  </clause>

  <clause id="24">
    <literal><![CDATA[
      (x * (y * z)) + (u * z) = ((x * y) + u) * z
    ]]></literal>
    <justification jstring="[para(10(a,1),9(a,1,1))].">
      <j1 rule="para" parents="10 9"/>
    </justification>
  </clause>

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

  <clause id="26">
    <literal><![CDATA[
      x * ((x * x) + y) = x + (x * y)
    ]]></literal>
    <justification jstring="[para(11(a,1),7(a,1,1)),flip(a)].">
      <j1 rule="para" parents="11 7"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="30">
    <literal><![CDATA[
      x * (y * (x * (y * (x * y)))) = x * y
    ]]></literal>
    <justification jstring="[para(11(a,1),10(a,1)),rewrite([10(4)]),flip(a)].">
      <j1 rule="para" parents="11 10"/>
      <j2 rule="rewrite" parents="10"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="35">
    <literal><![CDATA[
      --x = x
    ]]></literal>
    <justification jstring="[para(3(a,1),17(a,1,2)),rewrite([2(4)])].">
      <j1 rule="para" parents="3 17"/>
      <j2 rule="rewrite" parents="2"/>
    </justification>
  </clause>

  <clause id="36">
    <literal><![CDATA[
      -x + (y + (x + z)) = y + z
    ]]></literal>
    <justification jstring="[para(17(a,1),4(a,1,1)),rewrite([4(4)]),flip(a)].">
      <j1 rule="para" parents="17 4"/>
      <j2 rule="rewrite" parents="4"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="38">
    <literal><![CDATA[
      -(x * y) + (x * (z + y)) = x * z
    ]]></literal>
    <justification jstring="[para(7(a,1),17(a,1,2))].">
      <j1 rule="para" parents="7 17"/>
    </justification>
  </clause>

  <clause id="41">
    <literal><![CDATA[
      x + -(x + y) = -y
    ]]></literal>
    <justification jstring="[para(17(a,1),17(a,1,2)),rewrite([5(3)])].">
      <j1 rule="para" parents="17 17"/>
      <j2 rule="rewrite" parents="5"/>
    </justification>
  </clause>

  <clause id="43">
    <literal><![CDATA[
      (x * y) + (z + (x * u)) = z + (x * (y + u))
    ]]></literal>
    <justification jstring="[para(7(a,1),19(a,1,2)),flip(a)].">
      <j1 rule="para" parents="7 19"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="60">
    <literal><![CDATA[
      (x * y) + -(x * (y + z)) = -(x * z)
    ]]></literal>
    <justification jstring="[para(7(a,1),41(a,1,2,1))].">
      <j1 rule="para" parents="7 41"/>
    </justification>
  </clause>

  <clause id="62">
    <literal><![CDATA[
      -(x + y) = -y + -x
    ]]></literal>
    <justification jstring="[para(17(a,1),41(a,1,2,1)),flip(a)].">
      <j1 rule="para" parents="17 41"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="152">
    <literal><![CDATA[
      ((x * x) + y) * x = x + (y * x)
    ]]></literal>
    <justification jstring="[para(11(a,1),24(a,1,1)),flip(a)].">
      <j1 rule="para" parents="11 24"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="168">
    <literal><![CDATA[
      ((x * x) + y) * (x * z) = (x + (y * x)) * z
    ]]></literal>
    <justification jstring="[para(29(a,1),24(a,1,1)),rewrite([25(4)]),flip(a)].">
      <j1 rule="para" parents="29 24"/>
      <j2 rule="rewrite" parents="25"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="176">
    <literal><![CDATA[
      x + (x * 0) = x
    ]]></literal>
    <justification jstring="[para(2(a,1),26(a,1,2)),rewrite([11(2)]),flip(a)].">
      <j1 rule="para" parents="2 26"/>
      <j2 rule="rewrite" parents="11"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="177">
    <literal><![CDATA[
      x + (x * -(x * x)) = x * 0
    ]]></literal>
    <justification jstring="[para(3(a,1),26(a,1,2)),flip(a)].">
      <j1 rule="para" parents="3 26"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="207">
    <literal><![CDATA[
      x * (y + (0 * y)) = x * y
    ]]></literal>
    <justification jstring="[para(176(a,1),9(a,2,1)),rewrite([10(4),7(5)])].">
      <j1 rule="para" parents="176 9"/>
      <j2 rule="rewrite" parents="10 7"/>
    </justification>
  </clause>

  <clause id="208">
    <literal><![CDATA[
      0 * 0 = 0
    ]]></literal>
    <justification jstring="[para(176(a,1),18(a,1)),flip(a)].">
      <j1 rule="para" parents="176 18"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="216">
    <literal><![CDATA[
      x * 0 = 0
    ]]></literal>
    <justification jstring="[para(208(a,1),9(a,1,1)),rewrite([214(4),18(3)]),flip(a)].">
      <j1 rule="para" parents="208 9"/>
      <j2 rule="rewrite" parents="214 18"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="218">
    <literal><![CDATA[
      x + (x * -(x * x)) = 0
    ]]></literal>
    <justification jstring="[back_rewrite(177),rewrite([216(6)])].">
      <j1 rule="back_rewrite" parents="177"/>
      <j2 rule="rewrite" parents="216"/>
    </justification>
  </clause>

  <clause id="221">
    <literal><![CDATA[
      (x + (y * z)) * (z * z) = ((x * z) + y) * z
    ]]></literal>
    <justification jstring="[para(11(a,1),25(a,1,2,2)),rewrite([24(4)]),flip(a)].">
      <j1 rule="para" parents="11 25"/>
      <j2 rule="rewrite" parents="24"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="252">
    <literal><![CDATA[
      x * (y + (-(x * x) * y)) = 0 * y
    ]]></literal>
    <justification jstring="[para(218(a,1),9(a,2,1)),rewrite([10(5),7(6)])].">
      <j1 rule="para" parents="218 9"/>
      <j2 rule="rewrite" parents="10 7"/>
    </justification>
  </clause>

  <clause id="254">
    <literal><![CDATA[
      -(x * -(x * x)) = x
    ]]></literal>
    <justification jstring="[para(218(a,1),17(a,1,2)),rewrite([5(6),18(6)])].">
      <j1 rule="para" parents="218 17"/>
      <j2 rule="rewrite" parents="5 18"/>
    </justification>
  </clause>

  <clause id="267">
    <literal><![CDATA[
      x * -(x * x) = -x
    ]]></literal>
    <justification jstring="[para(254(a,1),35(a,1,1)),flip(a)].">
      <j1 rule="para" parents="254 35"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="297">
    <literal><![CDATA[
      x * (x * -x) = -x
    ]]></literal>
    <justification jstring="[para(267(a,1),29(a,1,2,2)),rewrite([267(6)])].">
      <j1 rule="para" parents="267 29"/>
      <j2 rule="rewrite" parents="267"/>
    </justification>
  </clause>

  <clause id="306">
    <literal><![CDATA[
      x * (x * (-x * y)) = -x * y
    ]]></literal>
    <justification jstring="[para(297(a,1),10(a,1,1)),rewrite([10(5)]),flip(a)].">
      <j1 rule="para" parents="297 10"/>
      <j2 rule="rewrite" parents="10"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="389">
    <literal><![CDATA[
      x * ((y + (0 * y)) * z) = x * (y * z)
    ]]></literal>
    <justification jstring="[para(207(a,1),10(a,1,1)),rewrite([10(2)]),flip(a)].">
      <j1 rule="para" parents="207 10"/>
      <j2 rule="rewrite" parents="10"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="390">
    <literal><![CDATA[
      x + (0 * x) = x
    ]]></literal>
    <justification jstring="[para(207(a,1),11(a,1,2)),rewrite([389(8),221(5),5(3),18(3),10(2),11(2)]),flip(a)].">
      <j1 rule="para" parents="207 11"/>
      <j2 rule="rewrite" parents="389 221 5 18 10 11"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="409">
    <literal><![CDATA[
      0 * x = 0
    ]]></literal>
    <justification jstring="[para(35(a,1),395(a,1,2))].">
      <j1 rule="para" parents="35 395"/>
    </justification>
  </clause>

  <clause id="411">
    <literal><![CDATA[
      x * (y + (-(x * x) * y)) = 0
    ]]></literal>
    <justification jstring="[back_rewrite(252),rewrite([409(7)])].">
      <j1 rule="back_rewrite" parents="252"/>
      <j2 rule="rewrite" parents="409"/>
    </justification>
  </clause>

  <clause id="430">
    <literal><![CDATA[
      x * ((y + (-(x * x) * y)) * z) = 0
    ]]></literal>
    <justification jstring="[para(411(a,1),10(a,1,1)),rewrite([409(2)]),flip(a)].">
      <j1 rule="para" parents="411 10"/>
      <j2 rule="rewrite" parents="409"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="486">
    <literal><![CDATA[
      -(x * y) = x * -y
    ]]></literal>
    <justification jstring="[para(17(a,1),38(a,1,2,2)),rewrite([5(5),60(5)])].">
      <j1 rule="para" parents="17 38"/>
      <j2 rule="rewrite" parents="5 60"/>
    </justification>
  </clause>

  <clause id="495">
    <literal><![CDATA[
      -x * -y = x * y
    ]]></literal>
    <justification jstring="[para(411(a,1),38(a,1,2)),rewrite([486(2),10(3),306(4),486(3),5(5),18(5)])].">
      <j1 rule="para" parents="411 38"/>
      <j2 rule="rewrite" parents="486 10 306 486 5 18"/>
    </justification>
  </clause>

  <clause id="520">
    <literal><![CDATA[
      x * ((y + (x * (-x * y))) * z) = 0
    ]]></literal>
    <justification jstring="[back_rewrite(430),rewrite([486(2),10(3)])].">
      <j1 rule="back_rewrite" parents="430"/>
      <j2 rule="rewrite" parents="486 10"/>
    </justification>
  </clause>

  <clause id="560">
    <literal><![CDATA[
      (x * -y) + (z * y) = (x + -z) * -y
    ]]></literal>
    <justification jstring="[para(495(a,1),9(a,1,2))].">
      <j1 rule="para" parents="495 9"/>
    </justification>
  </clause>

  <clause id="563">
    <literal><![CDATA[
      -x * y = x * -y
    ]]></literal>
    <justification jstring="[para(35(a,1),495(a,1,1)),flip(a)].">
      <j1 rule="para" parents="35 495"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="570">
    <literal><![CDATA[
      (x * y) + (z * (u * -y)) = (-x + (z * u)) * -y
    ]]></literal>
    <justification jstring="[para(495(a,1),25(a,1,1))].">
      <j1 rule="para" parents="495 25"/>
    </justification>
  </clause>

  <clause id="581">
    <literal><![CDATA[
      x * ((y + (x * (x * -y))) * z) = 0
    ]]></literal>
    <justification jstring="[back_rewrite(520),rewrite([563(2)])].">
      <j1 rule="back_rewrite" parents="520"/>
      <j2 rule="rewrite" parents="563"/>
    </justification>
  </clause>

  <clause id="598">
    <literal><![CDATA[
      (-x + y) * z = (x + -y) * -z
    ]]></literal>
    <justification jstring="[para(563(a,1),9(a,1,1)),rewrite([560(4)]),flip(a)].">
      <j1 rule="para" parents="563 9"/>
      <j2 rule="rewrite" parents="560"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="602">
    <literal><![CDATA[
      (x * y) + (z * (u * -y)) = (x + (z * -u)) * y
    ]]></literal>
    <justification jstring="[back_rewrite(570),rewrite([598(10),486(7),35(10)])].">
      <j1 rule="back_rewrite" parents="570"/>
      <j2 rule="rewrite" parents="598 486 35"/>
    </justification>
  </clause>

  <clause id="641">
    <literal><![CDATA[
      x + ((y + (x * z)) * x) = (y + (x * (x + z))) * x
    ]]></literal>
    <justification jstring="[para(43(a,1),152(a,1,1)),flip(a)].">
      <j1 rule="para" parents="43 152"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="672">
    <literal><![CDATA[
      (x + (y * (y * -x))) * y = 0
    ]]></literal>
    <justification jstring="[para(581(a,1),30(a,1,2,2,2)),rewrite([216(10),216(6),216(6)]),flip(a)].">
      <j1 rule="para" parents="581 30"/>
      <j2 rule="rewrite" parents="216 216 216"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="681">
    <literal><![CDATA[
      (x * y) + (y * (y * (x * -y))) = 0
    ]]></literal>
    <justification jstring="[para(672(a,1),9(a,2)),rewrite([10(5),10(4),563(3)])].">
      <j1 rule="para" parents="672 9"/>
      <j2 rule="rewrite" parents="10 10 563"/>
    </justification>
  </clause>

  <clause id="1394">
    <literal><![CDATA[
      x * (x * (y * x)) = y * x
    ]]></literal>
    <justification jstring="[para(681(a,1),17(a,1,2)),rewrite([486(5),486(4),486(3),35(2),5(5),18(5)])].">
      <j1 rule="para" parents="681 17"/>
      <j2 rule="rewrite" parents="486 486 486 35 5 18"/>
    </justification>
  </clause>

  <clause id="1426">
    <literal><![CDATA[
      x * (x * (y * (x * z))) = y * (x * z)
    ]]></literal>
    <justification jstring="[para(1394(a,1),10(a,1,1)),rewrite([10(2),10(5),10(4)]),flip(a)].">
      <j1 rule="para" parents="1394 10"/>
      <j2 rule="rewrite" parents="10 10 10"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1442">
    <literal><![CDATA[
      x * (y * (x * (y * (y * x)))) = y * x
    ]]></literal>
    <justification jstring="[para(30(a,1),1394(a,1,2,2)),rewrite([10(10),10(9),10(8),10(7),30(9),10(7),10(6),10(5),10(4),1394(3),30(10)])].">
      <j1 rule="para" parents="30 1394"/>
      <j2 rule="rewrite" parents="10 10 10 10 30 10 10 10 10 1394 30"/>
    </justification>
  </clause>

  <clause id="1444">
    <literal><![CDATA[
      x * (x * (y * -x)) = y * -x
    ]]></literal>
    <justification jstring="[para(1394(a,1),486(a,1,1)),rewrite([486(2),486(5),486(4)]),flip(a)].">
      <j1 rule="para" parents="1394 486"/>
      <j2 rule="rewrite" parents="486 486 486"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1445">
    <literal><![CDATA[
      x * (y * (z + (x * (x * -z)))) = 0
    ]]></literal>
    <justification jstring="[para(1394(a,1),581(a,1,2))].">
      <j1 rule="para" parents="1394 581"/>
    </justification>
  </clause>

  <clause id="1501">
    <literal><![CDATA[
      x * (y + (x * (z * -x))) = (x * y) + (z * -x)
    ]]></literal>
    <justification jstring="[para(1444(a,1),7(a,1,2)),flip(a)].">
      <j1 rule="para" parents="1444 7"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="1760">
    <literal><![CDATA[
      x * (y + (y * (x * (x * (y * -y))))) = 0
    ]]></literal>
    <justification jstring="[para(26(a,1),1445(a,1,2)),rewrite([486(2)])].">
      <j1 rule="para" parents="26 1445"/>
      <j2 rule="rewrite" parents="486"/>
    </justification>
  </clause>

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

  <clause id="5110">
    <literal><![CDATA[
      x * (y * (x * (x * y))) = y * (x * y)
    ]]></literal>
    <justification jstring="[para(1394(a,1),1442(a,1,2,2,2)),rewrite([10(4),4615(5),10(4)])].">
      <j1 rule="para" parents="1394 1442"/>
      <j2 rule="rewrite" parents="10 4615 10"/>
    </justification>
  </clause>

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

  <clause id="10669">
    <literal><![CDATA[
      (x * y) + (y * (x * (y * -y))) = 0
    ]]></literal>
    <justification jstring="[para(1760(a,1),7(a,2)),rewrite([7615(7)])].">
      <j1 rule="para" parents="1760 7"/>
      <j2 rule="rewrite" parents="7615"/>
    </justification>
  </clause>

  <clause id="10755">
    <literal><![CDATA[
      (x + (y * (x * -y))) * y = 0
    ]]></literal>
    <justification jstring="[para(152(a,1),10669(a,1,1)),rewrite([168(7),4(8),602(7),62(3),486(2),5(4),641(8),20(5)])].">
      <j1 rule="para" parents="152 10669"/>
      <j2 rule="rewrite" parents="168 4 602 62 486 5 641 20"/>
    </justification>
  </clause>

  <clause id="11992">
    <literal><![CDATA[
      (x + (y * (x * -y))) * (y * z) = 0
    ]]></literal>
    <justification jstring="[para(10755(a,1),10(a,1,1)),rewrite([409(2)]),flip(a)].">
      <j1 rule="para" parents="10755 10"/>
      <j2 rule="rewrite" parents="409"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="13582">
    <literal><![CDATA[
      (x * y) + (y * -x) = 0
    ]]></literal>
    <justification jstring="[para(11992(a,1),1394(a,1,2)),rewrite([216(6),1501(6)]),flip(a)].">
      <j1 rule="para" parents="11992 1394"/>
      <j2 rule="rewrite" parents="216 1501"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="13656">
    <literal><![CDATA[
      x * y = y * x
    ]]></literal>
    <justification jstring="[para(13582(a,1),17(a,1,2)),rewrite([486(3),35(2),5(3),18(3)])].">
      <j1 rule="para" parents="13582 17"/>
      <j2 rule="rewrite" parents="486 35 5 18"/>
    </justification>
  </clause>

  <clause id="13657">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer(commutativity)
    ]]></attribute>
    <justification jstring="[resolve(13656,a,12,a)].">
      <j1 rule="resolve" parents="13656 12"/>
    </justification>
  </clause>

</proof>

</proofs>
