<?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>dep-2b.out</source>

<heading><![CDATA[
Prover9 (32) version June-2006C, June 2006.
Process 13904 was started by mccune on cleo.thornwood,
Mon Jun 19 17:06:22 2006
The command was "/home/mccune/bin/prover9 -f dep-2b.in".
]]></heading>

<proof number="1" length="28" max_count="18">

<comments><![CDATA[
% Proof 1 at 0.10 (+ 0.00) seconds: 2b.
% Length of proof is 28.
% Level of proof is 12.
% Maximum clause weight is 18.
% Given clauses 22.
]]></comments>

  <clause id="3">
    <literal><![CDATA[
      f(f(x,y,z),y,u) = f(x,y,f(z,y,u))
    ]]></literal>
    <attribute><![CDATA[
      label(associativity)
    ]]></attribute>
    <justification jstring="[input].">
      <j1 rule="input"/>
    </justification>
  </clause>

  <clause id="5">
    <literal><![CDATA[
      f(x,x,y) = x
    ]]></literal>
    <attribute><![CDATA[
      label(majority)
    ]]></attribute>
    <justification jstring="[input].">
      <j1 rule="input"/>
    </justification>
  </clause>

  <clause id="6">
    <literal><![CDATA[
      f(x,y,z) = f(z,x,y)
    ]]></literal>
    <attribute><![CDATA[
      label(2a)
    ]]></attribute>
    <justification jstring="[input].">
      <j1 rule="input"/>
    </justification>
  </clause>

  <clause id="7">
    <literal><![CDATA[
      f(x,y,f(z,y,u)) = f(y,u,f(x,y,z))
    ]]></literal>
    <attribute><![CDATA[
      label(associativity)
    ]]></attribute>
    <justification jstring="[copy(3),demod(6(2,R)),flip(a)].">
      <j1 rule="copy" parents="3"/>
      <j2 rule="demod" parents="6"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="8">
    <literal><![CDATA[
      f(c1,c3,c2) != f(c1,c2,c3)
    ]]></literal>
    <attribute><![CDATA[
      answer(2b)
    ]]></attribute>
    <justification jstring="[clausify].">
      <j1 rule="clausify"/>
    </justification>
  </clause>

  <clause id="9">
    <literal><![CDATA[
      f(x,y,y) = y
    ]]></literal>
    <justification jstring="[para(6(a,1),5(a,1))].">
      <j1 rule="para" parents="6 5"/>
    </justification>
  </clause>

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

  <clause id="11">
    <literal><![CDATA[
      f(x,f(y,x,z),u) = f(x,z,f(u,x,y))
    ]]></literal>
    <justification jstring="[para(7(a,1),6(a,1)),demod(6(4)),flip(a)].">
      <j1 rule="para" parents="7 6"/>
      <j2 rule="demod" parents="6"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

  <clause id="21">
    <literal><![CDATA[
      f(x,y,f(z,x,y)) = f(z,x,y)
    ]]></literal>
    <justification jstring="[para(10(a,1),7(a,1,3)),flip(a)].">
      <j1 rule="para" parents="10 7"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

  <clause id="24">
    <literal><![CDATA[
      f(x,f(y,z,x),z) = f(y,z,x)
    ]]></literal>
    <justification jstring="[para(21(a,1),6(a,1)),demod(6(3)),flip(a)].">
      <j1 rule="para" parents="21 6"/>
      <j2 rule="demod" parents="6"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

  <clause id="45">
    <literal><![CDATA[
      f(x,y,f(z,x,f(x,z,y))) = f(z,x,y)
    ]]></literal>
    <justification jstring="[para(25(a,1),23(a,2)),demod(6(3),36(3),6(3,R),11(3),6(2),11(2))].">
      <j1 rule="para" parents="25 23"/>
      <j2 rule="demod" parents="6 36 6 11 6 11"/>
    </justification>
  </clause>

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

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

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

  <clause id="234">
    <literal><![CDATA[
      f(x,y,f(z,y,f(x,z,f(x,y,z)))) = f(x,y,z)
    ]]></literal>
    <justification jstring="[para(20(a,1),23(a,2)),demod(6(5),11(5),9(5),6(4),6(4),47(4),6(3),47(3))].">
      <j1 rule="para" parents="20 23"/>
      <j2 rule="demod" parents="6 11 9 6 6 47 6 47"/>
    </justification>
  </clause>

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

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

  <clause id="325">
    <literal><![CDATA[
      f(x,y,f(x,z,y)) = f(x,y,z)
    ]]></literal>
    <justification jstring="[back_demod(234),demod(295(3))].">
      <j1 rule="back_demod" parents="234"/>
      <j2 rule="demod" parents="295"/>
    </justification>
  </clause>

  <clause id="327">
    <literal><![CDATA[
      f(x,y,f(z,y,x)) = f(z,x,y)
    ]]></literal>
    <justification jstring="[back_demod(149),demod(325(2))].">
      <j1 rule="back_demod" parents="149"/>
      <j2 rule="demod" parents="325"/>
    </justification>
  </clause>

  <clause id="328">
    <literal><![CDATA[
      f(x,y,f(y,x,z)) = f(z,x,y)
    ]]></literal>
    <justification jstring="[back_demod(300),demod(327(2))].">
      <j1 rule="back_demod" parents="300"/>
      <j2 rule="demod" parents="327"/>
    </justification>
  </clause>

  <clause id="337">
    <literal><![CDATA[
      f(x,y,z) = f(z,y,x)
    ]]></literal>
    <justification jstring="[para(325(a,1),6(a,1)),demod(6(3),46(3),328(3))].">
      <j1 rule="para" parents="325 6"/>
      <j2 rule="demod" parents="6 46 328"/>
    </justification>
  </clause>

  <clause id="451">
    <literal><![CDATA[
      f(x,y,z) = f(x,z,y)
    ]]></literal>
    <justification jstring="[para(337(a,1),6(a,1))].">
      <j1 rule="para" parents="337 6"/>
    </justification>
  </clause>

  <clause id="452">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer(2b)
    ]]></attribute>
    <justification jstring="[resolve(451,a,8,a)].">
      <j1 rule="resolve" parents="451 8"/>
    </justification>
  </clause>

</proof>

</proofs>
