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

<heading><![CDATA[
Prover9 (32) version August-2006A, August 2006.
Process 11676 was started by mccune on cleo.thornwood,
Sat Aug 12 21:22:12 2006
The command was "/home/mccune/bin/prover9 -f 2basis.in".
]]></heading>

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

<comments><![CDATA[
% Proof 1 at 0.07 (+ 0.00) seconds: 2a_2b.
% Length of proof is 30.
% Level of proof is 15.
% Maximum clause weight is 27.
% Given clauses 34.
]]></comments>

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

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

  <clause id="3">
    <literal><![CDATA[
      f(A,B,C) != f(C,A,B)
    ]]></literal>
    <literal><![CDATA[
      f(A,B,C) != f(A,C,B)
    ]]></literal>
    <attribute><![CDATA[
      answer(2a_2b)
    ]]></attribute>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="4">
    <literal><![CDATA[
      f(C,A,B) != f(A,B,C)
    ]]></literal>
    <literal><![CDATA[
      f(A,C,B) != f(A,B,C)
    ]]></literal>
    <attribute><![CDATA[
      answer(2a_2b)
    ]]></attribute>
    <justification jstring="[copy(3),flip(a),flip(b)].">
      <j1 rule="copy" parents="3"/>
      <j2 rule="flip"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

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

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

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

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

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

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

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

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

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

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

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

  <clause id="37">
    <literal><![CDATA[
      f(f(x,y,z),z,x) = f(x,z,f(z,y,x))
    ]]></literal>
    <justification jstring="[para(8(a,1),32(a,1,1)),rewrite(36(3)),flip(a)].">
      <j1 rule="para" parents="8 32"/>
      <j2 rule="rewrite" parents="36"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="42">
    <literal><![CDATA[
      f(x,y,f(y,z,x)) = f(x,z,y)
    ]]></literal>
    <justification jstring="[para(17(a,1),32(a,2)),rewrite(37(2),37(5),32(6),10(3),37(2))].">
      <j1 rule="para" parents="17 32"/>
      <j2 rule="rewrite" parents="37 37 32 10 37"/>
    </justification>
  </clause>

  <clause id="49">
    <literal><![CDATA[
      f(x,y,z) = f(z,y,x)
    ]]></literal>
    <justification jstring="[back_rewrite(17),rewrite(37(2),42(2),8(2))].">
      <j1 rule="back_rewrite" parents="17"/>
      <j2 rule="rewrite" parents="37 42 8"/>
    </justification>
  </clause>

  <clause id="51">
    <literal><![CDATA[
      f(f(x,y,z),z,f(z,y,x)) = f(z,y,x)
    ]]></literal>
    <justification jstring="[back_rewrite(36),rewrite(42(5))].">
      <j1 rule="back_rewrite" parents="36"/>
      <j2 rule="rewrite" parents="42"/>
    </justification>
  </clause>

  <clause id="65">
    <literal><![CDATA[
      f(x,y,f(z,x,u)) = f(x,z,f(x,y,u))
    ]]></literal>
    <justification jstring="[back_rewrite(19),rewrite(49(5),11(5),42(4),49(2))].">
      <j1 rule="back_rewrite" parents="19"/>
      <j2 rule="rewrite" parents="49 11 42 49"/>
    </justification>
  </clause>

  <clause id="70">
    <literal><![CDATA[
      f(B,A,C) != f(A,B,C)
    ]]></literal>
    <literal><![CDATA[
      f(A,C,B) != f(A,B,C)
    ]]></literal>
    <attribute><![CDATA[
      answer(2a_2b)
    ]]></attribute>
    <justification jstring="[back_rewrite(4),rewrite(49(4))].">
      <j1 rule="back_rewrite" parents="4"/>
      <j2 rule="rewrite" parents="49"/>
    </justification>
  </clause>

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

  <clause id="76">
    <literal><![CDATA[
      f(x,y,f(z,y,x)) = f(x,y,z)
    ]]></literal>
    <justification jstring="[para(9(a,1),11(a,1,3)),rewrite(49(2),42(2),51(3),49(3),42(3)),flip(a)].">
      <j1 rule="para" parents="9 11"/>
      <j2 rule="rewrite" parents="49 42 51 49 42"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="87">
    <literal><![CDATA[
      f(x,y,f(y,x,z)) = f(y,x,z)
    ]]></literal>
    <justification jstring="[para(5(a,1),76(a,2)),rewrite(49(3),5(3))].">
      <j1 rule="para" parents="5 76"/>
      <j2 rule="rewrite" parents="49 5"/>
    </justification>
  </clause>

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

  <clause id="119">
    <literal><![CDATA[
      f(x,y,f(z,x,y)) = f(z,x,y)
    ]]></literal>
    <justification jstring="[para(87(a,1),11(a,2)),rewrite(91(3),75(3))].">
      <j1 rule="para" parents="87 11"/>
      <j2 rule="rewrite" parents="91 75"/>
    </justification>
  </clause>

  <clause id="217">
    <literal><![CDATA[
      f(x,y,z) = f(y,x,z)
    ]]></literal>
    <justification jstring="[para(9(a,1),65(a,2,3)),rewrite(119(2))].">
      <j1 rule="para" parents="9 65"/>
      <j2 rule="rewrite" parents="119"/>
    </justification>
  </clause>

  <clause id="308">
    <literal><![CDATA[
      f(A,C,B) != f(A,B,C)
    ]]></literal>
    <attribute><![CDATA[
      answer(2a_2b)
    ]]></attribute>
    <justification jstring="[back_rewrite(70),rewrite(217(4)),xx(a)].">
      <j1 rule="back_rewrite" parents="70"/>
      <j2 rule="rewrite" parents="217"/>
      <j2 rule="xx"/>
    </justification>
  </clause>

  <clause id="324">
    <literal><![CDATA[
      f(x,y,z) = f(x,z,y)
    ]]></literal>
    <justification jstring="[para(217(a,1),42(a,1,3)),rewrite(76(2))].">
      <j1 rule="para" parents="217 42"/>
      <j2 rule="rewrite" parents="76"/>
    </justification>
  </clause>

  <clause id="325">
    <literal><![CDATA[
      $F
    ]]></literal>
    <attribute><![CDATA[
      answer(2a_2b)
    ]]></attribute>
    <justification jstring="[resolve(324,a,308,a)].">
      <j1 rule="resolve" parents="324 308"/>
    </justification>
  </clause>

</proof>

</proofs>
