<?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="5">

<source>s1.out</source>

<heading><![CDATA[
Prover9 (32) version June-2007-, 12 June 2007.
Process 10669 was started by mccune on cleo,
Wed Jun 13 10:39:44 2007
The command was "prover9 -f s1.in".
]]></heading>

<proof number="1" length="41" max_count="34">

<comments><![CDATA[
% Proof 1 at 27.39 (+ 0.11) seconds: Winker2b.
% Length of proof is 41.
% Level of proof is 13.
% Maximum clause weight is 30.
% Given clauses 535.
]]></comments>

  <clause id="5" type="goal">
    <literal><![CDATA[
      (exists a exists b (a + b)' = b')
    ]]></literal>
    <attribute><![CDATA[
      answer(Winker2b)
    ]]></attribute>
    <attribute><![CDATA[
      label(non_clause)
    ]]></attribute>
    <attribute><![CDATA[
      label(goal)
    ]]></attribute>
    <justification jstring="[goal].">
      <j1 rule="goal"/>
    </justification>
  </clause>

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

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

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

  <clause id="9" type="assumption">
    <literal><![CDATA[
      g(x) = (x + x')'
    ]]></literal>
    <attribute><![CDATA[
      label(definition_g)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="11" type="assumption">
    <literal><![CDATA[
      h(x) = x + (x + (x + g(x)))
    ]]></literal>
    <attribute><![CDATA[
      label(definition_h)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="12">
    <literal><![CDATA[
      x + (x + (x + g(x))) = h(x)
    ]]></literal>
    <justification jstring="[copy(11),flip(a)].">
      <j1 rule="copy" parents="11"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="17" type="deny">
    <literal><![CDATA[
      (x + y)' != y'
    ]]></literal>
    <attribute><![CDATA[
      answer(Winker2b)
    ]]></attribute>
    <justification jstring="[deny(5)].">
      <j1 rule="deny" parents="5"/>
    </justification>
  </clause>

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

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

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

  <clause id="28">
    <literal><![CDATA[
      (g(x) + (x + x)')' = x
    ]]></literal>
    <justification jstring="[para(10(a,1),8(a,1,1,2)),rewrite([6(4)])].">
      <j1 rule="para" parents="10 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="29">
    <literal><![CDATA[
      h(x) + y = x + (x + (x + (g(x) + y)))
    ]]></literal>
    <justification jstring="[para(12(a,1),7(a,1,1)),rewrite([7(6),7(5)])].">
      <j1 rule="para" parents="12 7"/>
      <j2 rule="rewrite" parents="7 7"/>
    </justification>
  </clause>

  <clause id="30">
    <literal><![CDATA[
      x + h(y) = y + (y + (g(y) + (x + y)))
    ]]></literal>
    <justification jstring="[para(12(a,1),7(a,2,2)),rewrite([19(5),19(4),6(3)]),flip(a)].">
      <j1 rule="para" parents="12 7"/>
      <j2 rule="rewrite" parents="19 19 6"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="31">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + g(x)))')')' = x
    ]]></literal>
    <justification jstring="[para(12(a,1),8(a,1,1,1,1))].">
      <j1 rule="para" parents="12 8"/>
    </justification>
  </clause>

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

  <clause id="36">
    <literal><![CDATA[
      (x + (x + (x + g(x)))')' = g(x)
    ]]></literal>
    <justification jstring="[para(28(a,1),8(a,1,1,2)),rewrite([19(3),6(2),6(5)])].">
      <j1 rule="para" parents="28 8"/>
      <j2 rule="rewrite" parents="19 6 6"/>
    </justification>
  </clause>

  <clause id="37">
    <literal><![CDATA[
      (g(x) + h(x)')' = x
    ]]></literal>
    <justification jstring="[back_rewrite(31),rewrite([36(8),6(4)])].">
      <j1 rule="back_rewrite" parents="31"/>
      <j2 rule="rewrite" parents="36 6"/>
    </justification>
  </clause>

  <clause id="39">
    <literal><![CDATA[
      ((x + y)' + (x + (g(y) + h(y)'))')' = x
    ]]></literal>
    <justification jstring="[para(37(a,1),8(a,1,1,2,1,2)),rewrite([6(9)])].">
      <j1 rule="para" parents="37 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="40">
    <literal><![CDATA[
      (x + (g(x) + h(x))')' = g(x)
    ]]></literal>
    <justification jstring="[para(37(a,1),8(a,1,1,2)),rewrite([6(5)])].">
      <j1 rule="para" parents="37 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="43">
    <literal><![CDATA[
      (g(x) + (x + (g(x) + h(x)))')' = x
    ]]></literal>
    <justification jstring="[para(40(a,1),8(a,1,1,2)),rewrite([6(7)])].">
      <j1 rule="para" parents="40 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="49">
    <literal><![CDATA[
      ((x + (y + z))' + (z + (x + y)')')' = z
    ]]></literal>
    <justification jstring="[para(7(a,1),20(a,1,1,1,1))].">
      <j1 rule="para" parents="7 20"/>
    </justification>
  </clause>

  <clause id="53">
    <literal><![CDATA[
      (x + (x + (y' + (y + x)'))')' = (y + x)'
    ]]></literal>
    <justification jstring="[para(20(a,1),8(a,1,1,2)),rewrite([6(5),7(5),6(7)])].">
      <j1 rule="para" parents="20 8"/>
      <j2 rule="rewrite" parents="6 7 6"/>
    </justification>
  </clause>

  <clause id="95">
    <literal><![CDATA[
      (x + (x + (y + (x + y')'))')' = (x + y')'
    ]]></literal>
    <justification jstring="[para(8(a,1),21(a,1,1,2)),rewrite([6(5),7(5),6(7)])].">
      <j1 rule="para" parents="8 21"/>
      <j2 rule="rewrite" parents="6 7 6"/>
    </justification>
  </clause>

  <clause id="99">
    <literal><![CDATA[
      ((x + (g(y) + (y + y)'))' + (y + x)')' = x
    ]]></literal>
    <justification jstring="[para(28(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="28 21"/>
    </justification>
  </clause>

  <clause id="100">
    <literal><![CDATA[
      ((x + (g(y) + h(y)'))' + (y + x)')' = x
    ]]></literal>
    <justification jstring="[para(37(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="37 21"/>
    </justification>
  </clause>

  <clause id="109">
    <literal><![CDATA[
      ((x + (g(y) + (y + (g(y) + h(y)))'))' + (y + x)')' = x
    ]]></literal>
    <justification jstring="[para(43(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="43 21"/>
    </justification>
  </clause>

  <clause id="572">
    <literal><![CDATA[
      (x + (x + (g(y) + (h(y)' + (x + y)')))')' = (x + y)'
    ]]></literal>
    <justification jstring="[para(39(a,1),8(a,1,1,2)),rewrite([6(8),7(8),7(7),6(10)])].">
      <j1 rule="para" parents="39 8"/>
      <j2 rule="rewrite" parents="6 7 7 6"/>
    </justification>
  </clause>

  <clause id="1000">
    <literal><![CDATA[
      (h(x)' + (x + (g(x) + (x + x)'))')' = x + g(x)
    ]]></literal>
    <justification jstring="[para(12(a,1),49(a,1,1,1,1)),rewrite([7(7)])].">
      <j1 rule="para" parents="12 49"/>
      <j2 rule="rewrite" parents="7"/>
    </justification>
  </clause>

  <clause id="1477">
    <literal><![CDATA[
      (x + (x + (x + (g(x) + (x + (x + (x + (g(x) + (y' + (y + h(x))')))))'))))' = (y + h(x))'
    ]]></literal>
    <justification jstring="[para(29(a,1),53(a,1,1,2,1)),rewrite([29(13)])].">
      <j1 rule="para" parents="29 53"/>
      <j2 rule="rewrite" parents="29"/>
    </justification>
  </clause>

  <clause id="1812">
    <literal><![CDATA[
      (h(x)' + (x + (x + (g(x) + (g(x) + (x + x)'))))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[para(12(a,1),99(a,1,1,2,1)),rewrite([19(8),7(7),7(6),19(8),19(7),6(12)])].">
      <j1 rule="para" parents="12 99"/>
      <j2 rule="rewrite" parents="19 7 7 19 19 6"/>
    </justification>
  </clause>

  <clause id="4470">
    <literal><![CDATA[
      (x + (g(x) + (x + (g(x) + (h(x)' + (x + x)')))'))' = h(x)'
    ]]></literal>
    <justification jstring="[para(1000(a,1),8(a,1,1,2)),rewrite([19(8),19(7),6(12),7(12)])].">
      <j1 rule="para" parents="1000 8"/>
      <j2 rule="rewrite" parents="19 19 6 7"/>
    </justification>
  </clause>

  <clause id="14619">
    <literal><![CDATA[
      (x + h(x)')' = g(x)
    ]]></literal>
    <justification jstring="[para(4470(a,1),32(a,1,1,1)),rewrite([572(14),28(7),6(3)])].">
      <j1 rule="para" parents="4470 32"/>
      <j2 rule="rewrite" parents="572 28 6"/>
    </justification>
  </clause>

  <clause id="14683">
    <literal><![CDATA[
      (x + (x + (g(x) + h(x)))')' = g(x)
    ]]></literal>
    <justification jstring="[para(14619(a,1),95(a,1,1,2,1,2,2)),rewrite([6(3),14619(11)])].">
      <j1 rule="para" parents="14619 95"/>
      <j2 rule="rewrite" parents="6 14619"/>
    </justification>
  </clause>

  <clause id="14690">
    <literal><![CDATA[
      (g(x) + (g(x) + (h(x)' + (x + (g(x) + h(x)))'))')' = h(x)'
    ]]></literal>
    <justification jstring="[para(14619(a,1),109(a,1,1,2)),rewrite([19(10),6(13)])].">
      <j1 rule="para" parents="14619 109"/>
      <j2 rule="rewrite" parents="19 6"/>
    </justification>
  </clause>

  <clause id="14993">
    <literal><![CDATA[
      (x + (g(x) + h(x)))' = h(x)'
    ]]></literal>
    <justification jstring="[para(14683(a,1),100(a,1,1,2)),rewrite([6(10),7(10),6(13),14690(14)]),flip(a)].">
      <j1 rule="para" parents="14683 100"/>
      <j2 rule="rewrite" parents="6 7 6 14690"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="15004">
    <literal><![CDATA[
      (x + (x + (x + (x + (g(x) + g(x))))))' = h(x)'
    ]]></literal>
    <justification jstring="[para(30(a,1),14993(a,1,1,2)),rewrite([6(3),19(4)])].">
      <j1 rule="para" parents="30 14993"/>
      <j2 rule="rewrite" parents="6 19"/>
    </justification>
  </clause>

  <clause id="16389">
    <literal><![CDATA[
      x + (x + (g(x) + g(x))) = x + (x + g(x))
    ]]></literal>
    <justification jstring="[para(15004(a,1),49(a,1,1,1)),rewrite([7(10),7(9),7(8),1812(13)]),flip(a)].">
      <j1 rule="para" parents="15004 49"/>
      <j2 rule="rewrite" parents="7 7 7 1812"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="16397">
    <literal><![CDATA[
      (x + h(x))' = h(x)'
    ]]></literal>
    <justification jstring="[para(15004(a,1),53(a,2)),rewrite([16389(5),12(4),16389(6),12(5),16389(8),12(7),29(8),29(13),1477(17)])].">
      <j1 rule="para" parents="15004 53"/>
      <j2 rule="rewrite" parents="16389 12 16389 12 16389 12 29 29 1477"/>
    </justification>
  </clause>

  <clause id="16398">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer(Winker2b)
    ]]></attribute>
    <justification jstring="[resolve(16397,a,17,a)].">
      <j1 rule="resolve" parents="16397 17"/>
    </justification>
  </clause>

</proof>

<proof number="2" length="39" max_count="27">

<comments><![CDATA[
% Proof 2 at 28.11 (+ 0.11) seconds: Winker1b.
% Length of proof is 39.
% Level of proof is 13.
% Maximum clause weight is 23.
% Given clauses 540.
]]></comments>

  <clause id="3" type="goal">
    <literal><![CDATA[
      (exists a exists b a + b = b)
    ]]></literal>
    <attribute><![CDATA[
      answer(Winker1b)
    ]]></attribute>
    <attribute><![CDATA[
      label(non_clause)
    ]]></attribute>
    <attribute><![CDATA[
      label(goal)
    ]]></attribute>
    <justification jstring="[goal].">
      <j1 rule="goal"/>
    </justification>
  </clause>

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

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

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

  <clause id="9" type="assumption">
    <literal><![CDATA[
      g(x) = (x + x')'
    ]]></literal>
    <attribute><![CDATA[
      label(definition_g)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="11" type="assumption">
    <literal><![CDATA[
      h(x) = x + (x + (x + g(x)))
    ]]></literal>
    <attribute><![CDATA[
      label(definition_h)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="12">
    <literal><![CDATA[
      x + (x + (x + g(x))) = h(x)
    ]]></literal>
    <justification jstring="[copy(11),flip(a)].">
      <j1 rule="copy" parents="11"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="15" type="deny">
    <literal><![CDATA[
      x + y != y
    ]]></literal>
    <attribute><![CDATA[
      answer(Winker1b)
    ]]></attribute>
    <justification jstring="[deny(3)].">
      <j1 rule="deny" parents="3"/>
    </justification>
  </clause>

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

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

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

  <clause id="28">
    <literal><![CDATA[
      (g(x) + (x + x)')' = x
    ]]></literal>
    <justification jstring="[para(10(a,1),8(a,1,1,2)),rewrite([6(4)])].">
      <j1 rule="para" parents="10 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="29">
    <literal><![CDATA[
      h(x) + y = x + (x + (x + (g(x) + y)))
    ]]></literal>
    <justification jstring="[para(12(a,1),7(a,1,1)),rewrite([7(6),7(5)])].">
      <j1 rule="para" parents="12 7"/>
      <j2 rule="rewrite" parents="7 7"/>
    </justification>
  </clause>

  <clause id="30">
    <literal><![CDATA[
      x + h(y) = y + (y + (g(y) + (x + y)))
    ]]></literal>
    <justification jstring="[para(12(a,1),7(a,2,2)),rewrite([19(5),19(4),6(3)]),flip(a)].">
      <j1 rule="para" parents="12 7"/>
      <j2 rule="rewrite" parents="19 19 6"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="31">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + g(x)))')')' = x
    ]]></literal>
    <justification jstring="[para(12(a,1),8(a,1,1,1,1))].">
      <j1 rule="para" parents="12 8"/>
    </justification>
  </clause>

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

  <clause id="36">
    <literal><![CDATA[
      (x + (x + (x + g(x)))')' = g(x)
    ]]></literal>
    <justification jstring="[para(28(a,1),8(a,1,1,2)),rewrite([19(3),6(2),6(5)])].">
      <j1 rule="para" parents="28 8"/>
      <j2 rule="rewrite" parents="19 6 6"/>
    </justification>
  </clause>

  <clause id="37">
    <literal><![CDATA[
      (g(x) + h(x)')' = x
    ]]></literal>
    <justification jstring="[back_rewrite(31),rewrite([36(8),6(4)])].">
      <j1 rule="back_rewrite" parents="31"/>
      <j2 rule="rewrite" parents="36 6"/>
    </justification>
  </clause>

  <clause id="39">
    <literal><![CDATA[
      ((x + y)' + (x + (g(y) + h(y)'))')' = x
    ]]></literal>
    <justification jstring="[para(37(a,1),8(a,1,1,2,1,2)),rewrite([6(9)])].">
      <j1 rule="para" parents="37 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="40">
    <literal><![CDATA[
      (x + (g(x) + h(x))')' = g(x)
    ]]></literal>
    <justification jstring="[para(37(a,1),8(a,1,1,2)),rewrite([6(5)])].">
      <j1 rule="para" parents="37 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="43">
    <literal><![CDATA[
      (g(x) + (x + (g(x) + h(x)))')' = x
    ]]></literal>
    <justification jstring="[para(40(a,1),8(a,1,1,2)),rewrite([6(7)])].">
      <j1 rule="para" parents="40 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="49">
    <literal><![CDATA[
      ((x + (y + z))' + (z + (x + y)')')' = z
    ]]></literal>
    <justification jstring="[para(7(a,1),20(a,1,1,1,1))].">
      <j1 rule="para" parents="7 20"/>
    </justification>
  </clause>

  <clause id="95">
    <literal><![CDATA[
      (x + (x + (y + (x + y')'))')' = (x + y')'
    ]]></literal>
    <justification jstring="[para(8(a,1),21(a,1,1,2)),rewrite([6(5),7(5),6(7)])].">
      <j1 rule="para" parents="8 21"/>
      <j2 rule="rewrite" parents="6 7 6"/>
    </justification>
  </clause>

  <clause id="99">
    <literal><![CDATA[
      ((x + (g(y) + (y + y)'))' + (y + x)')' = x
    ]]></literal>
    <justification jstring="[para(28(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="28 21"/>
    </justification>
  </clause>

  <clause id="100">
    <literal><![CDATA[
      ((x + (g(y) + h(y)'))' + (y + x)')' = x
    ]]></literal>
    <justification jstring="[para(37(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="37 21"/>
    </justification>
  </clause>

  <clause id="109">
    <literal><![CDATA[
      ((x + (g(y) + (y + (g(y) + h(y)))'))' + (y + x)')' = x
    ]]></literal>
    <justification jstring="[para(43(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="43 21"/>
    </justification>
  </clause>

  <clause id="572">
    <literal><![CDATA[
      (x + (x + (g(y) + (h(y)' + (x + y)')))')' = (x + y)'
    ]]></literal>
    <justification jstring="[para(39(a,1),8(a,1,1,2)),rewrite([6(8),7(8),7(7),6(10)])].">
      <j1 rule="para" parents="39 8"/>
      <j2 rule="rewrite" parents="6 7 7 6"/>
    </justification>
  </clause>

  <clause id="1000">
    <literal><![CDATA[
      (h(x)' + (x + (g(x) + (x + x)'))')' = x + g(x)
    ]]></literal>
    <justification jstring="[para(12(a,1),49(a,1,1,1,1)),rewrite([7(7)])].">
      <j1 rule="para" parents="12 49"/>
      <j2 rule="rewrite" parents="7"/>
    </justification>
  </clause>

  <clause id="1812">
    <literal><![CDATA[
      (h(x)' + (x + (x + (g(x) + (g(x) + (x + x)'))))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[para(12(a,1),99(a,1,1,2,1)),rewrite([19(8),7(7),7(6),19(8),19(7),6(12)])].">
      <j1 rule="para" parents="12 99"/>
      <j2 rule="rewrite" parents="19 7 7 19 19 6"/>
    </justification>
  </clause>

  <clause id="4470">
    <literal><![CDATA[
      (x + (g(x) + (x + (g(x) + (h(x)' + (x + x)')))'))' = h(x)'
    ]]></literal>
    <justification jstring="[para(1000(a,1),8(a,1,1,2)),rewrite([19(8),19(7),6(12),7(12)])].">
      <j1 rule="para" parents="1000 8"/>
      <j2 rule="rewrite" parents="19 19 6 7"/>
    </justification>
  </clause>

  <clause id="14619">
    <literal><![CDATA[
      (x + h(x)')' = g(x)
    ]]></literal>
    <justification jstring="[para(4470(a,1),32(a,1,1,1)),rewrite([572(14),28(7),6(3)])].">
      <j1 rule="para" parents="4470 32"/>
      <j2 rule="rewrite" parents="572 28 6"/>
    </justification>
  </clause>

  <clause id="14683">
    <literal><![CDATA[
      (x + (x + (g(x) + h(x)))')' = g(x)
    ]]></literal>
    <justification jstring="[para(14619(a,1),95(a,1,1,2,1,2,2)),rewrite([6(3),14619(11)])].">
      <j1 rule="para" parents="14619 95"/>
      <j2 rule="rewrite" parents="6 14619"/>
    </justification>
  </clause>

  <clause id="14690">
    <literal><![CDATA[
      (g(x) + (g(x) + (h(x)' + (x + (g(x) + h(x)))'))')' = h(x)'
    ]]></literal>
    <justification jstring="[para(14619(a,1),109(a,1,1,2)),rewrite([19(10),6(13)])].">
      <j1 rule="para" parents="14619 109"/>
      <j2 rule="rewrite" parents="19 6"/>
    </justification>
  </clause>

  <clause id="14993">
    <literal><![CDATA[
      (x + (g(x) + h(x)))' = h(x)'
    ]]></literal>
    <justification jstring="[para(14683(a,1),100(a,1,1,2)),rewrite([6(10),7(10),6(13),14690(14)]),flip(a)].">
      <j1 rule="para" parents="14683 100"/>
      <j2 rule="rewrite" parents="6 7 6 14690"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="15004">
    <literal><![CDATA[
      (x + (x + (x + (x + (g(x) + g(x))))))' = h(x)'
    ]]></literal>
    <justification jstring="[para(30(a,1),14993(a,1,1,2)),rewrite([6(3),19(4)])].">
      <j1 rule="para" parents="30 14993"/>
      <j2 rule="rewrite" parents="6 19"/>
    </justification>
  </clause>

  <clause id="16389">
    <literal><![CDATA[
      x + (x + (g(x) + g(x))) = x + (x + g(x))
    ]]></literal>
    <justification jstring="[para(15004(a,1),49(a,1,1,1)),rewrite([7(10),7(9),7(8),1812(13)]),flip(a)].">
      <j1 rule="para" parents="15004 49"/>
      <j2 rule="rewrite" parents="7 7 7 1812"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="16824">
    <literal><![CDATA[
      g(x) + h(x) = h(x)
    ]]></literal>
    <justification jstring="[para(16389(a,1),29(a,2,2)),rewrite([6(3),12(7)])].">
      <j1 rule="para" parents="16389 29"/>
      <j2 rule="rewrite" parents="6 12"/>
    </justification>
  </clause>

  <clause id="16825">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer(Winker1b)
    ]]></attribute>
    <justification jstring="[resolve(16824,a,15,a)].">
      <j1 rule="resolve" parents="16824 15"/>
    </justification>
  </clause>

</proof>

<proof number="3" length="93" max_count="34">

<comments><![CDATA[
% Proof 3 at 43.29 (+ 0.15) seconds: Winker1a.
% Length of proof is 93.
% Level of proof is 23.
% Maximum clause weight is 30.
% Given clauses 687.
]]></comments>

  <clause id="2" type="goal">
    <literal><![CDATA[
      (exists a exists b a + b = a)
    ]]></literal>
    <attribute><![CDATA[
      answer(Winker1a)
    ]]></attribute>
    <attribute><![CDATA[
      label(non_clause)
    ]]></attribute>
    <attribute><![CDATA[
      label(goal)
    ]]></attribute>
    <justification jstring="[goal].">
      <j1 rule="goal"/>
    </justification>
  </clause>

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

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

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

  <clause id="9" type="assumption">
    <literal><![CDATA[
      g(x) = (x + x')'
    ]]></literal>
    <attribute><![CDATA[
      label(definition_g)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="11" type="assumption">
    <literal><![CDATA[
      h(x) = x + (x + (x + g(x)))
    ]]></literal>
    <attribute><![CDATA[
      label(definition_h)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="12">
    <literal><![CDATA[
      x + (x + (x + g(x))) = h(x)
    ]]></literal>
    <justification jstring="[copy(11),flip(a)].">
      <j1 rule="copy" parents="11"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="14" type="deny">
    <literal><![CDATA[
      x + y != x
    ]]></literal>
    <attribute><![CDATA[
      answer(Winker1a)
    ]]></attribute>
    <justification jstring="[deny(2)].">
      <j1 rule="deny" parents="2"/>
    </justification>
  </clause>

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

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

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

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

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

  <clause id="28">
    <literal><![CDATA[
      (g(x) + (x + x)')' = x
    ]]></literal>
    <justification jstring="[para(10(a,1),8(a,1,1,2)),rewrite([6(4)])].">
      <j1 rule="para" parents="10 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="29">
    <literal><![CDATA[
      h(x) + y = x + (x + (x + (g(x) + y)))
    ]]></literal>
    <justification jstring="[para(12(a,1),7(a,1,1)),rewrite([7(6),7(5)])].">
      <j1 rule="para" parents="12 7"/>
      <j2 rule="rewrite" parents="7 7"/>
    </justification>
  </clause>

  <clause id="30">
    <literal><![CDATA[
      x + h(y) = y + (y + (g(y) + (x + y)))
    ]]></literal>
    <justification jstring="[para(12(a,1),7(a,2,2)),rewrite([19(5),19(4),6(3)]),flip(a)].">
      <j1 rule="para" parents="12 7"/>
      <j2 rule="rewrite" parents="19 19 6"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="31">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + g(x)))')')' = x
    ]]></literal>
    <justification jstring="[para(12(a,1),8(a,1,1,1,1))].">
      <j1 rule="para" parents="12 8"/>
    </justification>
  </clause>

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

  <clause id="36">
    <literal><![CDATA[
      (x + (x + (x + g(x)))')' = g(x)
    ]]></literal>
    <justification jstring="[para(28(a,1),8(a,1,1,2)),rewrite([19(3),6(2),6(5)])].">
      <j1 rule="para" parents="28 8"/>
      <j2 rule="rewrite" parents="19 6 6"/>
    </justification>
  </clause>

  <clause id="37">
    <literal><![CDATA[
      (g(x) + h(x)')' = x
    ]]></literal>
    <justification jstring="[back_rewrite(31),rewrite([36(8),6(4)])].">
      <j1 rule="back_rewrite" parents="31"/>
      <j2 rule="rewrite" parents="36 6"/>
    </justification>
  </clause>

  <clause id="39">
    <literal><![CDATA[
      ((x + y)' + (x + (g(y) + h(y)'))')' = x
    ]]></literal>
    <justification jstring="[para(37(a,1),8(a,1,1,2,1,2)),rewrite([6(9)])].">
      <j1 rule="para" parents="37 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="40">
    <literal><![CDATA[
      (x + (g(x) + h(x))')' = g(x)
    ]]></literal>
    <justification jstring="[para(37(a,1),8(a,1,1,2)),rewrite([6(5)])].">
      <j1 rule="para" parents="37 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="43">
    <literal><![CDATA[
      (g(x) + (x + (g(x) + h(x)))')' = x
    ]]></literal>
    <justification jstring="[para(40(a,1),8(a,1,1,2)),rewrite([6(7)])].">
      <j1 rule="para" parents="40 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="49">
    <literal><![CDATA[
      ((x + (y + z))' + (z + (x + y)')')' = z
    ]]></literal>
    <justification jstring="[para(7(a,1),20(a,1,1,1,1))].">
      <j1 rule="para" parents="7 20"/>
    </justification>
  </clause>

  <clause id="53">
    <literal><![CDATA[
      (x + (x + (y' + (y + x)'))')' = (y + x)'
    ]]></literal>
    <justification jstring="[para(20(a,1),8(a,1,1,2)),rewrite([6(5),7(5),6(7)])].">
      <j1 rule="para" parents="20 8"/>
      <j2 rule="rewrite" parents="6 7 6"/>
    </justification>
  </clause>

  <clause id="58">
    <literal><![CDATA[
      (h(x)' + (x + (x + (g(x) + x')))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[para(12(a,1),20(a,1,1,1,1)),rewrite([7(7),7(6)])].">
      <j1 rule="para" parents="12 20"/>
      <j2 rule="rewrite" parents="7 7"/>
    </justification>
  </clause>

  <clause id="89">
    <literal><![CDATA[
      ((x' + y)' + (y + x)')' = y
    ]]></literal>
    <justification jstring="[para(6(a,1),21(a,1,1))].">
      <j1 rule="para" parents="6 21"/>
    </justification>
  </clause>

  <clause id="95">
    <literal><![CDATA[
      (x + (x + (y + (x + y')'))')' = (x + y')'
    ]]></literal>
    <justification jstring="[para(8(a,1),21(a,1,1,2)),rewrite([6(5),7(5),6(7)])].">
      <j1 rule="para" parents="8 21"/>
      <j2 rule="rewrite" parents="6 7 6"/>
    </justification>
  </clause>

  <clause id="96">
    <literal><![CDATA[
      ((x + (y + y'))' + (g(y) + x)')' = x
    ]]></literal>
    <justification jstring="[para(10(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="10 21"/>
    </justification>
  </clause>

  <clause id="99">
    <literal><![CDATA[
      ((x + (g(y) + (y + y)'))' + (y + x)')' = x
    ]]></literal>
    <justification jstring="[para(28(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="28 21"/>
    </justification>
  </clause>

  <clause id="100">
    <literal><![CDATA[
      ((x + (g(y) + h(y)'))' + (y + x)')' = x
    ]]></literal>
    <justification jstring="[para(37(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="37 21"/>
    </justification>
  </clause>

  <clause id="109">
    <literal><![CDATA[
      ((x + (g(y) + (y + (g(y) + h(y)))'))' + (y + x)')' = x
    ]]></literal>
    <justification jstring="[para(43(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="43 21"/>
    </justification>
  </clause>

  <clause id="119">
    <literal><![CDATA[
      x + h(y) = y + (y + (y + (g(y) + x)))
    ]]></literal>
    <justification jstring="[para(29(a,1),6(a,1)),flip(a)].">
      <j1 rule="para" parents="29 6"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="121">
    <literal><![CDATA[
      ((x + (x + (x + (g(x) + y))))' + (y + h(x)')')' = y
    ]]></literal>
    <justification jstring="[para(29(a,1),20(a,1,1,1,1))].">
      <j1 rule="para" parents="29 20"/>
    </justification>
  </clause>

  <clause id="325">
    <literal><![CDATA[
      ((x + y)' + (y + (g(x) + h(x)'))')' = y
    ]]></literal>
    <justification jstring="[para(37(a,1),89(a,1,1,1,1,1))].">
      <j1 rule="para" parents="37 89"/>
    </justification>
  </clause>

  <clause id="429">
    <literal><![CDATA[
      x + h(y) = y + (y + (y + (x + g(y))))
    ]]></literal>
    <justification jstring="[para(6(a,1),119(a,2,2,2,2))].">
      <j1 rule="para" parents="6 119"/>
    </justification>
  </clause>

  <clause id="435">
    <literal><![CDATA[
      x + (y + h(z)) = z + (x + (z + (z + (g(z) + y))))
    ]]></literal>
    <justification jstring="[para(119(a,2),19(a,1,2))].">
      <j1 rule="para" parents="119 19"/>
    </justification>
  </clause>

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

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

  <clause id="572">
    <literal><![CDATA[
      (x + (x + (g(y) + (h(y)' + (x + y)')))')' = (x + y)'
    ]]></literal>
    <justification jstring="[para(39(a,1),8(a,1,1,2)),rewrite([6(8),7(8),7(7),6(10)])].">
      <j1 rule="para" parents="39 8"/>
      <j2 rule="rewrite" parents="6 7 7 6"/>
    </justification>
  </clause>

  <clause id="795">
    <literal><![CDATA[
      (h(x)' + (x + (x + (g(x) + (g(x) + h(x)'))))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[para(12(a,1),100(a,1,1,2,1)),rewrite([19(8),7(7),7(6),19(8),19(7),6(12)])].">
      <j1 rule="para" parents="12 100"/>
      <j2 rule="rewrite" parents="19 7 7 19 19 6"/>
    </justification>
  </clause>

  <clause id="1000">
    <literal><![CDATA[
      (h(x)' + (x + (g(x) + (x + x)'))')' = x + g(x)
    ]]></literal>
    <justification jstring="[para(12(a,1),49(a,1,1,1,1)),rewrite([7(7)])].">
      <j1 rule="para" parents="12 49"/>
      <j2 rule="rewrite" parents="7"/>
    </justification>
  </clause>

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

  <clause id="1477">
    <literal><![CDATA[
      (x + (x + (x + (g(x) + (x + (x + (x + (g(x) + (y' + (y + h(x))')))))'))))' = (y + h(x))'
    ]]></literal>
    <justification jstring="[para(29(a,1),53(a,1,1,2,1)),rewrite([29(13)])].">
      <j1 rule="para" parents="29 53"/>
      <j2 rule="rewrite" parents="29"/>
    </justification>
  </clause>

  <clause id="1812">
    <literal><![CDATA[
      (h(x)' + (x + (x + (g(x) + (g(x) + (x + x)'))))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[para(12(a,1),99(a,1,1,2,1)),rewrite([19(8),7(7),7(6),19(8),19(7),6(12)])].">
      <j1 rule="para" parents="12 99"/>
      <j2 rule="rewrite" parents="19 7 7 19 19 6"/>
    </justification>
  </clause>

  <clause id="1814">
    <literal><![CDATA[
      (g(x) + (g(x) + ((x + x)' + (g(x) + h(x))'))')' = (g(x) + h(x))'
    ]]></literal>
    <justification jstring="[para(40(a,1),99(a,1,1,2)),rewrite([6(9),7(9),6(12)])].">
      <j1 rule="para" parents="40 99"/>
      <j2 rule="rewrite" parents="6 7 6"/>
    </justification>
  </clause>

  <clause id="3554">
    <literal><![CDATA[
      x + (y + (g(x) + (z + h(x)))) = y + (x + (x + (x + (x + (g(x) + (z + g(x)))))))
    ]]></literal>
    <justification jstring="[para(462(a,2),435(a,2,2,2)),rewrite([6(5),19(5),29(4)]),flip(a)].">
      <j1 rule="para" parents="462 435"/>
      <j2 rule="rewrite" parents="6 19 29"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="4470">
    <literal><![CDATA[
      (x + (g(x) + (x + (g(x) + (h(x)' + (x + x)')))'))' = h(x)'
    ]]></literal>
    <justification jstring="[para(1000(a,1),8(a,1,1,2)),rewrite([19(8),19(7),6(12),7(12)])].">
      <j1 rule="para" parents="1000 8"/>
      <j2 rule="rewrite" parents="19 19 6 7"/>
    </justification>
  </clause>

  <clause id="7586">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (x + (g(x) + (g(x) + (x' + h(x)')))))))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[para(58(a,1),95(a,1,1,2,1,2,2)),rewrite([6(13),19(13),19(12),19(11),7(10),7(9),19(11),19(10),6(14),7(14),7(13),7(12),7(11),7(10),7(9),58(27)])].">
      <j1 rule="para" parents="58 95"/>
      <j2 rule="rewrite" parents="6 19 19 19 7 7 19 19 6 7 7 7 7 7 7 58"/>
    </justification>
  </clause>

  <clause id="14441">
    <literal><![CDATA[
      (g(x) + (g(x) + ((x + x)' + (x + (x + (x + (g(x) + g(x)))))'))')' = (g(x) + h(x))'
    ]]></literal>
    <justification jstring="[para(30(a,1),1814(a,1,1,2,1,2,2,1)),rewrite([6(7),19(8)])].">
      <j1 rule="para" parents="30 1814"/>
      <j2 rule="rewrite" parents="6 19"/>
    </justification>
  </clause>

  <clause id="14619">
    <literal><![CDATA[
      (x + h(x)')' = g(x)
    ]]></literal>
    <justification jstring="[para(4470(a,1),32(a,1,1,1)),rewrite([572(14),28(7),6(3)])].">
      <j1 rule="para" parents="4470 32"/>
      <j2 rule="rewrite" parents="572 28 6"/>
    </justification>
  </clause>

  <clause id="14629">
    <literal><![CDATA[
      (g(x) + (x + h(x))')' = x
    ]]></literal>
    <justification jstring="[para(14619(a,1),8(a,1,1,2)),rewrite([6(5)])].">
      <j1 rule="para" parents="14619 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="14660">
    <literal><![CDATA[
      (g(x) + (g(x) + (h(x)' + (x + x)'))')' = h(x)'
    ]]></literal>
    <justification jstring="[para(14619(a,1),99(a,1,1,2)),rewrite([19(7),6(10)])].">
      <j1 rule="para" parents="14619 99"/>
      <j2 rule="rewrite" parents="19 6"/>
    </justification>
  </clause>

  <clause id="14683">
    <literal><![CDATA[
      (x + (x + (g(x) + h(x)))')' = g(x)
    ]]></literal>
    <justification jstring="[para(14619(a,1),95(a,1,1,2,1,2,2)),rewrite([6(3),14619(11)])].">
      <j1 rule="para" parents="14619 95"/>
      <j2 rule="rewrite" parents="6 14619"/>
    </justification>
  </clause>

  <clause id="14690">
    <literal><![CDATA[
      (g(x) + (g(x) + (h(x)' + (x + (g(x) + h(x)))'))')' = h(x)'
    ]]></literal>
    <justification jstring="[para(14619(a,1),109(a,1,1,2)),rewrite([19(10),6(13)])].">
      <j1 rule="para" parents="14619 109"/>
      <j2 rule="rewrite" parents="19 6"/>
    </justification>
  </clause>

  <clause id="14817">
    <literal><![CDATA[
      (g(x) + (x + (x + (g(x) + h(x))))')' = x
    ]]></literal>
    <justification jstring="[para(14629(a,1),95(a,1,1,2,1,2,2)),rewrite([6(5),19(6),19(5),14629(15)])].">
      <j1 rule="para" parents="14629 95"/>
      <j2 rule="rewrite" parents="6 19 19 14629"/>
    </justification>
  </clause>

  <clause id="14993">
    <literal><![CDATA[
      (x + (g(x) + h(x)))' = h(x)'
    ]]></literal>
    <justification jstring="[para(14683(a,1),100(a,1,1,2)),rewrite([6(10),7(10),6(13),14690(14)]),flip(a)].">
      <j1 rule="para" parents="14683 100"/>
      <j2 rule="rewrite" parents="6 7 6 14690"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="14997">
    <literal><![CDATA[
      (x + (x + (x + (x + (x + (x + (g(x) + (g(x) + g(x))))))))')' = g(x)
    ]]></literal>
    <justification jstring="[para(14683(a,1),95(a,1,1,2,1,2,2)),rewrite([6(6),19(6),3554(7),14993(18),14619(17)])].">
      <j1 rule="para" parents="14683 95"/>
      <j2 rule="rewrite" parents="6 19 3554 14993 14619"/>
    </justification>
  </clause>

  <clause id="15004">
    <literal><![CDATA[
      (x + (x + (x + (x + (g(x) + g(x))))))' = h(x)'
    ]]></literal>
    <justification jstring="[para(30(a,1),14993(a,1,1,2)),rewrite([6(3),19(4)])].">
      <j1 rule="para" parents="30 14993"/>
      <j2 rule="rewrite" parents="6 19"/>
    </justification>
  </clause>

  <clause id="15005">
    <literal><![CDATA[
      (h(x)' + (x + (g(x) + h(x)'))')' = x + g(x)
    ]]></literal>
    <justification jstring="[para(14993(a,1),22(a,1,1,1))].">
      <j1 rule="para" parents="14993 22"/>
    </justification>
  </clause>

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

  <clause id="16389">
    <literal><![CDATA[
      x + (x + (g(x) + g(x))) = x + (x + g(x))
    ]]></literal>
    <justification jstring="[para(15004(a,1),49(a,1,1,1)),rewrite([7(10),7(9),7(8),1812(13)]),flip(a)].">
      <j1 rule="para" parents="15004 49"/>
      <j2 rule="rewrite" parents="7 7 7 1812"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="16393">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (g(x) + (g(x) + h(x)')))))')' = h(x)
    ]]></literal>
    <justification jstring="[para(15004(a,1),325(a,1,1,1)),rewrite([16389(7),12(6),19(8),29(7),19(11),19(10),19(9),16389(19),12(18)])].">
      <j1 rule="para" parents="15004 325"/>
      <j2 rule="rewrite" parents="16389 12 19 29 19 19 19 16389 12"/>
    </justification>
  </clause>

  <clause id="16397">
    <literal><![CDATA[
      (x + h(x))' = h(x)'
    ]]></literal>
    <justification jstring="[para(15004(a,1),53(a,2)),rewrite([16389(5),12(4),16389(6),12(5),16389(8),12(7),29(8),29(13),1477(17)])].">
      <j1 rule="para" parents="15004 53"/>
      <j2 rule="rewrite" parents="16389 12 16389 12 16389 12 29 29 1477"/>
    </justification>
  </clause>

  <clause id="16490">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (x + (x + (x + (g(x) + (g(x) + (x' + h(x)')))))))))')' = h(x)
    ]]></literal>
    <justification jstring="[para(15004(a,1),1463(a,1,1,1)),rewrite([16389(7),12(6),16389(8),12(7),16389(10),12(9),16397(8),29(9),19(13),19(12),19(11),19(10),29(9),19(13),19(12),19(11),16389(24),12(23)])].">
      <j1 rule="para" parents="15004 1463"/>
      <j2 rule="rewrite" parents="16389 12 16389 12 16389 12 16397 29 19 19 19 19 29 19 19 19 16389 12"/>
    </justification>
  </clause>

  <clause id="16497">
    <literal><![CDATA[
      (g(x) + (x + (x + h(x)))')' = x
    ]]></literal>
    <justification jstring="[back_rewrite(15465),rewrite([16389(6),12(5)])].">
      <j1 rule="back_rewrite" parents="15465"/>
      <j2 rule="rewrite" parents="16389 12"/>
    </justification>
  </clause>

  <clause id="16498">
    <literal><![CDATA[
      (g(x) + h(x))' = h(x)'
    ]]></literal>
    <justification jstring="[back_rewrite(14441),rewrite([16389(9),12(8),6(7),14660(11)]),flip(a)].">
      <j1 rule="back_rewrite" parents="14441"/>
      <j2 rule="rewrite" parents="16389 12 6 14660"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="16606">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (x + (g(x) + x')))))')' = h(x)
    ]]></literal>
    <justification jstring="[para(16498(a,1),96(a,1,1,2)),rewrite([19(4),29(3),6(11)])].">
      <j1 rule="para" parents="16498 96"/>
      <j2 rule="rewrite" parents="19 29 6"/>
    </justification>
  </clause>

  <clause id="16705">
    <literal><![CDATA[
      ((x + (g(y) + (y + (y + h(y)))'))' + (y + x)')' = x
    ]]></literal>
    <justification jstring="[para(16497(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="16497 21"/>
    </justification>
  </clause>

  <clause id="16819">
    <literal><![CDATA[
      x + (x + (g(x) + (g(x) + y))) = x + (x + (g(x) + y))
    ]]></literal>
    <justification jstring="[para(16389(a,1),7(a,1,1)),rewrite([7(4),7(3),7(9),7(8)]),flip(a)].">
      <j1 rule="para" parents="16389 7"/>
      <j2 rule="rewrite" parents="7 7 7 7"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="16824">
    <literal><![CDATA[
      g(x) + h(x) = h(x)
    ]]></literal>
    <justification jstring="[para(16389(a,1),29(a,2,2)),rewrite([6(3),12(7)])].">
      <j1 rule="para" parents="16389 29"/>
      <j2 rule="rewrite" parents="6 12"/>
    </justification>
  </clause>

  <clause id="16882">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (x + (x + (x + (g(x) + (x' + h(x)'))))))))')' = h(x)
    ]]></literal>
    <justification jstring="[back_rewrite(16490),rewrite([16819(12)])].">
      <j1 rule="back_rewrite" parents="16490"/>
      <j2 rule="rewrite" parents="16819"/>
    </justification>
  </clause>

  <clause id="16886">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (g(x) + h(x)'))))')' = h(x)
    ]]></literal>
    <justification jstring="[back_rewrite(16393),rewrite([16819(10)])].">
      <j1 rule="back_rewrite" parents="16393"/>
      <j2 rule="rewrite" parents="16819"/>
    </justification>
  </clause>

  <clause id="16899">
    <literal><![CDATA[
      (x + (x + (x + h(x)))')' = g(x)
    ]]></literal>
    <justification jstring="[back_rewrite(14997),rewrite([16819(7),16389(5),12(4)])].">
      <j1 rule="back_rewrite" parents="14997"/>
      <j2 rule="rewrite" parents="16819 16389 12"/>
    </justification>
  </clause>

  <clause id="16967">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (x + (g(x) + (x' + h(x)'))))))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[back_rewrite(7586),rewrite([16819(12)])].">
      <j1 rule="back_rewrite" parents="7586"/>
      <j2 rule="rewrite" parents="16819"/>
    </justification>
  </clause>

  <clause id="17024">
    <literal><![CDATA[
      (h(x)' + (x + (x + (g(x) + h(x)')))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[back_rewrite(795),rewrite([16819(10)])].">
      <j1 rule="back_rewrite" parents="795"/>
      <j2 rule="rewrite" parents="16819"/>
    </justification>
  </clause>

  <clause id="17060">
    <literal><![CDATA[
      x + (x + (x + (y + (g(x) + g(x))))) = y + h(x)
    ]]></literal>
    <justification jstring="[para(16824(a,1),436(a,1,2)),flip(a)].">
      <j1 rule="para" parents="16824 436"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="17160">
    <literal><![CDATA[
      (g(x) + (g(x) + (h(x)' + (x + (x + h(x)))'))')' = (x + (x + h(x)))'
    ]]></literal>
    <justification jstring="[para(16899(a,1),100(a,1,1,2)),rewrite([6(9),7(9),6(12)])].">
      <j1 rule="para" parents="16899 100"/>
      <j2 rule="rewrite" parents="6 7 6"/>
    </justification>
  </clause>

  <clause id="17527">
    <literal><![CDATA[
      (h(x)' + (x + (x + (g(x) + (h(x)' + h(x)'))))')' = x + g(x)
    ]]></literal>
    <justification jstring="[para(15005(a,1),95(a,1,1,2,1,2,2)),rewrite([6(12),19(12),19(11),7(10),19(11),16819(12),19(11),19(10),19(9),15005(24)])].">
      <j1 rule="para" parents="15005 95"/>
      <j2 rule="rewrite" parents="6 19 19 7 19 16819 19 19 19 15005"/>
    </justification>
  </clause>

  <clause id="17934">
    <literal><![CDATA[
      (h(x)' + (g(x) + (g(x) + h(x)'))')' = g(x) + g(x)
    ]]></literal>
    <justification jstring="[para(17060(a,1),121(a,1,1,1,1)),rewrite([16824(3),7(8)])].">
      <j1 rule="para" parents="17060 121"/>
      <j2 rule="rewrite" parents="16824 7"/>
    </justification>
  </clause>

  <clause id="18543">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (x + (x + (x + (g(x) + (h(x)' + h(x)'))))))))')' = h(x)
    ]]></literal>
    <justification jstring="[para(16886(a,1),95(a,1,1,2,1,2,2)),rewrite([6(13),19(13),19(12),19(11),19(10),29(9),19(13),19(12),19(11),16819(12),19(15),19(14),19(13),19(12),19(11),19(10),19(9),16886(30)])].">
      <j1 rule="para" parents="16886 95"/>
      <j2 rule="rewrite" parents="6 19 19 19 19 29 19 19 19 16819 19 19 19 19 19 19 19 16886"/>
    </justification>
  </clause>

  <clause id="19505">
    <literal><![CDATA[
      (x + (x + (x + (x + (g(x) + (x' + h(x)'))))))' = (x + (x + (g(x) + h(x)')))'
    ]]></literal>
    <justification jstring="[para(16606(a,1),23(a,1,1,2,1,2,1)),rewrite([6(12),7(12),7(11),7(10),7(9),7(8),6(16),16967(17),6(6),7(6),7(5),6(17),7(17),7(16),7(15),7(14),7(13)]),flip(a)].">
      <j1 rule="para" parents="16606 23"/>
      <j2 rule="rewrite" parents="6 7 7 7 7 7 6 16967 6 7 7 6 7 7 7 7 7"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="19643">
    <literal><![CDATA[
      (x + (x + h(x)))' = h(x)'
    ]]></literal>
    <justification jstring="[para(14619(a,1),16705(a,1,1,2)),rewrite([19(9),6(12),17160(13)])].">
      <j1 rule="para" parents="14619 16705"/>
      <j2 rule="rewrite" parents="19 6 17160"/>
    </justification>
  </clause>

  <clause id="19645">
    <literal><![CDATA[
      x + h(x) = h(x)
    ]]></literal>
    <justification jstring="[para(19643(a,1),20(a,1,1,1)),rewrite([7(6),29(5),16606(12)]),flip(a)].">
      <j1 rule="para" parents="19643 20"/>
      <j2 rule="rewrite" parents="7 29 16606"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="19674">
    <literal><![CDATA[
      x + (x + (x + (x + (g(x) + y)))) = x + (x + (x + (g(x) + y)))
    ]]></literal>
    <justification jstring="[para(19645(a,1),7(a,1,1)),rewrite([29(2),29(7)]),flip(a)].">
      <j1 rule="para" parents="19645 7"/>
      <j2 rule="rewrite" parents="29 29"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="19715">
    <literal><![CDATA[
      (x + (x + (x + (g(x) + (x' + h(x)')))))' = (x + (x + (g(x) + h(x)')))'
    ]]></literal>
    <justification jstring="[back_rewrite(19505),rewrite([19674(10)])].">
      <j1 rule="back_rewrite" parents="19505"/>
      <j2 rule="rewrite" parents="19674"/>
    </justification>
  </clause>

  <clause id="19718">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (g(x) + (h(x)' + h(x)')))))')' = h(x)
    ]]></literal>
    <justification jstring="[back_rewrite(18543),rewrite([19674(13),19674(13),19674(13)])].">
      <j1 rule="back_rewrite" parents="18543"/>
      <j2 rule="rewrite" parents="19674 19674 19674"/>
    </justification>
  </clause>

  <clause id="19724">
    <literal><![CDATA[
      x + (x + g(x)) = h(x)
    ]]></literal>
    <justification jstring="[back_rewrite(16882),rewrite([19674(12),19674(12),19674(12),19715(12),17024(11)])].">
      <j1 rule="back_rewrite" parents="16882"/>
      <j2 rule="rewrite" parents="19674 19674 19674 19715 17024"/>
    </justification>
  </clause>

  <clause id="20001">
    <literal><![CDATA[
      x + (x + (x + (g(x) + y))) = x + (x + (g(x) + y))
    ]]></literal>
    <justification jstring="[para(19724(a,1),7(a,1,1)),rewrite([29(2),7(8)])].">
      <j1 rule="para" parents="19724 7"/>
      <j2 rule="rewrite" parents="29 7"/>
    </justification>
  </clause>

  <clause id="20114">
    <literal><![CDATA[
      x + g(x) = h(x)
    ]]></literal>
    <justification jstring="[back_rewrite(19718),rewrite([20001(12),17527(14)])].">
      <j1 rule="back_rewrite" parents="19718"/>
      <j2 rule="rewrite" parents="20001 17527"/>
    </justification>
  </clause>

  <clause id="21891">
    <literal><![CDATA[
      g(x) + g(x) = g(x)
    ]]></literal>
    <justification jstring="[para(20114(a,1),100(a,1,1,2,1)),rewrite([6(10),17934(11)])].">
      <j1 rule="para" parents="20114 100"/>
      <j2 rule="rewrite" parents="6 17934"/>
    </justification>
  </clause>

  <clause id="21892">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer(Winker1a)
    ]]></attribute>
    <justification jstring="[resolve(21891,a,14,a)].">
      <j1 rule="resolve" parents="21891 14"/>
    </justification>
  </clause>

</proof>

<proof number="4" length="91" max_count="34">

<comments><![CDATA[
% Proof 4 at 43.29 (+ 0.15) seconds: Winker2a.
% Length of proof is 91.
% Level of proof is 24.
% Maximum clause weight is 30.
% Given clauses 687.
]]></comments>

  <clause id="4" type="goal">
    <literal><![CDATA[
      (exists a exists b (a + b)' = a')
    ]]></literal>
    <attribute><![CDATA[
      answer(Winker2a)
    ]]></attribute>
    <attribute><![CDATA[
      label(non_clause)
    ]]></attribute>
    <attribute><![CDATA[
      label(goal)
    ]]></attribute>
    <justification jstring="[goal].">
      <j1 rule="goal"/>
    </justification>
  </clause>

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

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

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

  <clause id="9" type="assumption">
    <literal><![CDATA[
      g(x) = (x + x')'
    ]]></literal>
    <attribute><![CDATA[
      label(definition_g)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="11" type="assumption">
    <literal><![CDATA[
      h(x) = x + (x + (x + g(x)))
    ]]></literal>
    <attribute><![CDATA[
      label(definition_h)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="12">
    <literal><![CDATA[
      x + (x + (x + g(x))) = h(x)
    ]]></literal>
    <justification jstring="[copy(11),flip(a)].">
      <j1 rule="copy" parents="11"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="16" type="deny">
    <literal><![CDATA[
      (x + y)' != x'
    ]]></literal>
    <attribute><![CDATA[
      answer(Winker2a)
    ]]></attribute>
    <justification jstring="[deny(4)].">
      <j1 rule="deny" parents="4"/>
    </justification>
  </clause>

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

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

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

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

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

  <clause id="28">
    <literal><![CDATA[
      (g(x) + (x + x)')' = x
    ]]></literal>
    <justification jstring="[para(10(a,1),8(a,1,1,2)),rewrite([6(4)])].">
      <j1 rule="para" parents="10 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="29">
    <literal><![CDATA[
      h(x) + y = x + (x + (x + (g(x) + y)))
    ]]></literal>
    <justification jstring="[para(12(a,1),7(a,1,1)),rewrite([7(6),7(5)])].">
      <j1 rule="para" parents="12 7"/>
      <j2 rule="rewrite" parents="7 7"/>
    </justification>
  </clause>

  <clause id="30">
    <literal><![CDATA[
      x + h(y) = y + (y + (g(y) + (x + y)))
    ]]></literal>
    <justification jstring="[para(12(a,1),7(a,2,2)),rewrite([19(5),19(4),6(3)]),flip(a)].">
      <j1 rule="para" parents="12 7"/>
      <j2 rule="rewrite" parents="19 19 6"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="31">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + g(x)))')')' = x
    ]]></literal>
    <justification jstring="[para(12(a,1),8(a,1,1,1,1))].">
      <j1 rule="para" parents="12 8"/>
    </justification>
  </clause>

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

  <clause id="36">
    <literal><![CDATA[
      (x + (x + (x + g(x)))')' = g(x)
    ]]></literal>
    <justification jstring="[para(28(a,1),8(a,1,1,2)),rewrite([19(3),6(2),6(5)])].">
      <j1 rule="para" parents="28 8"/>
      <j2 rule="rewrite" parents="19 6 6"/>
    </justification>
  </clause>

  <clause id="37">
    <literal><![CDATA[
      (g(x) + h(x)')' = x
    ]]></literal>
    <justification jstring="[back_rewrite(31),rewrite([36(8),6(4)])].">
      <j1 rule="back_rewrite" parents="31"/>
      <j2 rule="rewrite" parents="36 6"/>
    </justification>
  </clause>

  <clause id="39">
    <literal><![CDATA[
      ((x + y)' + (x + (g(y) + h(y)'))')' = x
    ]]></literal>
    <justification jstring="[para(37(a,1),8(a,1,1,2,1,2)),rewrite([6(9)])].">
      <j1 rule="para" parents="37 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="40">
    <literal><![CDATA[
      (x + (g(x) + h(x))')' = g(x)
    ]]></literal>
    <justification jstring="[para(37(a,1),8(a,1,1,2)),rewrite([6(5)])].">
      <j1 rule="para" parents="37 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="43">
    <literal><![CDATA[
      (g(x) + (x + (g(x) + h(x)))')' = x
    ]]></literal>
    <justification jstring="[para(40(a,1),8(a,1,1,2)),rewrite([6(7)])].">
      <j1 rule="para" parents="40 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="49">
    <literal><![CDATA[
      ((x + (y + z))' + (z + (x + y)')')' = z
    ]]></literal>
    <justification jstring="[para(7(a,1),20(a,1,1,1,1))].">
      <j1 rule="para" parents="7 20"/>
    </justification>
  </clause>

  <clause id="53">
    <literal><![CDATA[
      (x + (x + (y' + (y + x)'))')' = (y + x)'
    ]]></literal>
    <justification jstring="[para(20(a,1),8(a,1,1,2)),rewrite([6(5),7(5),6(7)])].">
      <j1 rule="para" parents="20 8"/>
      <j2 rule="rewrite" parents="6 7 6"/>
    </justification>
  </clause>

  <clause id="58">
    <literal><![CDATA[
      (h(x)' + (x + (x + (g(x) + x')))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[para(12(a,1),20(a,1,1,1,1)),rewrite([7(7),7(6)])].">
      <j1 rule="para" parents="12 20"/>
      <j2 rule="rewrite" parents="7 7"/>
    </justification>
  </clause>

  <clause id="89">
    <literal><![CDATA[
      ((x' + y)' + (y + x)')' = y
    ]]></literal>
    <justification jstring="[para(6(a,1),21(a,1,1))].">
      <j1 rule="para" parents="6 21"/>
    </justification>
  </clause>

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

  <clause id="95">
    <literal><![CDATA[
      (x + (x + (y + (x + y')'))')' = (x + y')'
    ]]></literal>
    <justification jstring="[para(8(a,1),21(a,1,1,2)),rewrite([6(5),7(5),6(7)])].">
      <j1 rule="para" parents="8 21"/>
      <j2 rule="rewrite" parents="6 7 6"/>
    </justification>
  </clause>

  <clause id="96">
    <literal><![CDATA[
      ((x + (y + y'))' + (g(y) + x)')' = x
    ]]></literal>
    <justification jstring="[para(10(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="10 21"/>
    </justification>
  </clause>

  <clause id="99">
    <literal><![CDATA[
      ((x + (g(y) + (y + y)'))' + (y + x)')' = x
    ]]></literal>
    <justification jstring="[para(28(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="28 21"/>
    </justification>
  </clause>

  <clause id="100">
    <literal><![CDATA[
      ((x + (g(y) + h(y)'))' + (y + x)')' = x
    ]]></literal>
    <justification jstring="[para(37(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="37 21"/>
    </justification>
  </clause>

  <clause id="109">
    <literal><![CDATA[
      ((x + (g(y) + (y + (g(y) + h(y)))'))' + (y + x)')' = x
    ]]></literal>
    <justification jstring="[para(43(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="43 21"/>
    </justification>
  </clause>

  <clause id="119">
    <literal><![CDATA[
      x + h(y) = y + (y + (y + (g(y) + x)))
    ]]></literal>
    <justification jstring="[para(29(a,1),6(a,1)),flip(a)].">
      <j1 rule="para" parents="29 6"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="325">
    <literal><![CDATA[
      ((x + y)' + (y + (g(x) + h(x)'))')' = y
    ]]></literal>
    <justification jstring="[para(37(a,1),89(a,1,1,1,1,1))].">
      <j1 rule="para" parents="37 89"/>
    </justification>
  </clause>

  <clause id="429">
    <literal><![CDATA[
      x + h(y) = y + (y + (y + (x + g(y))))
    ]]></literal>
    <justification jstring="[para(6(a,1),119(a,2,2,2,2))].">
      <j1 rule="para" parents="6 119"/>
    </justification>
  </clause>

  <clause id="435">
    <literal><![CDATA[
      x + (y + h(z)) = z + (x + (z + (z + (g(z) + y))))
    ]]></literal>
    <justification jstring="[para(119(a,2),19(a,1,2))].">
      <j1 rule="para" parents="119 19"/>
    </justification>
  </clause>

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

  <clause id="572">
    <literal><![CDATA[
      (x + (x + (g(y) + (h(y)' + (x + y)')))')' = (x + y)'
    ]]></literal>
    <justification jstring="[para(39(a,1),8(a,1,1,2)),rewrite([6(8),7(8),7(7),6(10)])].">
      <j1 rule="para" parents="39 8"/>
      <j2 rule="rewrite" parents="6 7 7 6"/>
    </justification>
  </clause>

  <clause id="794">
    <literal><![CDATA[
      (g(x) + (g(x) + (x' + h(x)'))')' = x'
    ]]></literal>
    <justification jstring="[para(10(a,1),100(a,1,1,2)),rewrite([19(6),6(9)])].">
      <j1 rule="para" parents="10 100"/>
      <j2 rule="rewrite" parents="19 6"/>
    </justification>
  </clause>

  <clause id="795">
    <literal><![CDATA[
      (h(x)' + (x + (x + (g(x) + (g(x) + h(x)'))))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[para(12(a,1),100(a,1,1,2,1)),rewrite([19(8),7(7),7(6),19(8),19(7),6(12)])].">
      <j1 rule="para" parents="12 100"/>
      <j2 rule="rewrite" parents="19 7 7 19 19 6"/>
    </justification>
  </clause>

  <clause id="1000">
    <literal><![CDATA[
      (h(x)' + (x + (g(x) + (x + x)'))')' = x + g(x)
    ]]></literal>
    <justification jstring="[para(12(a,1),49(a,1,1,1,1)),rewrite([7(7)])].">
      <j1 rule="para" parents="12 49"/>
      <j2 rule="rewrite" parents="7"/>
    </justification>
  </clause>

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

  <clause id="1477">
    <literal><![CDATA[
      (x + (x + (x + (g(x) + (x + (x + (x + (g(x) + (y' + (y + h(x))')))))'))))' = (y + h(x))'
    ]]></literal>
    <justification jstring="[para(29(a,1),53(a,1,1,2,1)),rewrite([29(13)])].">
      <j1 rule="para" parents="29 53"/>
      <j2 rule="rewrite" parents="29"/>
    </justification>
  </clause>

  <clause id="1812">
    <literal><![CDATA[
      (h(x)' + (x + (x + (g(x) + (g(x) + (x + x)'))))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[para(12(a,1),99(a,1,1,2,1)),rewrite([19(8),7(7),7(6),19(8),19(7),6(12)])].">
      <j1 rule="para" parents="12 99"/>
      <j2 rule="rewrite" parents="19 7 7 19 19 6"/>
    </justification>
  </clause>

  <clause id="1814">
    <literal><![CDATA[
      (g(x) + (g(x) + ((x + x)' + (g(x) + h(x))'))')' = (g(x) + h(x))'
    ]]></literal>
    <justification jstring="[para(40(a,1),99(a,1,1,2)),rewrite([6(9),7(9),6(12)])].">
      <j1 rule="para" parents="40 99"/>
      <j2 rule="rewrite" parents="6 7 6"/>
    </justification>
  </clause>

  <clause id="3554">
    <literal><![CDATA[
      x + (y + (g(x) + (z + h(x)))) = y + (x + (x + (x + (x + (g(x) + (z + g(x)))))))
    ]]></literal>
    <justification jstring="[para(462(a,2),435(a,2,2,2)),rewrite([6(5),19(5),29(4)]),flip(a)].">
      <j1 rule="para" parents="462 435"/>
      <j2 rule="rewrite" parents="6 19 29"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="4470">
    <literal><![CDATA[
      (x + (g(x) + (x + (g(x) + (h(x)' + (x + x)')))'))' = h(x)'
    ]]></literal>
    <justification jstring="[para(1000(a,1),8(a,1,1,2)),rewrite([19(8),19(7),6(12),7(12)])].">
      <j1 rule="para" parents="1000 8"/>
      <j2 rule="rewrite" parents="19 19 6 7"/>
    </justification>
  </clause>

  <clause id="7586">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (x + (g(x) + (g(x) + (x' + h(x)')))))))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[para(58(a,1),95(a,1,1,2,1,2,2)),rewrite([6(13),19(13),19(12),19(11),7(10),7(9),19(11),19(10),6(14),7(14),7(13),7(12),7(11),7(10),7(9),58(27)])].">
      <j1 rule="para" parents="58 95"/>
      <j2 rule="rewrite" parents="6 19 19 19 7 7 19 19 6 7 7 7 7 7 7 58"/>
    </justification>
  </clause>

  <clause id="14441">
    <literal><![CDATA[
      (g(x) + (g(x) + ((x + x)' + (x + (x + (x + (g(x) + g(x)))))'))')' = (g(x) + h(x))'
    ]]></literal>
    <justification jstring="[para(30(a,1),1814(a,1,1,2,1,2,2,1)),rewrite([6(7),19(8)])].">
      <j1 rule="para" parents="30 1814"/>
      <j2 rule="rewrite" parents="6 19"/>
    </justification>
  </clause>

  <clause id="14619">
    <literal><![CDATA[
      (x + h(x)')' = g(x)
    ]]></literal>
    <justification jstring="[para(4470(a,1),32(a,1,1,1)),rewrite([572(14),28(7),6(3)])].">
      <j1 rule="para" parents="4470 32"/>
      <j2 rule="rewrite" parents="572 28 6"/>
    </justification>
  </clause>

  <clause id="14629">
    <literal><![CDATA[
      (g(x) + (x + h(x))')' = x
    ]]></literal>
    <justification jstring="[para(14619(a,1),8(a,1,1,2)),rewrite([6(5)])].">
      <j1 rule="para" parents="14619 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="14660">
    <literal><![CDATA[
      (g(x) + (g(x) + (h(x)' + (x + x)'))')' = h(x)'
    ]]></literal>
    <justification jstring="[para(14619(a,1),99(a,1,1,2)),rewrite([19(7),6(10)])].">
      <j1 rule="para" parents="14619 99"/>
      <j2 rule="rewrite" parents="19 6"/>
    </justification>
  </clause>

  <clause id="14683">
    <literal><![CDATA[
      (x + (x + (g(x) + h(x)))')' = g(x)
    ]]></literal>
    <justification jstring="[para(14619(a,1),95(a,1,1,2,1,2,2)),rewrite([6(3),14619(11)])].">
      <j1 rule="para" parents="14619 95"/>
      <j2 rule="rewrite" parents="6 14619"/>
    </justification>
  </clause>

  <clause id="14690">
    <literal><![CDATA[
      (g(x) + (g(x) + (h(x)' + (x + (g(x) + h(x)))'))')' = h(x)'
    ]]></literal>
    <justification jstring="[para(14619(a,1),109(a,1,1,2)),rewrite([19(10),6(13)])].">
      <j1 rule="para" parents="14619 109"/>
      <j2 rule="rewrite" parents="19 6"/>
    </justification>
  </clause>

  <clause id="14817">
    <literal><![CDATA[
      (g(x) + (x + (x + (g(x) + h(x))))')' = x
    ]]></literal>
    <justification jstring="[para(14629(a,1),95(a,1,1,2,1,2,2)),rewrite([6(5),19(6),19(5),14629(15)])].">
      <j1 rule="para" parents="14629 95"/>
      <j2 rule="rewrite" parents="6 19 19 14629"/>
    </justification>
  </clause>

  <clause id="14993">
    <literal><![CDATA[
      (x + (g(x) + h(x)))' = h(x)'
    ]]></literal>
    <justification jstring="[para(14683(a,1),100(a,1,1,2)),rewrite([6(10),7(10),6(13),14690(14)]),flip(a)].">
      <j1 rule="para" parents="14683 100"/>
      <j2 rule="rewrite" parents="6 7 6 14690"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="14997">
    <literal><![CDATA[
      (x + (x + (x + (x + (x + (x + (g(x) + (g(x) + g(x))))))))')' = g(x)
    ]]></literal>
    <justification jstring="[para(14683(a,1),95(a,1,1,2,1,2,2)),rewrite([6(6),19(6),3554(7),14993(18),14619(17)])].">
      <j1 rule="para" parents="14683 95"/>
      <j2 rule="rewrite" parents="6 19 3554 14993 14619"/>
    </justification>
  </clause>

  <clause id="15004">
    <literal><![CDATA[
      (x + (x + (x + (x + (g(x) + g(x))))))' = h(x)'
    ]]></literal>
    <justification jstring="[para(30(a,1),14993(a,1,1,2)),rewrite([6(3),19(4)])].">
      <j1 rule="para" parents="30 14993"/>
      <j2 rule="rewrite" parents="6 19"/>
    </justification>
  </clause>

  <clause id="15005">
    <literal><![CDATA[
      (h(x)' + (x + (g(x) + h(x)'))')' = x + g(x)
    ]]></literal>
    <justification jstring="[para(14993(a,1),22(a,1,1,1))].">
      <j1 rule="para" parents="14993 22"/>
    </justification>
  </clause>

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

  <clause id="16389">
    <literal><![CDATA[
      x + (x + (g(x) + g(x))) = x + (x + g(x))
    ]]></literal>
    <justification jstring="[para(15004(a,1),49(a,1,1,1)),rewrite([7(10),7(9),7(8),1812(13)]),flip(a)].">
      <j1 rule="para" parents="15004 49"/>
      <j2 rule="rewrite" parents="7 7 7 1812"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="16393">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (g(x) + (g(x) + h(x)')))))')' = h(x)
    ]]></literal>
    <justification jstring="[para(15004(a,1),325(a,1,1,1)),rewrite([16389(7),12(6),19(8),29(7),19(11),19(10),19(9),16389(19),12(18)])].">
      <j1 rule="para" parents="15004 325"/>
      <j2 rule="rewrite" parents="16389 12 19 29 19 19 19 16389 12"/>
    </justification>
  </clause>

  <clause id="16397">
    <literal><![CDATA[
      (x + h(x))' = h(x)'
    ]]></literal>
    <justification jstring="[para(15004(a,1),53(a,2)),rewrite([16389(5),12(4),16389(6),12(5),16389(8),12(7),29(8),29(13),1477(17)])].">
      <j1 rule="para" parents="15004 53"/>
      <j2 rule="rewrite" parents="16389 12 16389 12 16389 12 29 29 1477"/>
    </justification>
  </clause>

  <clause id="16490">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (x + (x + (x + (g(x) + (g(x) + (x' + h(x)')))))))))')' = h(x)
    ]]></literal>
    <justification jstring="[para(15004(a,1),1463(a,1,1,1)),rewrite([16389(7),12(6),16389(8),12(7),16389(10),12(9),16397(8),29(9),19(13),19(12),19(11),19(10),29(9),19(13),19(12),19(11),16389(24),12(23)])].">
      <j1 rule="para" parents="15004 1463"/>
      <j2 rule="rewrite" parents="16389 12 16389 12 16389 12 16397 29 19 19 19 19 29 19 19 19 16389 12"/>
    </justification>
  </clause>

  <clause id="16497">
    <literal><![CDATA[
      (g(x) + (x + (x + h(x)))')' = x
    ]]></literal>
    <justification jstring="[back_rewrite(15465),rewrite([16389(6),12(5)])].">
      <j1 rule="back_rewrite" parents="15465"/>
      <j2 rule="rewrite" parents="16389 12"/>
    </justification>
  </clause>

  <clause id="16498">
    <literal><![CDATA[
      (g(x) + h(x))' = h(x)'
    ]]></literal>
    <justification jstring="[back_rewrite(14441),rewrite([16389(9),12(8),6(7),14660(11)]),flip(a)].">
      <j1 rule="back_rewrite" parents="14441"/>
      <j2 rule="rewrite" parents="16389 12 6 14660"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="16606">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (x + (g(x) + x')))))')' = h(x)
    ]]></literal>
    <justification jstring="[para(16498(a,1),96(a,1,1,2)),rewrite([19(4),29(3),6(11)])].">
      <j1 rule="para" parents="16498 96"/>
      <j2 rule="rewrite" parents="19 29 6"/>
    </justification>
  </clause>

  <clause id="16705">
    <literal><![CDATA[
      ((x + (g(y) + (y + (y + h(y)))'))' + (y + x)')' = x
    ]]></literal>
    <justification jstring="[para(16497(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="16497 21"/>
    </justification>
  </clause>

  <clause id="16819">
    <literal><![CDATA[
      x + (x + (g(x) + (g(x) + y))) = x + (x + (g(x) + y))
    ]]></literal>
    <justification jstring="[para(16389(a,1),7(a,1,1)),rewrite([7(4),7(3),7(9),7(8)]),flip(a)].">
      <j1 rule="para" parents="16389 7"/>
      <j2 rule="rewrite" parents="7 7 7 7"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="16882">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (x + (x + (x + (g(x) + (x' + h(x)'))))))))')' = h(x)
    ]]></literal>
    <justification jstring="[back_rewrite(16490),rewrite([16819(12)])].">
      <j1 rule="back_rewrite" parents="16490"/>
      <j2 rule="rewrite" parents="16819"/>
    </justification>
  </clause>

  <clause id="16886">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (g(x) + h(x)'))))')' = h(x)
    ]]></literal>
    <justification jstring="[back_rewrite(16393),rewrite([16819(10)])].">
      <j1 rule="back_rewrite" parents="16393"/>
      <j2 rule="rewrite" parents="16819"/>
    </justification>
  </clause>

  <clause id="16899">
    <literal><![CDATA[
      (x + (x + (x + h(x)))')' = g(x)
    ]]></literal>
    <justification jstring="[back_rewrite(14997),rewrite([16819(7),16389(5),12(4)])].">
      <j1 rule="back_rewrite" parents="14997"/>
      <j2 rule="rewrite" parents="16819 16389 12"/>
    </justification>
  </clause>

  <clause id="16967">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (x + (g(x) + (x' + h(x)'))))))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[back_rewrite(7586),rewrite([16819(12)])].">
      <j1 rule="back_rewrite" parents="7586"/>
      <j2 rule="rewrite" parents="16819"/>
    </justification>
  </clause>

  <clause id="17024">
    <literal><![CDATA[
      (h(x)' + (x + (x + (g(x) + h(x)')))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[back_rewrite(795),rewrite([16819(10)])].">
      <j1 rule="back_rewrite" parents="795"/>
      <j2 rule="rewrite" parents="16819"/>
    </justification>
  </clause>

  <clause id="17160">
    <literal><![CDATA[
      (g(x) + (g(x) + (h(x)' + (x + (x + h(x)))'))')' = (x + (x + h(x)))'
    ]]></literal>
    <justification jstring="[para(16899(a,1),100(a,1,1,2)),rewrite([6(9),7(9),6(12)])].">
      <j1 rule="para" parents="16899 100"/>
      <j2 rule="rewrite" parents="6 7 6"/>
    </justification>
  </clause>

  <clause id="17527">
    <literal><![CDATA[
      (h(x)' + (x + (x + (g(x) + (h(x)' + h(x)'))))')' = x + g(x)
    ]]></literal>
    <justification jstring="[para(15005(a,1),95(a,1,1,2,1,2,2)),rewrite([6(12),19(12),19(11),7(10),19(11),16819(12),19(11),19(10),19(9),15005(24)])].">
      <j1 rule="para" parents="15005 95"/>
      <j2 rule="rewrite" parents="6 19 19 7 19 16819 19 19 19 15005"/>
    </justification>
  </clause>

  <clause id="18543">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (x + (x + (x + (g(x) + (h(x)' + h(x)'))))))))')' = h(x)
    ]]></literal>
    <justification jstring="[para(16886(a,1),95(a,1,1,2,1,2,2)),rewrite([6(13),19(13),19(12),19(11),19(10),29(9),19(13),19(12),19(11),16819(12),19(15),19(14),19(13),19(12),19(11),19(10),19(9),16886(30)])].">
      <j1 rule="para" parents="16886 95"/>
      <j2 rule="rewrite" parents="6 19 19 19 19 29 19 19 19 16819 19 19 19 19 19 19 19 16886"/>
    </justification>
  </clause>

  <clause id="19505">
    <literal><![CDATA[
      (x + (x + (x + (x + (g(x) + (x' + h(x)'))))))' = (x + (x + (g(x) + h(x)')))'
    ]]></literal>
    <justification jstring="[para(16606(a,1),23(a,1,1,2,1,2,1)),rewrite([6(12),7(12),7(11),7(10),7(9),7(8),6(16),16967(17),6(6),7(6),7(5),6(17),7(17),7(16),7(15),7(14),7(13)]),flip(a)].">
      <j1 rule="para" parents="16606 23"/>
      <j2 rule="rewrite" parents="6 7 7 7 7 7 6 16967 6 7 7 6 7 7 7 7 7"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="19643">
    <literal><![CDATA[
      (x + (x + h(x)))' = h(x)'
    ]]></literal>
    <justification jstring="[para(14619(a,1),16705(a,1,1,2)),rewrite([19(9),6(12),17160(13)])].">
      <j1 rule="para" parents="14619 16705"/>
      <j2 rule="rewrite" parents="19 6 17160"/>
    </justification>
  </clause>

  <clause id="19645">
    <literal><![CDATA[
      x + h(x) = h(x)
    ]]></literal>
    <justification jstring="[para(19643(a,1),20(a,1,1,1)),rewrite([7(6),29(5),16606(12)]),flip(a)].">
      <j1 rule="para" parents="19643 20"/>
      <j2 rule="rewrite" parents="7 29 16606"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="19674">
    <literal><![CDATA[
      x + (x + (x + (x + (g(x) + y)))) = x + (x + (x + (g(x) + y)))
    ]]></literal>
    <justification jstring="[para(19645(a,1),7(a,1,1)),rewrite([29(2),29(7)]),flip(a)].">
      <j1 rule="para" parents="19645 7"/>
      <j2 rule="rewrite" parents="29 29"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="19715">
    <literal><![CDATA[
      (x + (x + (x + (g(x) + (x' + h(x)')))))' = (x + (x + (g(x) + h(x)')))'
    ]]></literal>
    <justification jstring="[back_rewrite(19505),rewrite([19674(10)])].">
      <j1 rule="back_rewrite" parents="19505"/>
      <j2 rule="rewrite" parents="19674"/>
    </justification>
  </clause>

  <clause id="19718">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (g(x) + (h(x)' + h(x)')))))')' = h(x)
    ]]></literal>
    <justification jstring="[back_rewrite(18543),rewrite([19674(13),19674(13),19674(13)])].">
      <j1 rule="back_rewrite" parents="18543"/>
      <j2 rule="rewrite" parents="19674 19674 19674"/>
    </justification>
  </clause>

  <clause id="19724">
    <literal><![CDATA[
      x + (x + g(x)) = h(x)
    ]]></literal>
    <justification jstring="[back_rewrite(16882),rewrite([19674(12),19674(12),19674(12),19715(12),17024(11)])].">
      <j1 rule="back_rewrite" parents="16882"/>
      <j2 rule="rewrite" parents="19674 19674 19674 19715 17024"/>
    </justification>
  </clause>

  <clause id="20001">
    <literal><![CDATA[
      x + (x + (x + (g(x) + y))) = x + (x + (g(x) + y))
    ]]></literal>
    <justification jstring="[para(19724(a,1),7(a,1,1)),rewrite([29(2),7(8)])].">
      <j1 rule="para" parents="19724 7"/>
      <j2 rule="rewrite" parents="29 7"/>
    </justification>
  </clause>

  <clause id="20114">
    <literal><![CDATA[
      x + g(x) = h(x)
    ]]></literal>
    <justification jstring="[back_rewrite(19718),rewrite([20001(12),17527(14)])].">
      <j1 rule="back_rewrite" parents="19718"/>
      <j2 rule="rewrite" parents="20001 17527"/>
    </justification>
  </clause>

  <clause id="21899">
    <literal><![CDATA[
      h(x)' = x'
    ]]></literal>
    <justification jstring="[para(20114(a,1),53(a,1,1,2,1,2,2,1)),rewrite([794(10),20114(3)]),flip(a)].">
      <j1 rule="para" parents="20114 53"/>
      <j2 rule="rewrite" parents="794 20114"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="21930">
    <literal><![CDATA[
      (x + (x' + (x + g(x)')'')')' = x'
    ]]></literal>
    <justification jstring="[para(20114(a,1),91(a,1,1,2,1,1,1)),rewrite([21899(2),6(4),20114(12),21899(12)])].">
      <j1 rule="para" parents="20114 91"/>
      <j2 rule="rewrite" parents="21899 6 20114 21899"/>
    </justification>
  </clause>

  <clause id="21931">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer(Winker2a)
    ]]></attribute>
    <justification jstring="[resolve(21930,a,16,a)].">
      <j1 rule="resolve" parents="21930 16"/>
    </justification>
  </clause>

</proof>

<proof number="5" length="138" max_count="35">

<comments><![CDATA[
% Proof 5 at 47.38 (+ 0.16) seconds: Huntington.
% Length of proof is 138.
% Level of proof is 30.
% Maximum clause weight is 30.
% Given clauses 694.
]]></comments>

  <clause id="1" type="goal">
    <literal><![CDATA[
      (x + y')' + (x' + y')' = y
    ]]></literal>
    <attribute><![CDATA[
      answer(Huntington)
    ]]></attribute>
    <attribute><![CDATA[
      label(non_clause)
    ]]></attribute>
    <attribute><![CDATA[
      label(goal)
    ]]></attribute>
    <justification jstring="[goal].">
      <j1 rule="goal"/>
    </justification>
  </clause>

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

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

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

  <clause id="9" type="assumption">
    <literal><![CDATA[
      g(x) = (x + x')'
    ]]></literal>
    <attribute><![CDATA[
      label(definition_g)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="11" type="assumption">
    <literal><![CDATA[
      h(x) = x + (x + (x + g(x)))
    ]]></literal>
    <attribute><![CDATA[
      label(definition_h)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="12">
    <literal><![CDATA[
      x + (x + (x + g(x))) = h(x)
    ]]></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' + c2')' != c2
    ]]></literal>
    <attribute><![CDATA[
      answer(Huntington)
    ]]></attribute>
    <justification jstring="[deny(1)].">
      <j1 rule="deny" parents="1"/>
    </justification>
  </clause>

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

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

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

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

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

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

  <clause id="25">
    <literal><![CDATA[
      (x + (x + (y' + (x + y)'))')' = (x + y)'
    ]]></literal>
    <justification jstring="[para(8(a,1),8(a,1,1,2)),rewrite([6(5),7(5),6(7)])].">
      <j1 rule="para" parents="8 8"/>
      <j2 rule="rewrite" parents="6 7 6"/>
    </justification>
  </clause>

  <clause id="28">
    <literal><![CDATA[
      (g(x) + (x + x)')' = x
    ]]></literal>
    <justification jstring="[para(10(a,1),8(a,1,1,2)),rewrite([6(4)])].">
      <j1 rule="para" parents="10 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="29">
    <literal><![CDATA[
      h(x) + y = x + (x + (x + (g(x) + y)))
    ]]></literal>
    <justification jstring="[para(12(a,1),7(a,1,1)),rewrite([7(6),7(5)])].">
      <j1 rule="para" parents="12 7"/>
      <j2 rule="rewrite" parents="7 7"/>
    </justification>
  </clause>

  <clause id="30">
    <literal><![CDATA[
      x + h(y) = y + (y + (g(y) + (x + y)))
    ]]></literal>
    <justification jstring="[para(12(a,1),7(a,2,2)),rewrite([19(5),19(4),6(3)]),flip(a)].">
      <j1 rule="para" parents="12 7"/>
      <j2 rule="rewrite" parents="19 19 6"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="31">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + g(x)))')')' = x
    ]]></literal>
    <justification jstring="[para(12(a,1),8(a,1,1,1,1))].">
      <j1 rule="para" parents="12 8"/>
    </justification>
  </clause>

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

  <clause id="36">
    <literal><![CDATA[
      (x + (x + (x + g(x)))')' = g(x)
    ]]></literal>
    <justification jstring="[para(28(a,1),8(a,1,1,2)),rewrite([19(3),6(2),6(5)])].">
      <j1 rule="para" parents="28 8"/>
      <j2 rule="rewrite" parents="19 6 6"/>
    </justification>
  </clause>

  <clause id="37">
    <literal><![CDATA[
      (g(x) + h(x)')' = x
    ]]></literal>
    <justification jstring="[back_rewrite(31),rewrite([36(8),6(4)])].">
      <j1 rule="back_rewrite" parents="31"/>
      <j2 rule="rewrite" parents="36 6"/>
    </justification>
  </clause>

  <clause id="39">
    <literal><![CDATA[
      ((x + y)' + (x + (g(y) + h(y)'))')' = x
    ]]></literal>
    <justification jstring="[para(37(a,1),8(a,1,1,2,1,2)),rewrite([6(9)])].">
      <j1 rule="para" parents="37 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="40">
    <literal><![CDATA[
      (x + (g(x) + h(x))')' = g(x)
    ]]></literal>
    <justification jstring="[para(37(a,1),8(a,1,1,2)),rewrite([6(5)])].">
      <j1 rule="para" parents="37 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="43">
    <literal><![CDATA[
      (g(x) + (x + (g(x) + h(x)))')' = x
    ]]></literal>
    <justification jstring="[para(40(a,1),8(a,1,1,2)),rewrite([6(7)])].">
      <j1 rule="para" parents="40 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

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

  <clause id="49">
    <literal><![CDATA[
      ((x + (y + z))' + (z + (x + y)')')' = z
    ]]></literal>
    <justification jstring="[para(7(a,1),20(a,1,1,1,1))].">
      <j1 rule="para" parents="7 20"/>
    </justification>
  </clause>

  <clause id="53">
    <literal><![CDATA[
      (x + (x + (y' + (y + x)'))')' = (y + x)'
    ]]></literal>
    <justification jstring="[para(20(a,1),8(a,1,1,2)),rewrite([6(5),7(5),6(7)])].">
      <j1 rule="para" parents="20 8"/>
      <j2 rule="rewrite" parents="6 7 6"/>
    </justification>
  </clause>

  <clause id="58">
    <literal><![CDATA[
      (h(x)' + (x + (x + (g(x) + x')))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[para(12(a,1),20(a,1,1,1,1)),rewrite([7(7),7(6)])].">
      <j1 rule="para" parents="12 20"/>
      <j2 rule="rewrite" parents="7 7"/>
    </justification>
  </clause>

  <clause id="62">
    <literal><![CDATA[
      (x + (g(x)' + h(x)')')' = h(x)'
    ]]></literal>
    <justification jstring="[para(37(a,1),20(a,1,1,1)),rewrite([6(5)])].">
      <j1 rule="para" parents="37 20"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="89">
    <literal><![CDATA[
      ((x' + y)' + (y + x)')' = y
    ]]></literal>
    <justification jstring="[para(6(a,1),21(a,1,1))].">
      <j1 rule="para" parents="6 21"/>
    </justification>
  </clause>

  <clause id="95">
    <literal><![CDATA[
      (x + (x + (y + (x + y')'))')' = (x + y')'
    ]]></literal>
    <justification jstring="[para(8(a,1),21(a,1,1,2)),rewrite([6(5),7(5),6(7)])].">
      <j1 rule="para" parents="8 21"/>
      <j2 rule="rewrite" parents="6 7 6"/>
    </justification>
  </clause>

  <clause id="96">
    <literal><![CDATA[
      ((x + (y + y'))' + (g(y) + x)')' = x
    ]]></literal>
    <justification jstring="[para(10(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="10 21"/>
    </justification>
  </clause>

  <clause id="99">
    <literal><![CDATA[
      ((x + (g(y) + (y + y)'))' + (y + x)')' = x
    ]]></literal>
    <justification jstring="[para(28(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="28 21"/>
    </justification>
  </clause>

  <clause id="100">
    <literal><![CDATA[
      ((x + (g(y) + h(y)'))' + (y + x)')' = x
    ]]></literal>
    <justification jstring="[para(37(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="37 21"/>
    </justification>
  </clause>

  <clause id="101">
    <literal><![CDATA[
      ((x + (y + (g(y) + h(y))'))' + (g(y) + x)')' = x
    ]]></literal>
    <justification jstring="[para(40(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="40 21"/>
    </justification>
  </clause>

  <clause id="109">
    <literal><![CDATA[
      ((x + (g(y) + (y + (g(y) + h(y)))'))' + (y + x)')' = x
    ]]></literal>
    <justification jstring="[para(43(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="43 21"/>
    </justification>
  </clause>

  <clause id="115">
    <literal><![CDATA[
      (h(x)' + (x + (g(x)' + h(x)'))')' = x
    ]]></literal>
    <justification jstring="[para(62(a,1),8(a,1,1,2)),rewrite([6(10)])].">
      <j1 rule="para" parents="62 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="119">
    <literal><![CDATA[
      x + h(y) = y + (y + (y + (g(y) + x)))
    ]]></literal>
    <justification jstring="[para(29(a,1),6(a,1)),flip(a)].">
      <j1 rule="para" parents="29 6"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

  <clause id="325">
    <literal><![CDATA[
      ((x + y)' + (y + (g(x) + h(x)'))')' = y
    ]]></literal>
    <justification jstring="[para(37(a,1),89(a,1,1,1,1,1))].">
      <j1 rule="para" parents="37 89"/>
    </justification>
  </clause>

  <clause id="365">
    <literal><![CDATA[
      (x + (g(x) + ((h(x)' + y)' + (h(x)' + y')'))')' = g(x)
    ]]></literal>
    <justification jstring="[para(37(a,1),24(a,1,1,1))].">
      <j1 rule="para" parents="37 24"/>
    </justification>
  </clause>

  <clause id="429">
    <literal><![CDATA[
      x + h(y) = y + (y + (y + (x + g(y))))
    ]]></literal>
    <justification jstring="[para(6(a,1),119(a,2,2,2,2))].">
      <j1 rule="para" parents="6 119"/>
    </justification>
  </clause>

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

  <clause id="435">
    <literal><![CDATA[
      x + (y + h(z)) = z + (x + (z + (z + (g(z) + y))))
    ]]></literal>
    <justification jstring="[para(119(a,2),19(a,1,2))].">
      <j1 rule="para" parents="119 19"/>
    </justification>
  </clause>

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

  <clause id="475">
    <literal><![CDATA[
      ((x + (x + (x + (y + g(x)))))' + (y' + h(x))')' = h(x)
    ]]></literal>
    <justification jstring="[para(429(a,1),47(a,1,1,1,1))].">
      <j1 rule="para" parents="429 47"/>
    </justification>
  </clause>

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

  <clause id="547">
    <literal><![CDATA[
      (x + (x + (x + (x + (g(x) + (x + (g(x)' + h(x)'))'))))')' = (x + (g(x)' + h(x)'))'
    ]]></literal>
    <justification jstring="[para(115(a,1),21(a,1,1,2)),rewrite([6(9),29(9),6(14)])].">
      <j1 rule="para" parents="115 21"/>
      <j2 rule="rewrite" parents="6 29 6"/>
    </justification>
  </clause>

  <clause id="572">
    <literal><![CDATA[
      (x + (x + (g(y) + (h(y)' + (x + y)')))')' = (x + y)'
    ]]></literal>
    <justification jstring="[para(39(a,1),8(a,1,1,2)),rewrite([6(8),7(8),7(7),6(10)])].">
      <j1 rule="para" parents="39 8"/>
      <j2 rule="rewrite" parents="6 7 7 6"/>
    </justification>
  </clause>

  <clause id="573">
    <literal><![CDATA[
      ((x + y)' + (g(y) + (x + h(y)'))')' = x
    ]]></literal>
    <justification jstring="[para(19(a,1),39(a,1,1,2,1))].">
      <j1 rule="para" parents="19 39"/>
    </justification>
  </clause>

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

  <clause id="794">
    <literal><![CDATA[
      (g(x) + (g(x) + (x' + h(x)'))')' = x'
    ]]></literal>
    <justification jstring="[para(10(a,1),100(a,1,1,2)),rewrite([19(6),6(9)])].">
      <j1 rule="para" parents="10 100"/>
      <j2 rule="rewrite" parents="19 6"/>
    </justification>
  </clause>

  <clause id="795">
    <literal><![CDATA[
      (h(x)' + (x + (x + (g(x) + (g(x) + h(x)'))))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[para(12(a,1),100(a,1,1,2,1)),rewrite([19(8),7(7),7(6),19(8),19(7),6(12)])].">
      <j1 rule="para" parents="12 100"/>
      <j2 rule="rewrite" parents="19 7 7 19 19 6"/>
    </justification>
  </clause>

  <clause id="1000">
    <literal><![CDATA[
      (h(x)' + (x + (g(x) + (x + x)'))')' = x + g(x)
    ]]></literal>
    <justification jstring="[para(12(a,1),49(a,1,1,1,1)),rewrite([7(7)])].">
      <j1 rule="para" parents="12 49"/>
      <j2 rule="rewrite" parents="7"/>
    </justification>
  </clause>

  <clause id="1280">
    <literal><![CDATA[
      ((x + (y + z))' + (g(z) + (x + (y + h(z)')))')' = x + y
    ]]></literal>
    <justification jstring="[para(7(a,1),573(a,1,1,1,1)),rewrite([7(8)])].">
      <j1 rule="para" parents="7 573"/>
      <j2 rule="rewrite" parents="7"/>
    </justification>
  </clause>

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

  <clause id="1477">
    <literal><![CDATA[
      (x + (x + (x + (g(x) + (x + (x + (x + (g(x) + (y' + (y + h(x))')))))'))))' = (y + h(x))'
    ]]></literal>
    <justification jstring="[para(29(a,1),53(a,1,1,2,1)),rewrite([29(13)])].">
      <j1 rule="para" parents="29 53"/>
      <j2 rule="rewrite" parents="29"/>
    </justification>
  </clause>

  <clause id="1812">
    <literal><![CDATA[
      (h(x)' + (x + (x + (g(x) + (g(x) + (x + x)'))))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[para(12(a,1),99(a,1,1,2,1)),rewrite([19(8),7(7),7(6),19(8),19(7),6(12)])].">
      <j1 rule="para" parents="12 99"/>
      <j2 rule="rewrite" parents="19 7 7 19 19 6"/>
    </justification>
  </clause>

  <clause id="1814">
    <literal><![CDATA[
      (g(x) + (g(x) + ((x + x)' + (g(x) + h(x))'))')' = (g(x) + h(x))'
    ]]></literal>
    <justification jstring="[para(40(a,1),99(a,1,1,2)),rewrite([6(9),7(9),6(12)])].">
      <j1 rule="para" parents="40 99"/>
      <j2 rule="rewrite" parents="6 7 6"/>
    </justification>
  </clause>

  <clause id="1991">
    <literal><![CDATA[
      (x + (x + (h(x)' + (g(x) + h(x))'))')' = h(x)'
    ]]></literal>
    <justification jstring="[para(37(a,1),101(a,1,1,2)),rewrite([19(8),6(10)])].">
      <j1 rule="para" parents="37 101"/>
      <j2 rule="rewrite" parents="19 6"/>
    </justification>
  </clause>

  <clause id="2012">
    <literal><![CDATA[
      (h(x)' + (x + (x + (h(x)' + (g(x) + h(x))'))'')')' = x
    ]]></literal>
    <justification jstring="[para(1991(a,1),8(a,1,1,1))].">
      <j1 rule="para" parents="1991 8"/>
    </justification>
  </clause>

  <clause id="2107">
    <literal><![CDATA[
      (h(x)' + (x + (x + (g(x) + (h(x)' + (x + (x + (g(x) + x')))''))))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[para(58(a,1),25(a,1,1,2,1,2,2)),rewrite([6(15),7(15),7(14),19(16),19(15),19(14),58(29)])].">
      <j1 rule="para" parents="58 25"/>
      <j2 rule="rewrite" parents="6 7 7 19 19 19 58"/>
    </justification>
  </clause>

  <clause id="3554">
    <literal><![CDATA[
      x + (y + (g(x) + (z + h(x)))) = y + (x + (x + (x + (x + (g(x) + (z + g(x)))))))
    ]]></literal>
    <justification jstring="[para(462(a,2),435(a,2,2,2)),rewrite([6(5),19(5),29(4)]),flip(a)].">
      <j1 rule="para" parents="462 435"/>
      <j2 rule="rewrite" parents="6 19 29"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="3915">
    <literal><![CDATA[
      ((x' + (y + x))' + (y + g(x))')' = y
    ]]></literal>
    <justification jstring="[para(10(a,1),597(a,1,1,2,1,2))].">
      <j1 rule="para" parents="10 597"/>
    </justification>
  </clause>

  <clause id="3919">
    <literal><![CDATA[
      ((x + y)' + (h(y)' + (x + g(y)))')' = x
    ]]></literal>
    <justification jstring="[para(37(a,1),597(a,1,1,2,1,2)),rewrite([6(9)])].">
      <j1 rule="para" parents="37 597"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="4470">
    <literal><![CDATA[
      (x + (g(x) + (x + (g(x) + (h(x)' + (x + x)')))'))' = h(x)'
    ]]></literal>
    <justification jstring="[para(1000(a,1),8(a,1,1,2)),rewrite([19(8),19(7),6(12),7(12)])].">
      <j1 rule="para" parents="1000 8"/>
      <j2 rule="rewrite" parents="19 19 6 7"/>
    </justification>
  </clause>

  <clause id="7586">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (x + (g(x) + (g(x) + (x' + h(x)')))))))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[para(58(a,1),95(a,1,1,2,1,2,2)),rewrite([6(13),19(13),19(12),19(11),7(10),7(9),19(11),19(10),6(14),7(14),7(13),7(12),7(11),7(10),7(9),58(27)])].">
      <j1 rule="para" parents="58 95"/>
      <j2 rule="rewrite" parents="6 19 19 19 7 7 19 19 6 7 7 7 7 7 7 58"/>
    </justification>
  </clause>

  <clause id="14441">
    <literal><![CDATA[
      (g(x) + (g(x) + ((x + x)' + (x + (x + (x + (g(x) + g(x)))))'))')' = (g(x) + h(x))'
    ]]></literal>
    <justification jstring="[para(30(a,1),1814(a,1,1,2,1,2,2,1)),rewrite([6(7),19(8)])].">
      <j1 rule="para" parents="30 1814"/>
      <j2 rule="rewrite" parents="6 19"/>
    </justification>
  </clause>

  <clause id="14491">
    <literal><![CDATA[
      (x + (x + (g(x) + (x + (h(x)' + (x + (h(x)' + (g(x) + h(x))'))''))'))')' = g(x)
    ]]></literal>
    <justification jstring="[para(2012(a,1),365(a,1,1,2,1,2,2)),rewrite([19(15),6(17),19(18)])].">
      <j1 rule="para" parents="2012 365"/>
      <j2 rule="rewrite" parents="19 6 19"/>
    </justification>
  </clause>

  <clause id="14619">
    <literal><![CDATA[
      (x + h(x)')' = g(x)
    ]]></literal>
    <justification jstring="[para(4470(a,1),32(a,1,1,1)),rewrite([572(14),28(7),6(3)])].">
      <j1 rule="para" parents="4470 32"/>
      <j2 rule="rewrite" parents="572 28 6"/>
    </justification>
  </clause>

  <clause id="14629">
    <literal><![CDATA[
      (g(x) + (x + h(x))')' = x
    ]]></literal>
    <justification jstring="[para(14619(a,1),8(a,1,1,2)),rewrite([6(5)])].">
      <j1 rule="para" parents="14619 8"/>
      <j2 rule="rewrite" parents="6"/>
    </justification>
  </clause>

  <clause id="14660">
    <literal><![CDATA[
      (g(x) + (g(x) + (h(x)' + (x + x)'))')' = h(x)'
    ]]></literal>
    <justification jstring="[para(14619(a,1),99(a,1,1,2)),rewrite([19(7),6(10)])].">
      <j1 rule="para" parents="14619 99"/>
      <j2 rule="rewrite" parents="19 6"/>
    </justification>
  </clause>

  <clause id="14683">
    <literal><![CDATA[
      (x + (x + (g(x) + h(x)))')' = g(x)
    ]]></literal>
    <justification jstring="[para(14619(a,1),95(a,1,1,2,1,2,2)),rewrite([6(3),14619(11)])].">
      <j1 rule="para" parents="14619 95"/>
      <j2 rule="rewrite" parents="6 14619"/>
    </justification>
  </clause>

  <clause id="14690">
    <literal><![CDATA[
      (g(x) + (g(x) + (h(x)' + (x + (g(x) + h(x)))'))')' = h(x)'
    ]]></literal>
    <justification jstring="[para(14619(a,1),109(a,1,1,2)),rewrite([19(10),6(13)])].">
      <j1 rule="para" parents="14619 109"/>
      <j2 rule="rewrite" parents="19 6"/>
    </justification>
  </clause>

  <clause id="14817">
    <literal><![CDATA[
      (g(x) + (x + (x + (g(x) + h(x))))')' = x
    ]]></literal>
    <justification jstring="[para(14629(a,1),95(a,1,1,2,1,2,2)),rewrite([6(5),19(6),19(5),14629(15)])].">
      <j1 rule="para" parents="14629 95"/>
      <j2 rule="rewrite" parents="6 19 19 14629"/>
    </justification>
  </clause>

  <clause id="14993">
    <literal><![CDATA[
      (x + (g(x) + h(x)))' = h(x)'
    ]]></literal>
    <justification jstring="[para(14683(a,1),100(a,1,1,2)),rewrite([6(10),7(10),6(13),14690(14)]),flip(a)].">
      <j1 rule="para" parents="14683 100"/>
      <j2 rule="rewrite" parents="6 7 6 14690"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="14997">
    <literal><![CDATA[
      (x + (x + (x + (x + (x + (x + (g(x) + (g(x) + g(x))))))))')' = g(x)
    ]]></literal>
    <justification jstring="[para(14683(a,1),95(a,1,1,2,1,2,2)),rewrite([6(6),19(6),3554(7),14993(18),14619(17)])].">
      <j1 rule="para" parents="14683 95"/>
      <j2 rule="rewrite" parents="6 19 3554 14993 14619"/>
    </justification>
  </clause>

  <clause id="15004">
    <literal><![CDATA[
      (x + (x + (x + (x + (g(x) + g(x))))))' = h(x)'
    ]]></literal>
    <justification jstring="[para(30(a,1),14993(a,1,1,2)),rewrite([6(3),19(4)])].">
      <j1 rule="para" parents="30 14993"/>
      <j2 rule="rewrite" parents="6 19"/>
    </justification>
  </clause>

  <clause id="15005">
    <literal><![CDATA[
      (h(x)' + (x + (g(x) + h(x)'))')' = x + g(x)
    ]]></literal>
    <justification jstring="[para(14993(a,1),22(a,1,1,1))].">
      <j1 rule="para" parents="14993 22"/>
    </justification>
  </clause>

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

  <clause id="16389">
    <literal><![CDATA[
      x + (x + (g(x) + g(x))) = x + (x + g(x))
    ]]></literal>
    <justification jstring="[para(15004(a,1),49(a,1,1,1)),rewrite([7(10),7(9),7(8),1812(13)]),flip(a)].">
      <j1 rule="para" parents="15004 49"/>
      <j2 rule="rewrite" parents="7 7 7 1812"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="16393">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (g(x) + (g(x) + h(x)')))))')' = h(x)
    ]]></literal>
    <justification jstring="[para(15004(a,1),325(a,1,1,1)),rewrite([16389(7),12(6),19(8),29(7),19(11),19(10),19(9),16389(19),12(18)])].">
      <j1 rule="para" parents="15004 325"/>
      <j2 rule="rewrite" parents="16389 12 19 29 19 19 19 16389 12"/>
    </justification>
  </clause>

  <clause id="16397">
    <literal><![CDATA[
      (x + h(x))' = h(x)'
    ]]></literal>
    <justification jstring="[para(15004(a,1),53(a,2)),rewrite([16389(5),12(4),16389(6),12(5),16389(8),12(7),29(8),29(13),1477(17)])].">
      <j1 rule="para" parents="15004 53"/>
      <j2 rule="rewrite" parents="16389 12 16389 12 16389 12 29 29 1477"/>
    </justification>
  </clause>

  <clause id="16490">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (x + (x + (x + (g(x) + (g(x) + (x' + h(x)')))))))))')' = h(x)
    ]]></literal>
    <justification jstring="[para(15004(a,1),1463(a,1,1,1)),rewrite([16389(7),12(6),16389(8),12(7),16389(10),12(9),16397(8),29(9),19(13),19(12),19(11),19(10),29(9),19(13),19(12),19(11),16389(24),12(23)])].">
      <j1 rule="para" parents="15004 1463"/>
      <j2 rule="rewrite" parents="16389 12 16389 12 16389 12 16397 29 19 19 19 19 29 19 19 19 16389 12"/>
    </justification>
  </clause>

  <clause id="16497">
    <literal><![CDATA[
      (g(x) + (x + (x + h(x)))')' = x
    ]]></literal>
    <justification jstring="[back_rewrite(15465),rewrite([16389(6),12(5)])].">
      <j1 rule="back_rewrite" parents="15465"/>
      <j2 rule="rewrite" parents="16389 12"/>
    </justification>
  </clause>

  <clause id="16498">
    <literal><![CDATA[
      (g(x) + h(x))' = h(x)'
    ]]></literal>
    <justification jstring="[back_rewrite(14441),rewrite([16389(9),12(8),6(7),14660(11)]),flip(a)].">
      <j1 rule="back_rewrite" parents="14441"/>
      <j2 rule="rewrite" parents="16389 12 6 14660"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="16502">
    <literal><![CDATA[
      (x + (x + (g(x) + (x + (h(x)' + (x + (h(x)' + h(x)'))''))'))')' = g(x)
    ]]></literal>
    <justification jstring="[back_rewrite(14491),rewrite([16498(9)])].">
      <j1 rule="back_rewrite" parents="14491"/>
      <j2 rule="rewrite" parents="16498"/>
    </justification>
  </clause>

  <clause id="16606">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (x + (g(x) + x')))))')' = h(x)
    ]]></literal>
    <justification jstring="[para(16498(a,1),96(a,1,1,2)),rewrite([19(4),29(3),6(11)])].">
      <j1 rule="para" parents="16498 96"/>
      <j2 rule="rewrite" parents="19 29 6"/>
    </justification>
  </clause>

  <clause id="16705">
    <literal><![CDATA[
      ((x + (g(y) + (y + (y + h(y)))'))' + (y + x)')' = x
    ]]></literal>
    <justification jstring="[para(16497(a,1),21(a,1,1,2,1,1))].">
      <j1 rule="para" parents="16497 21"/>
    </justification>
  </clause>

  <clause id="16819">
    <literal><![CDATA[
      x + (x + (g(x) + (g(x) + y))) = x + (x + (g(x) + y))
    ]]></literal>
    <justification jstring="[para(16389(a,1),7(a,1,1)),rewrite([7(4),7(3),7(9),7(8)]),flip(a)].">
      <j1 rule="para" parents="16389 7"/>
      <j2 rule="rewrite" parents="7 7 7 7"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="16824">
    <literal><![CDATA[
      g(x) + h(x) = h(x)
    ]]></literal>
    <justification jstring="[para(16389(a,1),29(a,2,2)),rewrite([6(3),12(7)])].">
      <j1 rule="para" parents="16389 29"/>
      <j2 rule="rewrite" parents="6 12"/>
    </justification>
  </clause>

  <clause id="16838">
    <literal><![CDATA[
      g(x) + (y + h(x)) = y + h(x)
    ]]></literal>
    <justification jstring="[para(16389(a,1),434(a,2,2,2)),rewrite([12(8)])].">
      <j1 rule="para" parents="16389 434"/>
      <j2 rule="rewrite" parents="12"/>
    </justification>
  </clause>

  <clause id="16882">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (x + (x + (x + (g(x) + (x' + h(x)'))))))))')' = h(x)
    ]]></literal>
    <justification jstring="[back_rewrite(16490),rewrite([16819(12)])].">
      <j1 rule="back_rewrite" parents="16490"/>
      <j2 rule="rewrite" parents="16819"/>
    </justification>
  </clause>

  <clause id="16886">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (g(x) + h(x)'))))')' = h(x)
    ]]></literal>
    <justification jstring="[back_rewrite(16393),rewrite([16819(10)])].">
      <j1 rule="back_rewrite" parents="16393"/>
      <j2 rule="rewrite" parents="16819"/>
    </justification>
  </clause>

  <clause id="16899">
    <literal><![CDATA[
      (x + (x + (x + h(x)))')' = g(x)
    ]]></literal>
    <justification jstring="[back_rewrite(14997),rewrite([16819(7),16389(5),12(4)])].">
      <j1 rule="back_rewrite" parents="14997"/>
      <j2 rule="rewrite" parents="16819 16389 12"/>
    </justification>
  </clause>

  <clause id="16967">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (x + (g(x) + (x' + h(x)'))))))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[back_rewrite(7586),rewrite([16819(12)])].">
      <j1 rule="back_rewrite" parents="7586"/>
      <j2 rule="rewrite" parents="16819"/>
    </justification>
  </clause>

  <clause id="17024">
    <literal><![CDATA[
      (h(x)' + (x + (x + (g(x) + h(x)')))')' = x + (x + g(x))
    ]]></literal>
    <justification jstring="[back_rewrite(795),rewrite([16819(10)])].">
      <j1 rule="back_rewrite" parents="795"/>
      <j2 rule="rewrite" parents="16819"/>
    </justification>
  </clause>

  <clause id="17068">
    <literal><![CDATA[
      ((x + h(y))' + (g(y) + (x + h(y)'))')' = g(y) + x
    ]]></literal>
    <justification jstring="[para(16824(a,1),155(a,1,1,1,1,2))].">
      <j1 rule="para" parents="16824 155"/>
    </justification>
  </clause>

  <clause id="17089">
    <literal><![CDATA[
      g(x) + (y + (z + h(x))) = y + (z + h(x))
    ]]></literal>
    <justification jstring="[para(7(a,1),16838(a,1,2)),rewrite([7(8)])].">
      <j1 rule="para" parents="7 16838"/>
      <j2 rule="rewrite" parents="7"/>
    </justification>
  </clause>

  <clause id="17160">
    <literal><![CDATA[
      (g(x) + (g(x) + (h(x)' + (x + (x + h(x)))'))')' = (x + (x + h(x)))'
    ]]></literal>
    <justification jstring="[para(16899(a,1),100(a,1,1,2)),rewrite([6(9),7(9),6(12)])].">
      <j1 rule="para" parents="16899 100"/>
      <j2 rule="rewrite" parents="6 7 6"/>
    </justification>
  </clause>

  <clause id="17391">
    <literal><![CDATA[
      ((x + (y + h(z)))' + (g(z) + (x + (y + h(z)')))')' = g(z) + (x + y)
    ]]></literal>
    <justification jstring="[para(17089(a,1),146(a,1,1,1,1))].">
      <j1 rule="para" parents="17089 146"/>
    </justification>
  </clause>

  <clause id="17527">
    <literal><![CDATA[
      (h(x)' + (x + (x + (g(x) + (h(x)' + h(x)'))))')' = x + g(x)
    ]]></literal>
    <justification jstring="[para(15005(a,1),95(a,1,1,2,1,2,2)),rewrite([6(12),19(12),19(11),7(10),19(11),16819(12),19(11),19(10),19(9),15005(24)])].">
      <j1 rule="para" parents="15005 95"/>
      <j2 rule="rewrite" parents="6 19 19 7 19 16819 19 19 19 15005"/>
    </justification>
  </clause>

  <clause id="18543">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (x + (x + (x + (g(x) + (h(x)' + h(x)'))))))))')' = h(x)
    ]]></literal>
    <justification jstring="[para(16886(a,1),95(a,1,1,2,1,2,2)),rewrite([6(13),19(13),19(12),19(11),19(10),29(9),19(13),19(12),19(11),16819(12),19(15),19(14),19(13),19(12),19(11),19(10),19(9),16886(30)])].">
      <j1 rule="para" parents="16886 95"/>
      <j2 rule="rewrite" parents="6 19 19 19 19 29 19 19 19 16819 19 19 19 19 19 19 19 16886"/>
    </justification>
  </clause>

  <clause id="18669">
    <literal><![CDATA[
      ((x + h(y))' + (g(y) + (x + (g(y) + (x + (h(y)' + (x + h(y))')))))')' = g(y) + x
    ]]></literal>
    <justification jstring="[para(17068(a,1),95(a,1,1,2,1,2,2)),rewrite([6(14),19(14),19(13),7(12),6(15),7(15),7(14),7(13),7(12),17068(29)])].">
      <j1 rule="para" parents="17068 95"/>
      <j2 rule="rewrite" parents="6 19 19 7 6 7 7 7 7 17068"/>
    </justification>
  </clause>

  <clause id="19505">
    <literal><![CDATA[
      (x + (x + (x + (x + (g(x) + (x' + h(x)'))))))' = (x + (x + (g(x) + h(x)')))'
    ]]></literal>
    <justification jstring="[para(16606(a,1),23(a,1,1,2,1,2,1)),rewrite([6(12),7(12),7(11),7(10),7(9),7(8),6(16),16967(17),6(6),7(6),7(5),6(17),7(17),7(16),7(15),7(14),7(13)]),flip(a)].">
      <j1 rule="para" parents="16606 23"/>
      <j2 rule="rewrite" parents="6 7 7 7 7 7 6 16967 6 7 7 6 7 7 7 7 7"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="19643">
    <literal><![CDATA[
      (x + (x + h(x)))' = h(x)'
    ]]></literal>
    <justification jstring="[para(14619(a,1),16705(a,1,1,2)),rewrite([19(9),6(12),17160(13)])].">
      <j1 rule="para" parents="14619 16705"/>
      <j2 rule="rewrite" parents="19 6 17160"/>
    </justification>
  </clause>

  <clause id="19645">
    <literal><![CDATA[
      x + h(x) = h(x)
    ]]></literal>
    <justification jstring="[para(19643(a,1),20(a,1,1,1)),rewrite([7(6),29(5),16606(12)]),flip(a)].">
      <j1 rule="para" parents="19643 20"/>
      <j2 rule="rewrite" parents="7 29 16606"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="19646">
    <literal><![CDATA[
      (h(x)' + (x + (x + h(x)'))')' = x + x
    ]]></literal>
    <justification jstring="[para(19643(a,1),22(a,1,1,1))].">
      <j1 rule="para" parents="19643 22"/>
    </justification>
  </clause>

  <clause id="19674">
    <literal><![CDATA[
      x + (x + (x + (x + (g(x) + y)))) = x + (x + (x + (g(x) + y)))
    ]]></literal>
    <justification jstring="[para(19645(a,1),7(a,1,1)),rewrite([29(2),29(7)]),flip(a)].">
      <j1 rule="para" parents="19645 7"/>
      <j2 rule="rewrite" parents="29 29"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="19715">
    <literal><![CDATA[
      (x + (x + (x + (g(x) + (x' + h(x)')))))' = (x + (x + (g(x) + h(x)')))'
    ]]></literal>
    <justification jstring="[back_rewrite(19505),rewrite([19674(10)])].">
      <j1 rule="back_rewrite" parents="19505"/>
      <j2 rule="rewrite" parents="19674"/>
    </justification>
  </clause>

  <clause id="19718">
    <literal><![CDATA[
      (h(x)' + (x + (x + (x + (g(x) + (h(x)' + h(x)')))))')' = h(x)
    ]]></literal>
    <justification jstring="[back_rewrite(18543),rewrite([19674(13),19674(13),19674(13)])].">
      <j1 rule="back_rewrite" parents="18543"/>
      <j2 rule="rewrite" parents="19674 19674 19674"/>
    </justification>
  </clause>

  <clause id="19724">
    <literal><![CDATA[
      x + (x + g(x)) = h(x)
    ]]></literal>
    <justification jstring="[back_rewrite(16882),rewrite([19674(12),19674(12),19674(12),19715(12),17024(11)])].">
      <j1 rule="back_rewrite" parents="16882"/>
      <j2 rule="rewrite" parents="19674 19674 19674 19715 17024"/>
    </justification>
  </clause>

  <clause id="19923">
    <literal><![CDATA[
      (h(x)' + (x + (x + (g(x) + (h(x)' + (x + (x + (g(x) + x')))''))))')' = h(x)
    ]]></literal>
    <justification jstring="[back_rewrite(2107),rewrite([19724(22)])].">
      <j1 rule="back_rewrite" parents="2107"/>
      <j2 rule="rewrite" parents="19724"/>
    </justification>
  </clause>

  <clause id="20001">
    <literal><![CDATA[
      x + (x + (x + (g(x) + y))) = x + (x + (g(x) + y))
    ]]></literal>
    <justification jstring="[para(19724(a,1),7(a,1,1)),rewrite([29(2),7(8)])].">
      <j1 rule="para" parents="19724 7"/>
      <j2 rule="rewrite" parents="29 7"/>
    </justification>
  </clause>

  <clause id="20114">
    <literal><![CDATA[
      x + g(x) = h(x)
    ]]></literal>
    <justification jstring="[back_rewrite(19718),rewrite([20001(12),17527(14)])].">
      <j1 rule="back_rewrite" parents="19718"/>
      <j2 rule="rewrite" parents="20001 17527"/>
    </justification>
  </clause>

  <clause id="21714">
    <literal><![CDATA[
      (x + (x + (x + (g(x) + (x + (g(x)' + h(x)'))')))')' = (x + (g(x)' + h(x)'))'
    ]]></literal>
    <justification jstring="[back_rewrite(547),rewrite([20001(12)])].">
      <j1 rule="back_rewrite" parents="547"/>
      <j2 rule="rewrite" parents="20001"/>
    </justification>
  </clause>

  <clause id="21731">
    <literal><![CDATA[
      h(x) + y = x + (x + (g(x) + y))
    ]]></literal>
    <justification jstring="[back_rewrite(29),rewrite([20001(7)])].">
      <j1 rule="back_rewrite" parents="29"/>
      <j2 rule="rewrite" parents="20001"/>
    </justification>
  </clause>

  <clause id="21878">
    <literal><![CDATA[
      x + (x + (g(x) + y)) = x + (g(x) + y)
    ]]></literal>
    <justification jstring="[para(20114(a,1),7(a,1,1)),rewrite([21731(2)])].">
      <j1 rule="para" parents="20114 7"/>
      <j2 rule="rewrite" parents="21731"/>
    </justification>
  </clause>

  <clause id="21899">
    <literal><![CDATA[
      h(x)' = x'
    ]]></literal>
    <justification jstring="[para(20114(a,1),53(a,1,1,2,1,2,2,1)),rewrite([794(10),20114(3)]),flip(a)].">
      <j1 rule="para" parents="20114 53"/>
      <j2 rule="rewrite" parents="794 20114"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="21917">
    <literal><![CDATA[
      (x' + (x + (x + x'))')' = x
    ]]></literal>
    <justification jstring="[para(20114(a,1),3915(a,1,1,2,1)),rewrite([6(3),7(3),21899(6),6(6)])].">
      <j1 rule="para" parents="20114 3915"/>
      <j2 rule="rewrite" parents="6 7 21899 6"/>
    </justification>
  </clause>

  <clause id="21918">
    <literal><![CDATA[
      ((x + x)' + (x + (g(x) + x'))')' = x
    ]]></literal>
    <justification jstring="[para(20114(a,1),3919(a,1,1,2,1,2)),rewrite([21899(4),6(5),21731(5),21878(7)])].">
      <j1 rule="para" parents="20114 3919"/>
      <j2 rule="rewrite" parents="21899 6 21731 21878"/>
    </justification>
  </clause>

  <clause id="21953">
    <literal><![CDATA[
      (x' + (x + (g(x) + x'))')' = h(x)
    ]]></literal>
    <justification jstring="[para(20114(a,1),475(a,1,1,1,1,2,2,2)),rewrite([19645(2),19645(2),19645(2),21899(2),6(4),21731(4),21878(6)])].">
      <j1 rule="para" parents="20114 475"/>
      <j2 rule="rewrite" parents="19645 19645 19645 21899 6 21731 21878"/>
    </justification>
  </clause>

  <clause id="22044">
    <literal><![CDATA[
      (x + (x + (g(x) + (x + (x' + g(x)'))'))')' = (x + (x' + g(x)'))'
    ]]></literal>
    <justification jstring="[back_rewrite(21714),rewrite([21899(5),6(5),21878(10),21899(16),6(16)])].">
      <j1 rule="back_rewrite" parents="21714"/>
      <j2 rule="rewrite" parents="21899 6 21878 21899 6"/>
    </justification>
  </clause>

  <clause id="23392">
    <literal><![CDATA[
      (x' + (x + (g(x) + (x' + (x + (g(x) + x'))'')))')' = h(x)
    ]]></literal>
    <justification jstring="[back_rewrite(19923),rewrite([21899(2),21899(4),21878(8),21878(13)])].">
      <j1 rule="back_rewrite" parents="19923"/>
      <j2 rule="rewrite" parents="21899 21899 21878 21878"/>
    </justification>
  </clause>

  <clause id="24690">
    <literal><![CDATA[
      x + x = x
    ]]></literal>
    <justification jstring="[back_rewrite(19646),rewrite([21899(2),21899(3),21917(7)]),flip(a)].">
      <j1 rule="back_rewrite" parents="19646"/>
      <j2 rule="rewrite" parents="21899 21899 21917"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="24840">
    <literal><![CDATA[
      ((x + h(y))' + (g(y) + (x + (g(y) + (x + (y' + (x + h(y))')))))')' = g(y) + x
    ]]></literal>
    <justification jstring="[back_rewrite(18669),rewrite([21899(7)])].">
      <j1 rule="back_rewrite" parents="18669"/>
      <j2 rule="rewrite" parents="21899"/>
    </justification>
  </clause>

  <clause id="24954">
    <literal><![CDATA[
      ((x + (y + h(z)))' + (g(z) + (x + (y + z')))')' = g(z) + (x + y)
    ]]></literal>
    <justification jstring="[back_rewrite(17391),rewrite([21899(7)])].">
      <j1 rule="back_rewrite" parents="17391"/>
      <j2 rule="rewrite" parents="21899"/>
    </justification>
  </clause>

  <clause id="24996">
    <literal><![CDATA[
      (x + (x' + g(x)'))' = g(x)
    ]]></literal>
    <justification jstring="[back_rewrite(16502),rewrite([21899(3),21899(4),21899(5),24690(5),10(5),22044(12)])].">
      <j1 rule="back_rewrite" parents="16502"/>
      <j2 rule="rewrite" parents="21899 21899 21899 24690 10 22044"/>
    </justification>
  </clause>

  <clause id="26319">
    <literal><![CDATA[
      ((x + (y + z))' + (g(z) + (x + (y + z')))')' = x + y
    ]]></literal>
    <justification jstring="[back_rewrite(1280),rewrite([21899(6)])].">
      <j1 rule="back_rewrite" parents="1280"/>
      <j2 rule="rewrite" parents="21899"/>
    </justification>
  </clause>

  <clause id="26707">
    <literal><![CDATA[
      h(x) = x
    ]]></literal>
    <justification jstring="[back_rewrite(21918),rewrite([24690(1),21953(8)])].">
      <j1 rule="back_rewrite" parents="21918"/>
      <j2 rule="rewrite" parents="24690 21953"/>
    </justification>
  </clause>

  <clause id="27965">
    <literal><![CDATA[
      g(x) + (y + z) = y + z
    ]]></literal>
    <justification jstring="[back_rewrite(24954),rewrite([26707(1),26319(11)]),flip(a)].">
      <j1 rule="back_rewrite" parents="24954"/>
      <j2 rule="rewrite" parents="26707 26319"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="27968">
    <literal><![CDATA[
      g(x) + y = y
    ]]></literal>
    <justification jstring="[back_rewrite(24840),rewrite([26707(1),26707(6),27965(10),27965(10),500(11)]),flip(a)].">
      <j1 rule="back_rewrite" parents="24840"/>
      <j2 rule="rewrite" parents="26707 26707 27965 27965 500"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="28152">
    <literal><![CDATA[
      x'' = x
    ]]></literal>
    <justification jstring="[back_rewrite(23392),rewrite([27968(6),10(6),27968(7),24996(7),6(3),27968(3),26707(3)])].">
      <j1 rule="back_rewrite" parents="23392"/>
      <j2 rule="rewrite" parents="27968 10 27968 24996 6 27968 26707"/>
    </justification>
  </clause>

  <clause id="28799">
    <literal><![CDATA[
      (x + y)' + (x' + y)' = y'
    ]]></literal>
    <justification jstring="[para(47(a,1),28152(a,1,1)),flip(a)].">
      <j1 rule="para" parents="47 28152"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="28875">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer(Huntington)
    ]]></attribute>
    <justification jstring="[back_rewrite(13),rewrite([28799(12),28152(3)]),xx(a)].">
      <j1 rule="back_rewrite" parents="13"/>
      <j2 rule="rewrite" parents="28799 28152"/>
      <j2 rule="xx"/>
    </justification>
  </clause>

</proof>

</proofs>
