<?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>quot-comm.out</source>

<heading><![CDATA[
Prover9 (32) version 22-May-2007, May 2007.
Process 27464 was started by mccune on cleo,
Tue May 22 14:46:06 2007
The command was "/home/mccune/bin/prover9 -f quot-comm.in".
]]></heading>

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

<comments><![CDATA[
% Proof 1 at 0.04 (+ 0.00) seconds.
% Length of proof is 18.
% Level of proof is 6.
% Maximum clause weight is 13.
% Given clauses 31.
]]></comments>

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

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

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

  <clause id="5" type="assumption">
    <literal><![CDATA[
      b * b0 = a * a0
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="6" type="assumption">
    <literal><![CDATA[
      d * b0 = c * a0
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="7">
    <literal><![CDATA[
      b0 * d = a0 * c
    ]]></literal>
    <justification jstring="[copy(6),rewrite([4(3),4(6)])].">
      <j1 rule="copy" parents="6"/>
      <j2 rule="rewrite" parents="4 4"/>
    </justification>
  </clause>

  <clause id="8" type="assumption">
    <literal><![CDATA[
      b * d0 = a * c0
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

  <clause id="9" type="assumption">
    <literal><![CDATA[
      d * d0 != c * c0
    ]]></literal>
    <justification jstring="[assumption].">
      <j1 rule="assumption"/>
    </justification>
  </clause>

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

  <clause id="15">
    <literal><![CDATA[
      b * b0 * x = a * a0 * x
    ]]></literal>
    <justification jstring="[para(5(a,1),1(a,1,1)),rewrite([1(4)]),flip(a)].">
      <j1 rule="para" parents="5 1"/>
      <j2 rule="rewrite" parents="1"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="23">
    <literal><![CDATA[
      b * d0 * x = a * c0 * x
    ]]></literal>
    <justification jstring="[para(8(a,1),1(a,1,1)),rewrite([1(4)]),flip(a)].">
      <j1 rule="para" parents="8 1"/>
      <j2 rule="rewrite" parents="1"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="39">
    <literal><![CDATA[
      b0 * x * d = x * a0 * c
    ]]></literal>
    <justification jstring="[para(7(a,1),12(a,1,2)),flip(a)].">
      <j1 rule="para" parents="7 12"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="46">
    <literal><![CDATA[
      b * x * b0 = a * a0 * x
    ]]></literal>
    <justification jstring="[para(4(a,1),15(a,1,2))].">
      <j1 rule="para" parents="4 15"/>
    </justification>
  </clause>

  <clause id="148">
    <literal><![CDATA[
      b0 * x * d = a0 * x * c
    ]]></literal>
    <justification jstring="[para(39(a,2),12(a,1))].">
      <j1 rule="para" parents="39 12"/>
    </justification>
  </clause>

  <clause id="188">
    <literal><![CDATA[
      b0 * c0 = a0 * d0
    ]]></literal>
    <justification jstring="[hyper(2,a,23,a(flip),b,46,a(flip)),rewrite([4(3)])].">
      <j1 rule="hyper" parents="2 23 46"/>
      <j2 rule="rewrite" parents="4"/>
    </justification>
  </clause>

  <clause id="199">
    <literal><![CDATA[
      a0 * d0 * x = b0 * c0 * x
    ]]></literal>
    <justification jstring="[para(188(a,1),1(a,1,1)),rewrite([1(4)])].">
      <j1 rule="para" parents="188 1"/>
      <j2 rule="rewrite" parents="1"/>
    </justification>
  </clause>

  <clause id="280">
    <literal><![CDATA[
      d * d0 = c * c0
    ]]></literal>
    <justification jstring="[hyper(2,a,148,a(flip),b,199,a),rewrite([4(3),4(6)]),flip(a)].">
      <j1 rule="hyper" parents="2 148 199"/>
      <j2 rule="rewrite" parents="4 4"/>
      <j2 rule="flip"/>
    </justification>
  </clause>

  <clause id="281">
    <literal><![CDATA[
      $F
    ]]></literal>
    <justification jstring="[resolve(280,a,9,a)].">
      <j1 rule="resolve" parents="280 9"/>
    </justification>
  </clause>

</proof>

</proofs>
