<?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>wang1-eq.out</source>

<heading><![CDATA[
Prover9 (32) version 2009-02A, February 2009.
Process 11694 was started by mccune on cleo,
Wed Feb 25 09:37:09 2009
The command was "/home/mccune/bin/prover9 -f wang-eq.in wang1-eq.in".
]]></heading>

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

<comments><![CDATA[
% Proof 1 at 0.03 (+ 0.00) seconds.
% Length of proof is 78.
% Level of proof is 43.
% Maximum clause weight is 19.
% Given clauses 110.

]]></comments>

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

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

  <clause id="3" type="assumption">
    <literal><![CDATA[
      x = b
    ]]></literal>
    <literal><![CDATA[
      -p(x,b)
    ]]></literal>
    <literal><![CDATA[
      y = b
    ]]></literal>
    <literal><![CDATA[
      y = x
    ]]></literal>
    <literal><![CDATA[
      -p(x,y)
    ]]></literal>
    <literal><![CDATA[
      -p(y,x)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="4">
    <literal><![CDATA[
      b = x
    ]]></literal>
    <literal><![CDATA[
      -p(x,b)
    ]]></literal>
    <literal><![CDATA[
      b = y
    ]]></literal>
    <literal><![CDATA[
      y = x
    ]]></literal>
    <literal><![CDATA[
      -p(x,y)
    ]]></literal>
    <literal><![CDATA[
      -p(y,x)
    ]]></literal>
    <justification jstring="[copy(3),flip(a),flip(c)].">
      <j1 rule="copy" parents="3"/>
      <j2 rule="flip"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="5" type="assumption">
    <literal><![CDATA[
      x = k
    ]]></literal>
    <literal><![CDATA[
      x = m
    ]]></literal>
    <literal><![CDATA[
      x = b
    ]]></literal>
    <literal><![CDATA[
      -p(x,k)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="6">
    <literal><![CDATA[
      k = x
    ]]></literal>
    <literal><![CDATA[
      m = x
    ]]></literal>
    <literal><![CDATA[
      b = x
    ]]></literal>
    <literal><![CDATA[
      -p(x,k)
    ]]></literal>
    <justification jstring="[copy(5),flip(a),flip(b),flip(c)].">
      <j1 rule="copy" parents="5"/>
      <j2 rule="flip"/>
      <j2 rule="flip"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="7" type="assumption">
    <literal><![CDATA[
      x = m
    ]]></literal>
    <literal><![CDATA[
      -p(x,m)
    ]]></literal>
    <literal><![CDATA[
      f(x) != m
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="8">
    <literal><![CDATA[
      m = x
    ]]></literal>
    <literal><![CDATA[
      -p(x,m)
    ]]></literal>
    <literal><![CDATA[
      f(x) != m
    ]]></literal>
    <justification jstring="[copy(7),flip(a)].">
      <j1 rule="copy" parents="7"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="9" type="assumption">
    <literal><![CDATA[
      x = m
    ]]></literal>
    <literal><![CDATA[
      -p(x,m)
    ]]></literal>
    <literal><![CDATA[
      f(x) != x
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="10">
    <literal><![CDATA[
      m = x
    ]]></literal>
    <literal><![CDATA[
      -p(x,m)
    ]]></literal>
    <literal><![CDATA[
      f(x) != 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[
      x = m
    ]]></literal>
    <literal><![CDATA[
      -p(x,m)
    ]]></literal>
    <literal><![CDATA[
      p(x,f(x))
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="13" type="assumption">
    <literal><![CDATA[
      x = m
    ]]></literal>
    <literal><![CDATA[
      -p(x,m)
    ]]></literal>
    <literal><![CDATA[
      p(f(x),x)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="15" type="assumption">
    <literal><![CDATA[
      x = b
    ]]></literal>
    <literal><![CDATA[
      p(x,b)
    ]]></literal>
    <literal><![CDATA[
      g(x) != b
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="16">
    <literal><![CDATA[
      b = x
    ]]></literal>
    <literal><![CDATA[
      p(x,b)
    ]]></literal>
    <literal><![CDATA[
      g(x) != b
    ]]></literal>
    <justification jstring="[copy(15),flip(a)].">
      <j1 rule="copy" parents="15"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="17" type="assumption">
    <literal><![CDATA[
      x = b
    ]]></literal>
    <literal><![CDATA[
      p(x,b)
    ]]></literal>
    <literal><![CDATA[
      g(x) != x
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="18">
    <literal><![CDATA[
      b = x
    ]]></literal>
    <literal><![CDATA[
      p(x,b)
    ]]></literal>
    <literal><![CDATA[
      g(x) != x
    ]]></literal>
    <justification jstring="[copy(17),flip(a)].">
      <j1 rule="copy" parents="17"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="19" type="assumption">
    <literal><![CDATA[
      x = b
    ]]></literal>
    <literal><![CDATA[
      p(x,b)
    ]]></literal>
    <literal><![CDATA[
      p(x,g(x))
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="20">
    <literal><![CDATA[
      b = x
    ]]></literal>
    <literal><![CDATA[
      p(x,b)
    ]]></literal>
    <literal><![CDATA[
      p(x,g(x))
    ]]></literal>
    <justification jstring="[copy(19),flip(a)].">
      <j1 rule="copy" parents="19"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="21" type="assumption">
    <literal><![CDATA[
      x = b
    ]]></literal>
    <literal><![CDATA[
      p(x,b)
    ]]></literal>
    <literal><![CDATA[
      p(g(x),x)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="22">
    <literal><![CDATA[
      b = x
    ]]></literal>
    <literal><![CDATA[
      p(x,b)
    ]]></literal>
    <literal><![CDATA[
      p(g(x),x)
    ]]></literal>
    <justification jstring="[copy(21),flip(a)].">
      <j1 rule="copy" parents="21"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="23" type="assumption">
    <literal><![CDATA[
      x = k
    ]]></literal>
    <literal><![CDATA[
      x != m
    ]]></literal>
    <literal><![CDATA[
      p(x,k)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="24">
    <literal><![CDATA[
      k = x
    ]]></literal>
    <literal><![CDATA[
      m != x
    ]]></literal>
    <literal><![CDATA[
      p(x,k)
    ]]></literal>
    <justification jstring="[copy(23),flip(a),flip(b)].">
      <j1 rule="copy" parents="23"/>
      <j2 rule="flip"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="25" type="assumption">
    <literal><![CDATA[
      x = k
    ]]></literal>
    <literal><![CDATA[
      x != b
    ]]></literal>
    <literal><![CDATA[
      p(x,k)
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="26">
    <literal><![CDATA[
      k = x
    ]]></literal>
    <literal><![CDATA[
      b != x
    ]]></literal>
    <literal><![CDATA[
      p(x,k)
    ]]></literal>
    <justification jstring="[copy(25),flip(a),flip(b)].">
      <j1 rule="copy" parents="25"/>
      <j2 rule="flip"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="27" type="assumption">
    <literal><![CDATA[
      m != b
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="28" type="assumption">
    <literal><![CDATA[
      b != k
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="29">
    <literal><![CDATA[
      k != b
    ]]></literal>
    <justification jstring="[copy(28),flip(a)].">
      <j1 rule="copy" parents="28"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="30" type="assumption">
    <literal><![CDATA[
      k != m
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="38">
    <literal><![CDATA[
      p(k,b)
    ]]></literal>
    <literal><![CDATA[
      g(k) = k
    ]]></literal>
    <literal><![CDATA[
      g(k) = m
    ]]></literal>
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <justification jstring="[resolve(22,c,6,d),flip(a),flip(c),flip(d),flip(e),unit_del(a,29)].">
      <j1 rule="resolve" parents="22 6"/>
      <j2 rule="flip"/>
      <j2 rule="flip"/>
      <j2 rule="flip"/>
      <j2 rule="flip"/>
      <j2 rule="unit_del" parents="29"/>
    </justification>
  </clause>

  <clause id="42">
    <literal><![CDATA[
      p(m,k)
    ]]></literal>
    <justification jstring="[xx_res(24,b),unit_del(a,30)].">
      <j1 rule="xx_res" parents="24"/>
      <j2 rule="unit_del" parents="30"/>
    </justification>
  </clause>

  <clause id="43">
    <literal><![CDATA[
      p(b,k)
    ]]></literal>
    <justification jstring="[xx_res(26,b),unit_del(a,29)].">
      <j1 rule="xx_res" parents="26"/>
      <j2 rule="unit_del" parents="29"/>
    </justification>
  </clause>

  <clause id="45">
    <literal><![CDATA[
      -p(k,b)
    ]]></literal>
    <literal><![CDATA[
      -p(k,m)
    ]]></literal>
    <justification jstring="[resolve(42,a,4,f),flip(a),flip(c),flip(d),unit_del(a,29),unit_del(c,27),unit_del(d,30)].">
      <j1 rule="resolve" parents="42 4"/>
      <j2 rule="flip"/>
      <j2 rule="flip"/>
      <j2 rule="flip"/>
      <j2 rule="unit_del" parents="29"/>
      <j2 rule="unit_del" parents="27"/>
      <j2 rule="unit_del" parents="30"/>
    </justification>
  </clause>

  <clause id="47">
    <literal><![CDATA[
      p(k,m)
    ]]></literal>
    <literal><![CDATA[
      -p(k,b)
    ]]></literal>
    <justification jstring="[resolve(43,a,2,f),flip(a),flip(d),unit_del(a,30),unit_del(c,27),unit_del(d,29)].">
      <j1 rule="resolve" parents="43 2"/>
      <j2 rule="flip"/>
      <j2 rule="flip"/>
      <j2 rule="unit_del" parents="30"/>
      <j2 rule="unit_del" parents="27"/>
      <j2 rule="unit_del" parents="29"/>
    </justification>
  </clause>

  <clause id="60">
    <literal><![CDATA[
      g(k) = k
    ]]></literal>
    <literal><![CDATA[
      g(k) = m
    ]]></literal>
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,m)
    ]]></literal>
    <justification jstring="[resolve(38,a,47,b)].">
      <j1 rule="resolve" parents="38 47"/>
    </justification>
  </clause>

  <clause id="67">
    <literal><![CDATA[
      g(k) = k
    ]]></literal>
    <literal><![CDATA[
      g(k) = m
    ]]></literal>
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      -p(k,b)
    ]]></literal>
    <justification jstring="[resolve(60,d,45,b)].">
      <j1 rule="resolve" parents="60 45"/>
    </justification>
  </clause>

  <clause id="72">
    <literal><![CDATA[
      g(k) = k
    ]]></literal>
    <literal><![CDATA[
      g(k) = m
    ]]></literal>
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <justification jstring="[resolve(67,d,38,a),merge(d),merge(e),merge(f)].">
      <j1 rule="resolve" parents="67 38"/>
      <j2 rule="merge"/>
      <j2 rule="merge"/>
      <j2 rule="merge"/>
    </justification>
  </clause>

  <clause id="73">
    <literal><![CDATA[
      g(k) = m
    ]]></literal>
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,b)
    ]]></literal>
    <justification jstring="[resolve(72,a,18,c),flip(c),unit_del(c,29)].">
      <j1 rule="resolve" parents="72 18"/>
      <j2 rule="flip"/>
      <j2 rule="unit_del" parents="29"/>
    </justification>
  </clause>

  <clause id="75">
    <literal><![CDATA[
      g(k) = m
    ]]></literal>
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,m)
    ]]></literal>
    <justification jstring="[resolve(73,c,47,b)].">
      <j1 rule="resolve" parents="73 47"/>
    </justification>
  </clause>

  <clause id="87">
    <literal><![CDATA[
      g(k) = m
    ]]></literal>
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      -p(k,b)
    ]]></literal>
    <justification jstring="[resolve(75,c,45,b)].">
      <j1 rule="resolve" parents="75 45"/>
    </justification>
  </clause>

  <clause id="92">
    <literal><![CDATA[
      g(k) = m
    ]]></literal>
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <justification jstring="[resolve(87,c,73,c),merge(c),merge(d)].">
      <j1 rule="resolve" parents="87 73"/>
      <j2 rule="merge"/>
      <j2 rule="merge"/>
    </justification>
  </clause>

  <clause id="94">
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,b)
    ]]></literal>
    <literal><![CDATA[
      p(k,m)
    ]]></literal>
    <justification jstring="[para(92(a,1),20(c,2)),flip(b),unit_del(b,29)].">
      <j1 rule="para" parents="92 20"/>
      <j2 rule="flip"/>
      <j2 rule="unit_del" parents="29"/>
    </justification>
  </clause>

  <clause id="98">
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,b)
    ]]></literal>
    <literal><![CDATA[
      p(f(k),k)
    ]]></literal>
    <justification jstring="[resolve(94,c,14,b),flip(c),unit_del(c,30)].">
      <j1 rule="resolve" parents="94 14"/>
      <j2 rule="flip"/>
      <j2 rule="unit_del" parents="30"/>
    </justification>
  </clause>

  <clause id="99">
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,b)
    ]]></literal>
    <literal><![CDATA[
      p(k,f(k))
    ]]></literal>
    <justification jstring="[resolve(94,c,12,b),flip(c),unit_del(c,30)].">
      <j1 rule="resolve" parents="94 12"/>
      <j2 rule="flip"/>
      <j2 rule="unit_del" parents="30"/>
    </justification>
  </clause>

  <clause id="100">
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,b)
    ]]></literal>
    <literal><![CDATA[
      f(k) != k
    ]]></literal>
    <justification jstring="[resolve(94,c,10,b),flip(c),unit_del(c,30)].">
      <j1 rule="resolve" parents="94 10"/>
      <j2 rule="flip"/>
      <j2 rule="unit_del" parents="30"/>
    </justification>
  </clause>

  <clause id="101">
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,b)
    ]]></literal>
    <literal><![CDATA[
      f(k) != m
    ]]></literal>
    <justification jstring="[resolve(94,c,8,b),flip(c),unit_del(c,30)].">
      <j1 rule="resolve" parents="94 8"/>
      <j2 rule="flip"/>
      <j2 rule="unit_del" parents="30"/>
    </justification>
  </clause>

  <clause id="102">
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,b)
    ]]></literal>
    <literal><![CDATA[
      f(k) = k
    ]]></literal>
    <literal><![CDATA[
      f(k) = m
    ]]></literal>
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <justification jstring="[resolve(98,c,6,d),flip(c),flip(d),flip(e)].">
      <j1 rule="resolve" parents="98 6"/>
      <j2 rule="flip"/>
      <j2 rule="flip"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="112">
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      f(k) = k
    ]]></literal>
    <literal><![CDATA[
      f(k) = m
    ]]></literal>
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,m)
    ]]></literal>
    <justification jstring="[resolve(102,b,47,b)].">
      <j1 rule="resolve" parents="102 47"/>
    </justification>
  </clause>

  <clause id="120">
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      f(k) = k
    ]]></literal>
    <literal><![CDATA[
      f(k) = m
    ]]></literal>
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <literal><![CDATA[
      -p(k,b)
    ]]></literal>
    <justification jstring="[resolve(112,e,45,b)].">
      <j1 rule="resolve" parents="112 45"/>
    </justification>
  </clause>

  <clause id="123">
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      f(k) = k
    ]]></literal>
    <literal><![CDATA[
      f(k) = m
    ]]></literal>
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <justification jstring="[resolve(120,e,102,b),merge(e),merge(f),merge(g),merge(h)].">
      <j1 rule="resolve" parents="120 102"/>
      <j2 rule="merge"/>
      <j2 rule="merge"/>
      <j2 rule="merge"/>
      <j2 rule="merge"/>
    </justification>
  </clause>

  <clause id="124">
    <literal><![CDATA[
      f(k) = k
    ]]></literal>
    <literal><![CDATA[
      f(k) = m
    ]]></literal>
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,b)
    ]]></literal>
    <justification jstring="[resolve(123,a,16,c),flip(d),unit_del(d,29)].">
      <j1 rule="resolve" parents="123 16"/>
      <j2 rule="flip"/>
      <j2 rule="unit_del" parents="29"/>
    </justification>
  </clause>

  <clause id="128">
    <literal><![CDATA[
      f(k) = k
    ]]></literal>
    <literal><![CDATA[
      f(k) = m
    ]]></literal>
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,m)
    ]]></literal>
    <justification jstring="[resolve(124,d,47,b)].">
      <j1 rule="resolve" parents="124 47"/>
    </justification>
  </clause>

  <clause id="135">
    <literal><![CDATA[
      f(k) = k
    ]]></literal>
    <literal><![CDATA[
      f(k) = m
    ]]></literal>
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <literal><![CDATA[
      -p(k,b)
    ]]></literal>
    <justification jstring="[resolve(128,d,45,b)].">
      <j1 rule="resolve" parents="128 45"/>
    </justification>
  </clause>

  <clause id="144">
    <literal><![CDATA[
      f(k) = k
    ]]></literal>
    <literal><![CDATA[
      f(k) = m
    ]]></literal>
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <justification jstring="[resolve(135,d,124,d),merge(d),merge(e),merge(f)].">
      <j1 rule="resolve" parents="135 124"/>
      <j2 rule="merge"/>
      <j2 rule="merge"/>
      <j2 rule="merge"/>
    </justification>
  </clause>

  <clause id="145">
    <literal><![CDATA[
      f(k) = m
    ]]></literal>
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,b)
    ]]></literal>
    <justification jstring="[resolve(144,a,100,c)].">
      <j1 rule="resolve" parents="144 100"/>
    </justification>
  </clause>

  <clause id="147">
    <literal><![CDATA[
      f(k) = m
    ]]></literal>
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,m)
    ]]></literal>
    <justification jstring="[resolve(145,d,47,b)].">
      <j1 rule="resolve" parents="145 47"/>
    </justification>
  </clause>

  <clause id="156">
    <literal><![CDATA[
      f(k) = m
    ]]></literal>
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      -p(k,b)
    ]]></literal>
    <justification jstring="[resolve(147,d,45,b)].">
      <j1 rule="resolve" parents="147 45"/>
    </justification>
  </clause>

  <clause id="160">
    <literal><![CDATA[
      f(k) = m
    ]]></literal>
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <justification jstring="[resolve(156,d,145,d),merge(d),merge(e),merge(f)].">
      <j1 rule="resolve" parents="156 145"/>
      <j2 rule="merge"/>
      <j2 rule="merge"/>
      <j2 rule="merge"/>
    </justification>
  </clause>

  <clause id="163">
    <literal><![CDATA[
      f(k) = m
    ]]></literal>
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,b)
    ]]></literal>
    <justification jstring="[resolve(160,c,16,c),flip(c),unit_del(c,29)].">
      <j1 rule="resolve" parents="160 16"/>
      <j2 rule="flip"/>
      <j2 rule="unit_del" parents="29"/>
    </justification>
  </clause>

  <clause id="166">
    <literal><![CDATA[
      f(k) = m
    ]]></literal>
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,m)
    ]]></literal>
    <justification jstring="[resolve(163,c,47,b)].">
      <j1 rule="resolve" parents="163 47"/>
    </justification>
  </clause>

  <clause id="173">
    <literal><![CDATA[
      f(k) = m
    ]]></literal>
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <literal><![CDATA[
      -p(k,b)
    ]]></literal>
    <justification jstring="[resolve(166,c,45,b)].">
      <j1 rule="resolve" parents="166 45"/>
    </justification>
  </clause>

  <clause id="177">
    <literal><![CDATA[
      f(k) = m
    ]]></literal>
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <justification jstring="[resolve(173,c,163,c),merge(c),merge(d)].">
      <j1 rule="resolve" parents="173 163"/>
      <j2 rule="merge"/>
      <j2 rule="merge"/>
    </justification>
  </clause>

  <clause id="178">
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,b)
    ]]></literal>
    <justification jstring="[resolve(177,a,101,c)].">
      <j1 rule="resolve" parents="177 101"/>
    </justification>
  </clause>

  <clause id="181">
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,m)
    ]]></literal>
    <justification jstring="[resolve(178,c,47,b)].">
      <j1 rule="resolve" parents="178 47"/>
    </justification>
  </clause>

  <clause id="188">
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      -p(k,b)
    ]]></literal>
    <justification jstring="[resolve(181,c,45,b)].">
      <j1 rule="resolve" parents="181 45"/>
    </justification>
  </clause>

  <clause id="193">
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <justification jstring="[resolve(188,c,178,c),merge(c),merge(d)].">
      <j1 rule="resolve" parents="188 178"/>
      <j2 rule="merge"/>
      <j2 rule="merge"/>
    </justification>
  </clause>

  <clause id="194">
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,b)
    ]]></literal>
    <justification jstring="[resolve(193,b,16,c),flip(b),unit_del(b,29)].">
      <j1 rule="resolve" parents="193 16"/>
      <j2 rule="flip"/>
      <j2 rule="unit_del" parents="29"/>
    </justification>
  </clause>

  <clause id="197">
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,m)
    ]]></literal>
    <justification jstring="[resolve(194,b,47,b)].">
      <j1 rule="resolve" parents="194 47"/>
    </justification>
  </clause>

  <clause id="204">
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <literal><![CDATA[
      -p(k,b)
    ]]></literal>
    <justification jstring="[resolve(197,b,45,b)].">
      <j1 rule="resolve" parents="197 45"/>
    </justification>
  </clause>

  <clause id="209">
    <literal><![CDATA[
      f(k) = b
    ]]></literal>
    <justification jstring="[resolve(204,b,194,b),merge(b)].">
      <j1 rule="resolve" parents="204 194"/>
      <j2 rule="merge"/>
    </justification>
  </clause>

  <clause id="211">
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,b)
    ]]></literal>
    <justification jstring="[back_rewrite(99),rewrite([209(10)]),merge(c)].">
      <j1 rule="back_rewrite" parents="99"/>
      <j2 rule="rewrite" parents="209"/>
      <j2 rule="merge"/>
    </justification>
  </clause>

  <clause id="213">
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      p(k,m)
    ]]></literal>
    <justification jstring="[resolve(211,b,47,b)].">
      <j1 rule="resolve" parents="211 47"/>
    </justification>
  </clause>

  <clause id="221">
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <literal><![CDATA[
      -p(k,b)
    ]]></literal>
    <justification jstring="[resolve(213,b,45,b)].">
      <j1 rule="resolve" parents="213 45"/>
    </justification>
  </clause>

  <clause id="222">
    <literal><![CDATA[
      g(k) = b
    ]]></literal>
    <justification jstring="[resolve(221,b,211,b),merge(b)].">
      <j1 rule="resolve" parents="221 211"/>
      <j2 rule="merge"/>
    </justification>
  </clause>

  <clause id="229">
    <literal><![CDATA[
      p(k,b)
    ]]></literal>
    <justification jstring="[resolve(222,a,16,c),flip(a),unit_del(a,29)].">
      <j1 rule="resolve" parents="222 16"/>
      <j2 rule="flip"/>
      <j2 rule="unit_del" parents="29"/>
    </justification>
  </clause>

  <clause id="231">
    <literal><![CDATA[
      p(k,m)
    ]]></literal>
    <justification jstring="[back_unit_del(47),unit_del(b,229)].">
      <j1 rule="back_unit_del" parents="47"/>
      <j2 rule="unit_del" parents="229"/>
    </justification>
  </clause>

  <clause id="232">
    <literal><![CDATA[
      $F
    ]]></literal>
    <justification jstring="[back_unit_del(45),unit_del(a,229),unit_del(b,231)].">
      <j1 rule="back_unit_del" parents="45"/>
      <j2 rule="unit_del" parents="229"/>
      <j2 rule="unit_del" parents="231"/>
    </justification>
  </clause>

</proof>

</proofs>
