<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE proofs SYSTEM "proof3.dtd">

<?xml-stylesheet type="text/xsl" href="proof3.xsl"?>

<proofs number_of_proofs="1">

<source>mk.out</source>

<heading><![CDATA[
Prover9 (64) version 2009-02A, February 2009.
Process 9884 was started by veroff on theorem,
Mon Jan 26 15:32:14 2015
The command was "prover9 -f mk.in".
]]></heading>

<proof number="1" length="214" max_count="27">

<comments><![CDATA[
% Proof 1 at 0.40 (+ 0.01) seconds: "main conjecture".
% Length of proof is 214.
% Level of proof is 58.
% Maximum clause weight is 1011.
% Given clauses 208.

]]></comments>

  <clause id="1" type="goal">
    <literal><![CDATA[
      m(c(x,y),z) = m(x,m(y,z))
    ]]></literal>
    <attribute><![CDATA[
      label("main conjecture")
    ]]></attribute>
    <attribute><![CDATA[
      label(non_clause)
    ]]></attribute>
    <attribute><![CDATA[
      label(goal)
    ]]></attribute>
    <justification jstring="[goal].">
      <j1 rule="goal"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

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

  <clause id="10" type="assumption">
    <literal><![CDATA[
      c(x,y) = x + (x ==> y)
    ]]></literal>
    <attribute><![CDATA[
      label("weak conjunction")
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="12" type="assumption">
    <literal><![CDATA[
      m(x,y) = x ==> (x + y)
    ]]></literal>
    <attribute><![CDATA[
      label("strong implication")
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="14" type="deny">
    <literal><![CDATA[
      m(c(c1,c2),c3) != m(c1,m(c2,c3))
    ]]></literal>
    <attribute><![CDATA[
      label("main conjecture")
    ]]></attribute>
    <attribute><![CDATA[
      answer("main conjecture")
    ]]></attribute>
    <justification jstring="[deny(1)].">
      <j1 rule="deny" parents="1"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

  <clause id="22">
    <literal><![CDATA[
      x ==> ((x ==> y) ==> z) = c(x,y) ==> z
    ]]></literal>
    <justification jstring="[para(11(a,1),8(a,1,1)),flip(a)].">
      <j1 rule="para" parents="11 8"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="24">
    <literal><![CDATA[
      x ==> (y + x) = m(x,y)
    ]]></literal>
    <justification jstring="[para(3(a,1),13(a,1,2))].">
      <j1 rule="para" parents="3 13"/>
    </justification>
  </clause>

  <clause id="25">
    <literal><![CDATA[
      0 + x = m(0,x)
    ]]></literal>
    <justification jstring="[para(13(a,1),7(a,1)),flip(a)].">
      <j1 rule="para" parents="13 7"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="26">
    <literal><![CDATA[
      x + m(x,y) = c(x,x + y)
    ]]></literal>
    <justification jstring="[para(13(a,1),11(a,1,2))].">
      <j1 rule="para" parents="13 11"/>
    </justification>
  </clause>

  <clause id="27">
    <literal><![CDATA[
      c(x,0) = x
    ]]></literal>
    <justification jstring="[para(21(a,1),4(a,1))].">
      <j1 rule="para" parents="21 4"/>
    </justification>
  </clause>

  <clause id="29">
    <literal><![CDATA[
      m(0,x) = x
    ]]></literal>
    <justification jstring="[para(25(a,1),16(a,1))].">
      <j1 rule="para" parents="25 16"/>
    </justification>
  </clause>

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

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

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

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

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

  <clause id="36">
    <literal><![CDATA[
      (x ==> y) ==> c(x,y) = m(x ==> y,x)
    ]]></literal>
    <justification jstring="[para(11(a,1),24(a,1,2))].">
      <j1 rule="para" parents="11 24"/>
    </justification>
  </clause>

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

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

  <clause id="40">
    <literal><![CDATA[
      c(x,m(y,x)) = x + 0
    ]]></literal>
    <justification jstring="[para(37(a,1),11(a,1,2)),flip(a)].">
      <j1 rule="para" parents="37 11"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="42">
    <literal><![CDATA[
      c(x,y) ==> y = 0
    ]]></literal>
    <justification jstring="[para(11(a,1),30(a,1,1))].">
      <j1 rule="para" parents="11 30"/>
    </justification>
  </clause>

  <clause id="43">
    <literal><![CDATA[
      c(x,y) ==> x = 0
    ]]></literal>
    <justification jstring="[para(23(a,1),30(a,1,1))].">
      <j1 rule="para" parents="23 30"/>
    </justification>
  </clause>

  <clause id="44">
    <literal><![CDATA[
      c(x,m(y,x)) = x
    ]]></literal>
    <justification jstring="[para(40(a,2),4(a,1))].">
      <j1 rule="para" parents="40 4"/>
    </justification>
  </clause>

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

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

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

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

  <clause id="50">
    <literal><![CDATA[
      c(x,(x ==> y) ==> y) = x
    ]]></literal>
    <justification jstring="[para(4(a,1),46(a,2))].">
      <j1 rule="para" parents="4 46"/>
    </justification>
  </clause>

  <clause id="51">
    <literal><![CDATA[
      x + (y + (x ==> z)) = y + c(x,z)
    ]]></literal>
    <justification jstring="[para(11(a,1),47(a,1,2)),flip(a)].">
      <j1 rule="para" parents="11 47"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="53">
    <literal><![CDATA[
      x + (y ==> (x ==> z)) = c(x,y ==> z)
    ]]></literal>
    <justification jstring="[para(48(a,1),11(a,1,2))].">
      <j1 rule="para" parents="48 11"/>
    </justification>
  </clause>

  <clause id="54">
    <literal><![CDATA[
      x ==> (y ==> (x + z)) = y ==> m(x,z)
    ]]></literal>
    <justification jstring="[para(13(a,1),48(a,1,2)),flip(a)].">
      <j1 rule="para" parents="13 48"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="55">
    <literal><![CDATA[
      c(x,y) ==> (z ==> x) = z ==> 0
    ]]></literal>
    <justification jstring="[para(43(a,1),48(a,1,2)),flip(a)].">
      <j1 rule="para" parents="43 48"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="57">
    <literal><![CDATA[
      c(x,y ==> x) = x + 0
    ]]></literal>
    <justification jstring="[para(56(a,1),11(a,1,2)),flip(a)].">
      <j1 rule="para" parents="56 11"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="58">
    <literal><![CDATA[
      c(x,y ==> x) = x
    ]]></literal>
    <justification jstring="[para(4(a,1),57(a,2))].">
      <j1 rule="para" parents="4 57"/>
    </justification>
  </clause>

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

  <clause id="60">
    <literal><![CDATA[
      c(x,y) ==> (z ==> x) = 0
    ]]></literal>
    <justification jstring="[para(55(a,2),6(a,1))].">
      <j1 rule="para" parents="55 6"/>
    </justification>
  </clause>

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

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

  <clause id="63">
    <literal><![CDATA[
      c(x,y + x) ==> z = x ==> (m(x,y) ==> z)
    ]]></literal>
    <justification jstring="[para(24(a,1),22(a,1,2,1)),flip(a)].">
      <j1 rule="para" parents="24 22"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="64">
    <literal><![CDATA[
      c(c(x,y),z) ==> x = 0
    ]]></literal>
    <justification jstring="[para(22(a,1),60(a,1))].">
      <j1 rule="para" parents="22 60"/>
    </justification>
  </clause>

  <clause id="65">
    <literal><![CDATA[
      c(x,c(y,z)) ==> y = 0
    ]]></literal>
    <justification jstring="[para(31(a,1),64(a,1,1))].">
      <j1 rule="para" parents="31 64"/>
    </justification>
  </clause>

  <clause id="66">
    <literal><![CDATA[
      (x ==> y) ==> (z ==> c(x,y)) = z ==> m(x ==> y,x)
    ]]></literal>
    <justification jstring="[para(36(a,1),48(a,1,2)),flip(a)].">
      <j1 rule="para" parents="36 48"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="67">
    <literal><![CDATA[
      (m(x,y) ==> y) ==> y = m(m(x,y) ==> y,m(x,y))
    ]]></literal>
    <justification jstring="[para(44(a,1),38(a,1,2))].">
      <j1 rule="para" parents="44 38"/>
    </justification>
  </clause>

  <clause id="68">
    <literal><![CDATA[
      c(x,c(y,x ==> z) ==> z) = x + 0
    ]]></literal>
    <justification jstring="[para(42(a,1),53(a,1,2)),flip(a)].">
      <j1 rule="para" parents="42 53"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

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

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

  <clause id="73">
    <literal><![CDATA[
      x ==> m(y,z + x) = m(x + y,z)
    ]]></literal>
    <justification jstring="[para(34(a,1),35(a,1,2))].">
      <j1 rule="para" parents="34 35"/>
    </justification>
  </clause>

  <clause id="74">
    <literal><![CDATA[
      x ==> m(y,x + z) = m(x + y,z)
    ]]></literal>
    <justification jstring="[para(3(a,1),73(a,1,2,2))].">
      <j1 rule="para" parents="3 73"/>
    </justification>
  </clause>

  <clause id="75">
    <literal><![CDATA[
      x ==> m(y,x + z) = m(y + x,z)
    ]]></literal>
    <justification jstring="[para(3(a,1),74(a,2,1))].">
      <j1 rule="para" parents="3 74"/>
    </justification>
  </clause>

  <clause id="76">
    <literal><![CDATA[
      c(x,(x ==> y) ==> z) = x + (c(y,x) ==> z)
    ]]></literal>
    <justification jstring="[para(31(a,1),62(a,2,2,1))].">
      <j1 rule="para" parents="31 62"/>
    </justification>
  </clause>

  <clause id="77">
    <literal><![CDATA[
      c(x + y,z) = y + c(x,y ==> z)
    ]]></literal>
    <justification jstring="[para(72(a,1),51(a,1))].">
      <j1 rule="para" parents="72 51"/>
    </justification>
  </clause>

  <clause id="78">
    <literal><![CDATA[
      x + c(y,x ==> z) = c(x + y,z)
    ]]></literal>
    <justification jstring="[para(53(a,1),72(a,1,2))].">
      <j1 rule="para" parents="53 72"/>
    </justification>
  </clause>

  <clause id="79">
    <literal><![CDATA[
      c(x + y,m(z,y)) = y + c(x,0)
    ]]></literal>
    <justification jstring="[para(37(a,1),77(a,2,2,2))].">
      <j1 rule="para" parents="37 77"/>
    </justification>
  </clause>

  <clause id="80">
    <literal><![CDATA[
      c(x + y,x) = y + x
    ]]></literal>
    <justification jstring="[para(58(a,1),77(a,2,2))].">
      <j1 rule="para" parents="58 77"/>
    </justification>
  </clause>

  <clause id="81">
    <literal><![CDATA[
      c(x,x + y) = y + x
    ]]></literal>
    <justification jstring="[para(80(a,1),31(a,1)),flip(a)].">
      <j1 rule="para" parents="80 31"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="82">
    <literal><![CDATA[
      c(x,x + y) = x + y
    ]]></literal>
    <justification jstring="[para(81(a,2),3(a,1))].">
      <j1 rule="para" parents="81 3"/>
    </justification>
  </clause>

  <clause id="83">
    <literal><![CDATA[
      x + m(x,y) = y + x
    ]]></literal>
    <justification jstring="[para(81(a,1),26(a,2))].">
      <j1 rule="para" parents="81 26"/>
    </justification>
  </clause>

  <clause id="84">
    <literal><![CDATA[
      m(x,y) ==> (y + x) = m(m(x,y),x)
    ]]></literal>
    <justification jstring="[para(81(a,1),49(a,1,2))].">
      <j1 rule="para" parents="81 49"/>
    </justification>
  </clause>

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

  <clause id="86">
    <literal><![CDATA[
      x + m(x,y) = x + y
    ]]></literal>
    <justification jstring="[para(82(a,1),26(a,2))].">
      <j1 rule="para" parents="82 26"/>
    </justification>
  </clause>

  <clause id="87">
    <literal><![CDATA[
      c(x,y + z) ==> y = 0
    ]]></literal>
    <justification jstring="[para(82(a,1),65(a,1,1,2))].">
      <j1 rule="para" parents="82 65"/>
    </justification>
  </clause>

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

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

  <clause id="90">
    <literal><![CDATA[
      x ==> (x + y) = m(x,m(x,y))
    ]]></literal>
    <justification jstring="[para(86(a,1),13(a,1,2))].">
      <j1 rule="para" parents="86 13"/>
    </justification>
  </clause>

  <clause id="91">
    <literal><![CDATA[
      c(x,(x ==> (y + z)) ==> y) = x + 0
    ]]></literal>
    <justification jstring="[para(87(a,1),62(a,2,2))].">
      <j1 rule="para" parents="87 62"/>
    </justification>
  </clause>

  <clause id="92">
    <literal><![CDATA[
      m(x,m(x,y)) = m(x,y)
    ]]></literal>
    <justification jstring="[para(90(a,1),13(a,1))].">
      <j1 rule="para" parents="90 13"/>
    </justification>
  </clause>

  <clause id="93">
    <literal><![CDATA[
      x ==> c(x + y,z) = m(x,c(y,x ==> z))
    ]]></literal>
    <justification jstring="[para(78(a,1),13(a,1,2))].">
      <j1 rule="para" parents="78 13"/>
    </justification>
  </clause>

  <clause id="94">
    <literal><![CDATA[
      c(x,y ==> z) ==> c(y + x,z) = m(c(x,y ==> z),y)
    ]]></literal>
    <justification jstring="[para(78(a,1),24(a,1,2))].">
      <j1 rule="para" parents="78 24"/>
    </justification>
  </clause>

  <clause id="95">
    <literal><![CDATA[
      c(x + y,m(z,y)) = y + x
    ]]></literal>
    <justification jstring="[para(27(a,1),79(a,2,2))].">
      <j1 rule="para" parents="27 79"/>
    </justification>
  </clause>

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

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

  <clause id="98">
    <literal><![CDATA[
      c(x ==> (y + z),x ==> y) = x ==> (y + z)
    ]]></literal>
    <justification jstring="[para(97(a,1),71(a,1,2,1))].">
      <j1 rule="para" parents="97 71"/>
    </justification>
  </clause>

  <clause id="99">
    <literal><![CDATA[
      c(x,m(x,y) ==> z) = x + (x ==> (y ==> z))
    ]]></literal>
    <justification jstring="[para(96(a,1),11(a,1,2)),flip(a)].">
      <j1 rule="para" parents="96 11"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="100">
    <literal><![CDATA[
      m(x,y) ==> m(x,z) = x ==> (y ==> (x + z))
    ]]></literal>
    <justification jstring="[para(96(a,1),54(a,1)),flip(a)].">
      <j1 rule="para" parents="96 54"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="101">
    <literal><![CDATA[
      c(x ==> y,((x ==> y) ==> y) ==> z) = (x ==> y) + (y ==> z)
    ]]></literal>
    <justification jstring="[para(58(a,1),76(a,2,2,1))].">
      <j1 rule="para" parents="58 76"/>
    </justification>
  </clause>

  <clause id="102">
    <literal><![CDATA[
      m(x + y,m(x,z)) = m(x + y,z)
    ]]></literal>
    <justification jstring="[para(88(a,1),73(a,1))].">
      <j1 rule="para" parents="88 73"/>
    </justification>
  </clause>

  <clause id="103">
    <literal><![CDATA[
      m(x + (x ==> y),z) = m(c(x,y),m(x,z))
    ]]></literal>
    <justification jstring="[para(11(a,1),102(a,1,1)),flip(a)].">
      <j1 rule="para" parents="11 102"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="104">
    <literal><![CDATA[
      c(x ==> y,x ==> (y + z)) = x ==> (y + z)
    ]]></literal>
    <justification jstring="[para(98(a,1),31(a,1)),flip(a)].">
      <j1 rule="para" parents="98 31"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="105">
    <literal><![CDATA[
      c(x,m(x,y) ==> z) = c(x,y ==> z)
    ]]></literal>
    <justification jstring="[para(11(a,1),99(a,2))].">
      <j1 rule="para" parents="11 99"/>
    </justification>
  </clause>

  <clause id="106">
    <literal><![CDATA[
      m(x,y) ==> m(x,z) = y ==> m(x,z)
    ]]></literal>
    <justification jstring="[para(54(a,1),100(a,2))].">
      <j1 rule="para" parents="54 100"/>
    </justification>
  </clause>

  <clause id="107">
    <literal><![CDATA[
      m(c(x,y),m(x,z)) = m(c(x,y),z)
    ]]></literal>
    <justification jstring="[para(11(a,1),103(a,1,1)),flip(a)].">
      <j1 rule="para" parents="11 103"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="108">
    <literal><![CDATA[
      m(c(x,y),m(y,z)) = m(c(y,x),z)
    ]]></literal>
    <justification jstring="[para(31(a,1),107(a,1,1))].">
      <j1 rule="para" parents="31 107"/>
    </justification>
  </clause>

  <clause id="109">
    <literal><![CDATA[
      m(c(m(x,y),y),z) = m(y,m(m(x,y),z))
    ]]></literal>
    <justification jstring="[para(44(a,1),108(a,1,1)),flip(a)].">
      <j1 rule="para" parents="44 108"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="110">
    <literal><![CDATA[
      m(c(x ==> y,y),z) = m(y,m(x ==> y,z))
    ]]></literal>
    <justification jstring="[para(58(a,1),108(a,1,1)),flip(a)].">
      <j1 rule="para" parents="58 108"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="111">
    <literal><![CDATA[
      x ==> (y + (y ==> z)) = c(x ==> y,x ==> c(y,z))
    ]]></literal>
    <justification jstring="[para(11(a,1),104(a,1,2,2)),flip(a)].">
      <j1 rule="para" parents="11 104"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="112">
    <literal><![CDATA[
      m(c(x,m(y,x)),z) = m(x,m(m(y,x),z))
    ]]></literal>
    <justification jstring="[para(31(a,1),109(a,1,1))].">
      <j1 rule="para" parents="31 109"/>
    </justification>
  </clause>

  <clause id="113">
    <literal><![CDATA[
      m(c(x,y ==> x),z) = m(x,m(y ==> x,z))
    ]]></literal>
    <justification jstring="[para(31(a,1),110(a,1,1))].">
      <j1 rule="para" parents="31 110"/>
    </justification>
  </clause>

  <clause id="114">
    <literal><![CDATA[
      m(x,m(m(y,x),z)) = m(x,z)
    ]]></literal>
    <justification jstring="[para(44(a,1),112(a,1,1)),flip(a)].">
      <j1 rule="para" parents="44 112"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="115">
    <literal><![CDATA[
      m(m(x,y),z) + y = y + m(y,z)
    ]]></literal>
    <justification jstring="[para(114(a,1),83(a,1,2)),flip(a)].">
      <j1 rule="para" parents="114 83"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="116">
    <literal><![CDATA[
      m(m(m(x,y),z),m(m(y,z),u)) = m(m(m(x,y),z),u)
    ]]></literal>
    <justification jstring="[para(114(a,1),114(a,1,2,1))].">
      <j1 rule="para" parents="114 114"/>
    </justification>
  </clause>

  <clause id="117">
    <literal><![CDATA[
      m(m(x,y),z) + y = z + y
    ]]></literal>
    <justification jstring="[para(83(a,1),115(a,2))].">
      <j1 rule="para" parents="83 115"/>
    </justification>
  </clause>

  <clause id="118">
    <literal><![CDATA[
      x + m(m(y,x),z) = z + x
    ]]></literal>
    <justification jstring="[para(117(a,1),3(a,1)),flip(a)].">
      <j1 rule="para" parents="117 3"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="120">
    <literal><![CDATA[
      m(x,m(y ==> x,z)) = m(x,z)
    ]]></literal>
    <justification jstring="[para(58(a,1),113(a,1,1)),flip(a)].">
      <j1 rule="para" parents="58 113"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="121">
    <literal><![CDATA[
      (x ==> y) + (c(y,x) ==> z) = c(x ==> y,x ==> z)
    ]]></literal>
    <justification jstring="[para(31(a,1),69(a,1,2,1))].">
      <j1 rule="para" parents="31 69"/>
    </justification>
  </clause>

  <clause id="122">
    <literal><![CDATA[
      c(x ==> y,x ==> c(y,z)) = x ==> c(y,z)
    ]]></literal>
    <justification jstring="[para(11(a,1),111(a,1,2)),flip(a)].">
      <j1 rule="para" parents="11 111"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="123">
    <literal><![CDATA[
      x ==> c(y,x) = c(x ==> y,m(x,x ==> y))
    ]]></literal>
    <justification jstring="[para(32(a,1),122(a,1,2)),flip(a)].">
      <j1 rule="para" parents="32 122"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="124">
    <literal><![CDATA[
      (x ==> y) + (c(x,y) ==> c(y,z)) = x ==> c(y,z)
    ]]></literal>
    <justification jstring="[para(122(a,1),69(a,2))].">
      <j1 rule="para" parents="122 69"/>
    </justification>
  </clause>

  <clause id="125">
    <literal><![CDATA[
      x ==> c(y,x) = x ==> y
    ]]></literal>
    <justification jstring="[para(44(a,1),123(a,2))].">
      <j1 rule="para" parents="44 123"/>
    </justification>
  </clause>

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

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

  <clause id="128">
    <literal><![CDATA[
      x ==> (y ==> c(x,z)) = y ==> (x ==> z)
    ]]></literal>
    <justification jstring="[para(126(a,1),48(a,1,2)),flip(a)].">
      <j1 rule="para" parents="126 48"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="129">
    <literal><![CDATA[
      x ==> (y ==> (x + z)) = m(x,y ==> m(x,z))
    ]]></literal>
    <justification jstring="[para(54(a,1),127(a,1,2)),flip(a)].">
      <j1 rule="para" parents="54 127"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="130">
    <literal><![CDATA[
      x ==> m(y,z + x) = m(x,m(x + y,z))
    ]]></literal>
    <justification jstring="[para(73(a,1),127(a,1,2)),flip(a)].">
      <j1 rule="para" parents="73 127"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="132">
    <literal><![CDATA[
      m(x,y ==> m(x,z)) = y ==> m(x,z)
    ]]></literal>
    <justification jstring="[para(129(a,1),54(a,1))].">
      <j1 rule="para" parents="129 54"/>
    </justification>
  </clause>

  <clause id="133">
    <literal><![CDATA[
      m(x,m(x + y,z)) = m(x + y,z)
    ]]></literal>
    <justification jstring="[para(130(a,1),73(a,1))].">
      <j1 rule="para" parents="130 73"/>
    </justification>
  </clause>

  <clause id="134">
    <literal><![CDATA[
      m(x + (x ==> y),z) = m(x,m(c(x,y),z))
    ]]></literal>
    <justification jstring="[para(11(a,1),133(a,1,2,1)),flip(a)].">
      <j1 rule="para" parents="11 133"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="135">
    <literal><![CDATA[
      x ==> ((x ==> y) ==> z) = c(x,y) ==> c(x,z)
    ]]></literal>
    <justification jstring="[para(131(a,1),48(a,1)),flip(a)].">
      <j1 rule="para" parents="131 48"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="136">
    <literal><![CDATA[
      m(x,m(c(x,y),z)) = m(c(x,y),z)
    ]]></literal>
    <justification jstring="[para(11(a,1),134(a,1,1)),flip(a)].">
      <j1 rule="para" parents="11 134"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="137">
    <literal><![CDATA[
      m(c(x,y),z) = m(x,m(c(y,x),z))
    ]]></literal>
    <justification jstring="[para(31(a,1),136(a,1,2,1)),flip(a)].">
      <j1 rule="para" parents="31 136"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="138">
    <literal><![CDATA[
      m(x,m(c(y,x),z)) = m(c(y,x),z)
    ]]></literal>
    <justification jstring="[para(31(a,1),137(a,1,1)),flip(a)].">
      <j1 rule="para" parents="31 137"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="139">
    <literal><![CDATA[
      m(c(x,m(y,x)),z) = m(m(y,x),m(x,z))
    ]]></literal>
    <justification jstring="[para(44(a,1),138(a,1,2,1)),flip(a)].">
      <j1 rule="para" parents="44 138"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="140">
    <literal><![CDATA[
      m(c(x,(x ==> y) ==> y),z) = m((x ==> y) ==> y,m(x,z))
    ]]></literal>
    <justification jstring="[para(50(a,1),138(a,1,2,1)),flip(a)].">
      <j1 rule="para" parents="50 138"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="142">
    <literal><![CDATA[
      c(x,y) ==> c(y,z) = c(y,x) ==> z
    ]]></literal>
    <justification jstring="[para(31(a,1),141(a,1,1))].">
      <j1 rule="para" parents="31 141"/>
    </justification>
  </clause>

  <clause id="143">
    <literal><![CDATA[
      m(m(x,y),m(y,z)) = m(y,z)
    ]]></literal>
    <justification jstring="[para(44(a,1),139(a,1,1)),flip(a)].">
      <j1 rule="para" parents="44 139"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="144">
    <literal><![CDATA[
      m(m(x,y),x) ==> (x + m(x,y)) = m(x,y)
    ]]></literal>
    <justification jstring="[para(143(a,1),84(a,2))].">
      <j1 rule="para" parents="143 84"/>
    </justification>
  </clause>

  <clause id="145">
    <literal><![CDATA[
      m(m(x,y),x) ==> (x + y) = m(x,y)
    ]]></literal>
    <justification jstring="[para(86(a,1),144(a,1,2))].">
      <j1 rule="para" parents="86 144"/>
    </justification>
  </clause>

  <clause id="146">
    <literal><![CDATA[
      m(m(m(x,y),x),y) = m(x,y)
    ]]></literal>
    <justification jstring="[para(119(a,1),145(a,1))].">
      <j1 rule="para" parents="119 145"/>
    </justification>
  </clause>

  <clause id="147">
    <literal><![CDATA[
      m(c(m(m(x,y),x),z),m(x,y)) = m(c(m(m(x,y),x),z),y)
    ]]></literal>
    <justification jstring="[para(146(a,1),107(a,1,2))].">
      <j1 rule="para" parents="146 107"/>
    </justification>
  </clause>

  <clause id="148">
    <literal><![CDATA[
      (x ==> y) + (c(y,x) ==> z) = x ==> c(y,z)
    ]]></literal>
    <justification jstring="[para(142(a,1),124(a,1,2))].">
      <j1 rule="para" parents="142 124"/>
    </justification>
  </clause>

  <clause id="149">
    <literal><![CDATA[
      x ==> c(y,z) = c(x ==> y,x ==> z)
    ]]></literal>
    <justification jstring="[para(148(a,1),121(a,1))].">
      <j1 rule="para" parents="148 121"/>
    </justification>
  </clause>

  <clause id="150">
    <literal><![CDATA[
      x ==> c(x + y,z) = c(m(x,y),x ==> z)
    ]]></literal>
    <justification jstring="[para(13(a,1),149(a,2,1))].">
      <j1 rule="para" parents="13 149"/>
    </justification>
  </clause>

  <clause id="151">
    <literal><![CDATA[
      c(m(x,y),x ==> z) = m(x,c(y,x ==> z))
    ]]></literal>
    <justification jstring="[para(150(a,1),93(a,1))].">
      <j1 rule="para" parents="150 93"/>
    </justification>
  </clause>

  <clause id="152">
    <literal><![CDATA[
      m(x,c(y,x ==> (x + z))) = c(m(x,y),m(x,z))
    ]]></literal>
    <justification jstring="[para(13(a,1),151(a,1,2)),flip(a)].">
      <j1 rule="para" parents="13 151"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="153">
    <literal><![CDATA[
      (m(x,y) ==> (x ==> z)) ==> m(x,c(y,x ==> z)) = m(m(x,y) ==> (x ==> z),m(x,y))
    ]]></literal>
    <justification jstring="[para(151(a,1),36(a,1,2))].">
      <j1 rule="para" parents="151 36"/>
    </justification>
  </clause>

  <clause id="154">
    <literal><![CDATA[
      c(m(x,y),m(x,z)) = m(x,c(y,m(x,z)))
    ]]></literal>
    <justification jstring="[para(13(a,1),152(a,1,2,2)),flip(a)].">
      <j1 rule="para" parents="13 152"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="155">
    <literal><![CDATA[
      m(x,y + z) = c(m(x,z + y),m(x,y))
    ]]></literal>
    <justification jstring="[para(95(a,1),154(a,2,2)),flip(a)].">
      <j1 rule="para" parents="95 154"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="156">
    <literal><![CDATA[
      m(x,y + z) = c(m(x,y),m(x,z + y))
    ]]></literal>
    <justification jstring="[para(155(a,2),31(a,1))].">
      <j1 rule="para" parents="155 31"/>
    </justification>
  </clause>

  <clause id="157">
    <literal><![CDATA[
      c(m(x,y),m(x,y + z)) = m(x,y + z)
    ]]></literal>
    <justification jstring="[para(3(a,1),156(a,2,2,2)),flip(a)].">
      <j1 rule="para" parents="3 156"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="158">
    <literal><![CDATA[
      m(x,y) + (m(x,y) ==> m(x,y + z)) = m(x,y + z)
    ]]></literal>
    <justification jstring="[para(157(a,1),11(a,2))].">
      <j1 rule="para" parents="157 11"/>
    </justification>
  </clause>

  <clause id="159">
    <literal><![CDATA[
      m(m(m(x,m(y,z)),y),m(y,z)) = m(m(m(x,m(y,z)),y),z)
    ]]></literal>
    <justification jstring="[para(146(a,1),116(a,1,2))].">
      <j1 rule="para" parents="146 116"/>
    </justification>
  </clause>

  <clause id="160">
    <literal><![CDATA[
      m((x ==> y) ==> y,m(x,z)) = m(x,z)
    ]]></literal>
    <justification jstring="[para(50(a,1),140(a,1,1)),flip(a)].">
      <j1 rule="para" parents="50 140"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="161">
    <literal><![CDATA[
      m((x ==> y) ==> y,x ==> z) = m(x,x ==> z)
    ]]></literal>
    <justification jstring="[para(127(a,1),160(a,1,2))].">
      <j1 rule="para" parents="127 160"/>
    </justification>
  </clause>

  <clause id="162">
    <literal><![CDATA[
      m((x ==> y) ==> y,x ==> z) = x ==> z
    ]]></literal>
    <justification jstring="[para(127(a,1),161(a,2))].">
      <j1 rule="para" parents="127 161"/>
    </justification>
  </clause>

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

  <clause id="164">
    <literal><![CDATA[
      ((x ==> y) ==> y) ==> (z ==> y) = z ==> (x ==> y)
    ]]></literal>
    <justification jstring="[para(163(a,1),48(a,1,2)),flip(a)].">
      <j1 rule="para" parents="163 48"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="165">
    <literal><![CDATA[
      ((x ==> y) ==> y) ==> c(y,z) = c(x ==> y,((x ==> y) ==> y) ==> z)
    ]]></literal>
    <justification jstring="[para(163(a,1),149(a,2,1))].">
      <j1 rule="para" parents="163 149"/>
    </justification>
  </clause>

  <clause id="166">
    <literal><![CDATA[
      m(x,y) + (y ==> m(x,y + z)) = m(x,y + z)
    ]]></literal>
    <justification jstring="[para(106(a,1),158(a,1,2))].">
      <j1 rule="para" parents="106 158"/>
    </justification>
  </clause>

  <clause id="167">
    <literal><![CDATA[
      m(x,y) + m(y + x,z) = m(x,y + z)
    ]]></literal>
    <justification jstring="[para(74(a,1),166(a,1,2))].">
      <j1 rule="para" parents="74 166"/>
    </justification>
  </clause>

  <clause id="168">
    <literal><![CDATA[
      m(x,y) + m(x + y,z) = m(x,y + z)
    ]]></literal>
    <justification jstring="[para(75(a,1),166(a,1,2))].">
      <j1 rule="para" parents="75 166"/>
    </justification>
  </clause>

  <clause id="169">
    <literal><![CDATA[
      m(x,y) + m(y + m(m(x,y),x),z) = m(m(m(x,y),x),y + z)
    ]]></literal>
    <justification jstring="[para(146(a,1),167(a,1,1))].">
      <j1 rule="para" parents="146 167"/>
    </justification>
  </clause>

  <clause id="170">
    <literal><![CDATA[
      m(m(m(x,m(y,z)),y),z) = m(y,z)
    ]]></literal>
    <justification jstring="[para(159(a,1),143(a,1))].">
      <j1 rule="para" parents="159 143"/>
    </justification>
  </clause>

  <clause id="171">
    <literal><![CDATA[
      ((x ==> y) ==> y) ==> c(y,z) = (x ==> y) + (y ==> z)
    ]]></literal>
    <justification jstring="[para(101(a,1),165(a,2))].">
      <j1 rule="para" parents="101 165"/>
    </justification>
  </clause>

  <clause id="172">
    <literal><![CDATA[
      m(x,y) + m(x + y,z) = m(m(m(x,y),x),y + z)
    ]]></literal>
    <justification jstring="[para(118(a,1),169(a,1,2,1))].">
      <j1 rule="para" parents="118 169"/>
    </justification>
  </clause>

  <clause id="174">
    <literal><![CDATA[
      m(m(m(x,y),x),y + z) = m(x,y + z)
    ]]></literal>
    <justification jstring="[para(172(a,1),168(a,1))].">
      <j1 rule="para" parents="172 168"/>
    </justification>
  </clause>

  <clause id="175">
    <literal><![CDATA[
      x ==> m(y,z + x) = m(x + m(m(y,z),y),z)
    ]]></literal>
    <justification jstring="[para(174(a,1),73(a,1,2))].">
      <j1 rule="para" parents="174 73"/>
    </justification>
  </clause>

  <clause id="176">
    <literal><![CDATA[
      m(x + m(m(y,z),y),z) = m(x + y,z)
    ]]></literal>
    <justification jstring="[para(175(a,1),73(a,1))].">
      <j1 rule="para" parents="175 73"/>
    </justification>
  </clause>

  <clause id="177">
    <literal><![CDATA[
      m(x + m(m(y,z),m(m(u,m(y,z)),y)),z) = m(x + m(m(u,m(y,z)),y),z)
    ]]></literal>
    <justification jstring="[para(170(a,1),176(a,1,1,2,1))].">
      <j1 rule="para" parents="170 176"/>
    </justification>
  </clause>

  <clause id="178">
    <literal><![CDATA[
      (x ==> (m(x,y) ==> z)) ==> m(x,c(y,x ==> z)) = m(m(x,y) ==> (x ==> z),m(x,y))
    ]]></literal>
    <justification jstring="[para(48(a,1),153(a,1,1))].">
      <j1 rule="para" parents="48 153"/>
    </justification>
  </clause>

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

  <clause id="180">
    <literal><![CDATA[
      m(x + m(m(y,m(z,u)),z),u) = m(x + z,u)
    ]]></literal>
    <justification jstring="[para(176(a,1),179(a,2))].">
      <j1 rule="para" parents="176 179"/>
    </justification>
  </clause>

  <clause id="182">
    <literal><![CDATA[
      (x ==> (y ==> z)) ==> m(x,c(y,x ==> z)) = m(m(x,y) ==> (x ==> z),m(x,y))
    ]]></literal>
    <justification jstring="[para(96(a,1),178(a,1,1))].">
      <j1 rule="para" parents="96 178"/>
    </justification>
  </clause>

  <clause id="183">
    <literal><![CDATA[
      c(x,y ==> z) ==> (x + c(y,x ==> z)) = m(m(x,y) ==> (x ==> z),m(x,y))
    ]]></literal>
    <justification jstring="[para(182(a,1),70(a,1)),flip(a)].">
      <j1 rule="para" parents="182 70"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="184">
    <literal><![CDATA[
      c(x,y ==> z) ==> c(y + x,z) = m(m(x,y) ==> (x ==> z),m(x,y))
    ]]></literal>
    <justification jstring="[para(77(a,2),183(a,1,2))].">
      <j1 rule="para" parents="77 183"/>
    </justification>
  </clause>

  <clause id="185">
    <literal><![CDATA[
      m(m(x,y) ==> (x ==> z),m(x,y)) = m(c(x,y ==> z),y)
    ]]></literal>
    <justification jstring="[para(184(a,1),94(a,1))].">
      <j1 rule="para" parents="184 94"/>
    </justification>
  </clause>

  <clause id="186">
    <literal><![CDATA[
      m(x ==> (m(x,y) ==> z),m(x,y)) = m(c(x,y ==> z),y)
    ]]></literal>
    <justification jstring="[para(48(a,1),185(a,1,1))].">
      <j1 rule="para" parents="48 185"/>
    </justification>
  </clause>

  <clause id="187">
    <literal><![CDATA[
      m(x ==> (y ==> z),m(x,y)) = m(c(x,y ==> z),y)
    ]]></literal>
    <justification jstring="[para(96(a,1),186(a,1,1))].">
      <j1 rule="para" parents="96 186"/>
    </justification>
  </clause>

  <clause id="188">
    <literal><![CDATA[
      m(x ==> y,m(c(z,x ==> y),x)) = m(x ==> y,m(z,x))
    ]]></literal>
    <justification jstring="[para(187(a,1),120(a,1,2))].">
      <j1 rule="para" parents="187 120"/>
    </justification>
  </clause>

  <clause id="189">
    <literal><![CDATA[
      m(c(x ==> y,z),x) = m(x ==> y,m(z,x))
    ]]></literal>
    <justification jstring="[para(188(a,1),137(a,2))].">
      <j1 rule="para" parents="188 137"/>
    </justification>
  </clause>

  <clause id="190">
    <literal><![CDATA[
      m(c(x,y ==> z),y) = m(y ==> z,m(x,y))
    ]]></literal>
    <justification jstring="[para(188(a,1),138(a,1)),flip(a)].">
      <j1 rule="para" parents="188 138"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="191">
    <literal><![CDATA[
      m(c(m(x,y),z),x) = m(x ==> (x + y),m(z,x))
    ]]></literal>
    <justification jstring="[para(13(a,1),189(a,1,1,1))].">
      <j1 rule="para" parents="13 189"/>
    </justification>
  </clause>

  <clause id="192">
    <literal><![CDATA[
      m(c(x,m(x,y) ==> z),m(x,y)) = m(m(x,y) ==> z,m(x,y))
    ]]></literal>
    <justification jstring="[para(92(a,1),190(a,2,2))].">
      <j1 rule="para" parents="92 190"/>
    </justification>
  </clause>

  <clause id="193">
    <literal><![CDATA[
      m(c(m(x,y),z),x) = m(m(x,y),m(z,x))
    ]]></literal>
    <justification jstring="[para(13(a,1),191(a,2,1))].">
      <j1 rule="para" parents="13 191"/>
    </justification>
  </clause>

  <clause id="194">
    <literal><![CDATA[
      m(c(m(m(x,y),x),z),y) = m(m(m(x,y),x),m(z,m(x,y)))
    ]]></literal>
    <justification jstring="[para(193(a,1),147(a,1)),flip(a)].">
      <j1 rule="para" parents="193 147"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="195">
    <literal><![CDATA[
      m(m(x,y) ==> z,m(x,y)) = m(c(x,y ==> z),m(x,y))
    ]]></literal>
    <justification jstring="[para(105(a,1),192(a,1,1)),flip(a)].">
      <j1 rule="para" parents="105 192"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="196">
    <literal><![CDATA[
      m(m(x,y) ==> z,m(x,y)) = m(c(x,y ==> z),y)
    ]]></literal>
    <justification jstring="[para(107(a,1),195(a,2))].">
      <j1 rule="para" parents="107 195"/>
    </justification>
  </clause>

  <clause id="197">
    <literal><![CDATA[
      m(m(x,y) ==> z,m(x,y)) = m(y ==> z,m(x,y))
    ]]></literal>
    <justification jstring="[para(190(a,1),196(a,2))].">
      <j1 rule="para" parents="190 196"/>
    </justification>
  </clause>

  <clause id="198">
    <literal><![CDATA[
      (m(x,y) ==> y) ==> y = m(y ==> y,m(x,y))
    ]]></literal>
    <justification jstring="[para(197(a,1),67(a,2))].">
      <j1 rule="para" parents="197 67"/>
    </justification>
  </clause>

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

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

  <clause id="201">
    <literal><![CDATA[
      (m(x,y) ==> y) ==> (z ==> y) = z ==> m(x,y)
    ]]></literal>
    <justification jstring="[para(200(a,1),48(a,1,2)),flip(a)].">
      <j1 rule="para" parents="200 48"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="202">
    <literal><![CDATA[
      (m(x,m(y,z)) ==> m(y,z)) ==> m(y,z) = m(y,m(x,m(y,z)))
    ]]></literal>
    <justification jstring="[para(200(a,1),132(a,1,2)),flip(a)].">
      <j1 rule="para" parents="200 132"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="203">
    <literal><![CDATA[
      (m(x,y) ==> y) ==> (z ==> y) = ((z ==> y) ==> y) ==> m(x,y)
    ]]></literal>
    <justification jstring="[para(200(a,1),164(a,1,2)),flip(a)].">
      <j1 rule="para" parents="200 164"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="204">
    <literal><![CDATA[
      ((x ==> y) ==> y) ==> m(z,y) = x ==> m(z,y)
    ]]></literal>
    <justification jstring="[para(203(a,1),201(a,1))].">
      <j1 rule="para" parents="203 201"/>
    </justification>
  </clause>

  <clause id="205">
    <literal><![CDATA[
      (x ==> y) ==> (((z ==> x) ==> x) ==> c(x,y)) = z ==> m(x ==> y,x)
    ]]></literal>
    <justification jstring="[para(204(a,1),66(a,2))].">
      <j1 rule="para" parents="204 66"/>
    </justification>
  </clause>

  <clause id="206">
    <literal><![CDATA[
      m(x,m(y,m(x,z))) = m(y,m(x,z))
    ]]></literal>
    <justification jstring="[para(202(a,1),200(a,1))].">
      <j1 rule="para" parents="202 200"/>
    </justification>
  </clause>

  <clause id="207">
    <literal><![CDATA[
      m(m(x,y),m(z,m(y,u))) = m(y,m(z,m(y,u)))
    ]]></literal>
    <justification jstring="[para(206(a,1),143(a,1,2))].">
      <j1 rule="para" parents="206 143"/>
    </justification>
  </clause>

  <clause id="208">
    <literal><![CDATA[
      m(m(x,y),m(z,m(y,u))) = m(z,m(y,u))
    ]]></literal>
    <justification jstring="[para(206(a,1),207(a,2))].">
      <j1 rule="para" parents="206 207"/>
    </justification>
  </clause>

  <clause id="209">
    <literal><![CDATA[
      m(c(m(m(x,y),x),z),y) = m(z,m(x,y))
    ]]></literal>
    <justification jstring="[para(208(a,1),194(a,2))].">
      <j1 rule="para" parents="208 194"/>
    </justification>
  </clause>

  <clause id="210">
    <literal><![CDATA[
      m(c(x,m(m(y,z),y)),z) = m(x,m(y,z))
    ]]></literal>
    <justification jstring="[para(31(a,1),209(a,1,1))].">
      <j1 rule="para" parents="31 209"/>
    </justification>
  </clause>

  <clause id="211">
    <literal><![CDATA[
      (x ==> y) ==> ((z ==> x) + (x ==> y)) = z ==> m(x ==> y,x)
    ]]></literal>
    <justification jstring="[para(171(a,1),205(a,1,2))].">
      <j1 rule="para" parents="171 205"/>
    </justification>
  </clause>

  <clause id="212">
    <literal><![CDATA[
      x ==> m(y ==> z,y) = m(y ==> z,x ==> y)
    ]]></literal>
    <justification jstring="[para(211(a,1),24(a,1))].">
      <j1 rule="para" parents="211 24"/>
    </justification>
  </clause>

  <clause id="213">
    <literal><![CDATA[
      m(x ==> (x + y),z ==> x) = z ==> m(m(x,y),x)
    ]]></literal>
    <justification jstring="[para(13(a,1),212(a,1,2,1)),flip(a)].">
      <j1 rule="para" parents="13 212"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="214">
    <literal><![CDATA[
      x ==> m(m(y,z),y) = m(m(y,z),x ==> y)
    ]]></literal>
    <justification jstring="[para(13(a,1),213(a,1,1)),flip(a)].">
      <j1 rule="para" parents="13 213"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="215">
    <literal><![CDATA[
      x + m(m(y,z),x ==> y) = c(x,m(m(y,z),y))
    ]]></literal>
    <justification jstring="[para(214(a,1),11(a,1,2))].">
      <j1 rule="para" parents="214 11"/>
    </justification>
  </clause>

  <clause id="216">
    <literal><![CDATA[
      m(c(x,m(m(y,m(x ==> y,z)),y)),z) = m(x + (x ==> y),z)
    ]]></literal>
    <justification jstring="[para(215(a,1),180(a,1,1))].">
      <j1 rule="para" parents="215 180"/>
    </justification>
  </clause>

  <clause id="217">
    <literal><![CDATA[
      m(c(x,m(m(y,z),y)),z) = m(x + (x ==> y),z)
    ]]></literal>
    <justification jstring="[para(120(a,1),216(a,1,1,2,1))].">
      <j1 rule="para" parents="120 216"/>
    </justification>
  </clause>

  <clause id="218">
    <literal><![CDATA[
      m(x + (x ==> y),z) = m(x,m(y,z))
    ]]></literal>
    <justification jstring="[para(217(a,1),210(a,1))].">
      <j1 rule="para" parents="217 210"/>
    </justification>
  </clause>

  <clause id="219">
    <literal><![CDATA[
      m(c(x,y),z) = m(x,m(y,z))
    ]]></literal>
    <justification jstring="[para(11(a,1),218(a,1,1))].">
      <j1 rule="para" parents="11 218"/>
    </justification>
  </clause>

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

</proof>

</proofs>
