Theory MMI_Complex_ZF


(* 
    This file is a part of MMIsar - a translation of Metamath's set.mm to Isabelle 2005 (ZF logic).

    Copyright (C) 2006  Slawomir Kolodynski

    This program is free software; Redistribution and use in source and binary forms, 
    with or without modification, are permitted provided that the following conditions are met:

   1. Redistributions of source code must retain the above copyright notice, 
   this list of conditions and the following disclaimer.
   2. Redistributions in binary form must reproduce the above copyright notice, 
   this list of conditions and the following disclaimer in the documentation and/or 
   other materials provided with the distribution.
   3. The name of the author may not be used to endorse or promote products 
   derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

*)

section Complex numbers in Metamatah - introduction

theory MMI_Complex_ZF imports MMI_logic_and_sets

begin 

textThis theory contains theorems (with proofs) about complex numbers
  imported from the Metamath's set.mm database. 
  The original Metamath proofs were mostly written by Norman Megill, 
  see the Metamath Proof Explorer pages for full atribution.
  This theory contains about 200 theorems from "recnt" to "div11t".


  lemma (in MMIsar0) MMI_recnt: 
   shows "A    A  "
proof -
   have S1: "  " by (rule MMI_axresscn)
   from S1 show "A    A  " by (rule MMI_sseli)
qed

lemma (in MMIsar0) MMI_recn: assumes A1: "A  "   
   shows "A  "
proof -
   have S1: "  " by (rule MMI_axresscn)
   from A1 have S2: "A  ".
   from S1 S2 show "A  " by (rule MMI_sselii)
qed

lemma (in MMIsar0) MMI_recnd: assumes A1: "φ  A  "   
   shows "φ  A  "
proof -
   from A1 have S1: "φ  A  ".
   have S2: "A    A  " by (rule MMI_recnt)
   from S1 S2 show "φ  A  " by (rule MMI_syl)
qed

lemma (in MMIsar0) MMI_elimne0: 
   shows "if ( A  𝟬 , A , 𝟭 )  𝟬"
proof -
   have S1: "A = if ( A  𝟬 , A , 𝟭 )  
     ( A  𝟬  if ( A  𝟬 , A , 𝟭 )  𝟬 )" by (rule MMI_neeq1)
   have S2: "𝟭 = if ( A  𝟬 , A , 𝟭 )  
     ( 𝟭  𝟬  if ( A  𝟬 , A , 𝟭 )  𝟬 )" by (rule MMI_neeq1)
   have S3: "𝟭  𝟬" by (rule MMI_ax1ne0)
   from S1 S2 S3 show "if ( A  𝟬 , A , 𝟭 )  𝟬" by (rule MMI_elimhyp)
qed

lemma (in MMIsar0) MMI_addex: 
   shows "\<caddset> isASet"
proof -
   have S1: " isASet" by (rule MMI_axcnex)
   have S2: " isASet" by (rule MMI_axcnex)
   from S1 S2 have S3: "(  ×  ) isASet" by (rule MMI_xpex)
   have S4: "\<caddset> : (  ×  )  " by (rule MMI_axaddopr)
   have S5: "(  ×  ) isASet  
     ( \<caddset> : (  ×  )    \<caddset> isASet )" by (rule MMI_fex)
   from S3 S4 S5 show "\<caddset> isASet" by (rule MMI_mp2)
qed

lemma (in MMIsar0) MMI_mulex: 
   shows "\<cmulset> isASet"
proof -
   have S1: " isASet" by (rule MMI_axcnex)
   have S2: " isASet" by (rule MMI_axcnex)
   from S1 S2 have S3: "(  ×  ) isASet" by (rule MMI_xpex)
   have S4: "\<cmulset> : (  ×  )  " by (rule MMI_axmulopr)
   have S5: "(  ×  ) isASet  
     ( \<cmulset> : (  ×  )    \<cmulset> isASet )" by (rule MMI_fex)
   from S3 S4 S5 show "\<cmulset> isASet" by (rule MMI_mp2)
qed

lemma (in MMIsar0) MMI_adddirt: 
   shows "( A    B    C   )  
  ( ( A \<ca> B )  C ) = ( ( A  C ) \<ca> ( B  C ) )"
proof -
   have S1: "( C    A    B   )  
     ( C  ( A \<ca> B ) ) = ( ( C  A ) \<ca> ( C  B ) )" 
     by (rule MMI_axdistr)
   from S1 have S2: "( A    B    C   )  
     ( C  ( A \<ca> B ) ) = ( ( C  A ) \<ca> ( C  B ) )" by (rule MMI_3coml)
   have S3: "( ( A \<ca> B )    C   )  
     ( ( A \<ca> B )  C ) = ( C  ( A \<ca> B ) )" by (rule MMI_axmulcom)
   have S4: "( A    B   )  ( A \<ca> B )  " by (rule MMI_axaddcl)
   from S3 S4 have S5: "( ( A    B   )  C   )  
     ( ( A \<ca> B )  C ) = ( C  ( A \<ca> B ) )" by (rule MMI_sylan)
   from S5 have S6: "( A    B    C   )  
     ( ( A \<ca> B )  C ) = ( C  ( A \<ca> B ) )" by (rule MMI_3impa)
   have S7: "( A    C   )  ( A  C ) = ( C  A )" 
     by (rule MMI_axmulcom)
   from S7 have S8: "( A    B    C   )  ( A  C ) = ( C  A )" 
     by (rule MMI_3adant2)
   have S9: "( B    C   )  ( B  C ) = ( C  B )" 
     by (rule MMI_axmulcom)
   from S9 have S10: "( A    B    C   )  ( B  C ) = ( C  B )" 
     by (rule MMI_3adant1)
   from S8 S10 have S11: "( A    B    C   )  
     ( ( A  C ) \<ca> ( B  C ) ) = ( ( C  A ) \<ca> ( C  B ) )" 
     by (rule MMI_opreq12d)
   from S2 S6 S11 show "( A    B    C   )  
     ( ( A \<ca> B )  C ) = ( ( A  C ) \<ca> ( B  C ) )" 
     by (rule MMI_3eqtr4d)
qed

lemma (in MMIsar0) MMI_addcl: assumes A1: "A  " and
    A2: "B  "   
   shows "( A \<ca> B )  "
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   have S3: "( A    B   )  ( A \<ca> B )  " by (rule MMI_axaddcl)
   from S1 S2 S3 show "( A \<ca> B )  " by (rule MMI_mp2an)
qed

lemma (in MMIsar0) MMI_mulcl: assumes A1: "A  " and
    A2: "B  "   
   shows "( A  B )  "
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   have S3: "( A    B   )  ( A  B )  " by (rule MMI_axmulcl)
   from S1 S2 S3 show "( A  B )  " by (rule MMI_mp2an)
qed

lemma (in MMIsar0) MMI_addcom: assumes A1: "A  " and
    A2: "B  "   
   shows "( A \<ca> B ) = ( B \<ca> A )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   have S3: "( A    B   )  ( A \<ca> B ) = ( B \<ca> A )" 
     by (rule MMI_axaddcom)
   from S1 S2 S3 show "( A \<ca> B ) = ( B \<ca> A )" by (rule MMI_mp2an)
qed

lemma (in MMIsar0) MMI_mulcom: assumes A1: "A  " and
    A2: "B  "   
   shows "( A  B ) = ( B  A )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   have S3: "( A    B   )  ( A  B ) = ( B  A )" 
     by (rule MMI_axmulcom)
   from S1 S2 S3 show "( A  B ) = ( B  A )" by (rule MMI_mp2an)
qed

lemma (in MMIsar0) MMI_addass: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "( ( A \<ca> B ) \<ca> C ) = ( A \<ca> ( B \<ca> C ) )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A3 have S3: "C  ".
   have S4: "( A    B    C   )  ( ( A \<ca> B ) \<ca> C ) = 
     ( A \<ca> ( B \<ca> C ) )" by (rule MMI_axaddass)
   from S1 S2 S3 S4 show "( ( A \<ca> B ) \<ca> C ) = 
     ( A \<ca> ( B \<ca> C ) )" by (rule MMI_mp3an)
qed

lemma (in MMIsar0) MMI_mulass: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "( ( A  B )  C ) = ( A  ( B  C ) )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A3 have S3: "C  ".
   have S4: "( A    B    C   )  ( ( A  B )  C ) = 
     ( A  ( B  C ) )" by (rule MMI_axmulass)
   from S1 S2 S3 S4 show "( ( A  B )  C ) = ( A  ( B  C ) )" 
     by (rule MMI_mp3an)
qed

lemma (in MMIsar0) MMI_adddi: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "( A  ( B \<ca> C ) ) = ( ( A  B ) \<ca> ( A  C ) )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A3 have S3: "C  ".
   have S4: "( A    B    C   )  ( A  ( B \<ca> C ) ) = 
     ( ( A  B ) \<ca> ( A  C ) )" by (rule MMI_axdistr)
   from S1 S2 S3 S4 show "( A  ( B \<ca> C ) ) = 
     ( ( A  B ) \<ca> ( A  C ) )" by (rule MMI_mp3an)
qed

lemma (in MMIsar0) MMI_adddir: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "( ( A \<ca> B )  C ) = ( ( A  C ) \<ca> ( B  C ) )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A3 have S3: "C  ".
   have S4: "( A    B    C   )  ( ( A \<ca> B )  C ) = 
     ( ( A  C ) \<ca> ( B  C ) )" by (rule MMI_adddirt)
   from S1 S2 S3 S4 show "( ( A \<ca> B )  C ) = 
     ( ( A  C ) \<ca> ( B  C ) )" by (rule MMI_mp3an)
qed

lemma (in MMIsar0) MMI_1cn: 
   shows "𝟭  "
proof -
   have S1: "𝟭  " by (rule MMI_ax1re)
   from S1 show "𝟭  " by (rule MMI_recn)
qed

lemma (in MMIsar0) MMI_0cn: 
   shows "𝟬  "
proof -
   have S1: "( ( 𝗂  𝗂 ) \<ca> 𝟭 ) = 𝟬" by (rule MMI_axi2m1)
   have S2: "𝗂  " by (rule MMI_axicn)
   have S3: "𝗂  " by (rule MMI_axicn)
   from S2 S3 have S4: "( 𝗂  𝗂 )  " by (rule MMI_mulcl)
   have S5: "𝟭  " by (rule MMI_1cn)
   from S4 S5 have S6: "( ( 𝗂  𝗂 ) \<ca> 𝟭 )  " by (rule MMI_addcl)
   from S1 S6 show "𝟬  " by (rule MMI_eqeltrr)
qed

lemma (in MMIsar0) MMI_addid1: assumes A1: "A  "   
   shows "( A \<ca> 𝟬 ) = A"
proof -
   from A1 have S1: "A  ".
   have S2: "A    ( A \<ca> 𝟬 ) = A" by (rule MMI_ax0id)
   from S1 S2 show "( A \<ca> 𝟬 ) = A" by (rule MMI_ax_mp)
qed

lemma (in MMIsar0) MMI_addid2: assumes A1: "A  "   
   shows "( 𝟬 \<ca> A ) = A"
proof -
   have S1: "𝟬  " by (rule MMI_0cn)
   from A1 have S2: "A  ".
   from S1 S2 have S3: "( 𝟬 \<ca> A ) = ( A \<ca> 𝟬 )" by (rule MMI_addcom)
   from A1 have S4: "A  ".
   from S4 have S5: "( A \<ca> 𝟬 ) = A" by (rule MMI_addid1)
   from S3 S5 show "( 𝟬 \<ca> A ) = A" by (rule MMI_eqtr)
qed

(*-----------------------------------------------------------------*)


lemma (in MMIsar0) MMI_mulid1: assumes A1: "A  "   
   shows "( A  𝟭 ) = A"
proof -
   from A1 have S1: "A  ".
   have S2: "A    ( A  𝟭 ) = A" by (rule MMI_ax1id)
   from S1 S2 show "( A  𝟭 ) = A" by (rule MMI_ax_mp)
qed

lemma (in MMIsar0) MMI_mulid2: assumes A1: "A  "   
   shows "( 𝟭  A ) = A"
proof -
   have S1: "𝟭  " by (rule MMI_1cn)
   from A1 have S2: "A  ".
   from S1 S2 have S3: "( 𝟭  A ) = ( A  𝟭 )" by (rule MMI_mulcom)
   from A1 have S4: "A  ".
   from S4 have S5: "( A  𝟭 ) = A" by (rule MMI_mulid1)
   from S3 S5 show "( 𝟭  A ) = A" by (rule MMI_eqtr)
qed

lemma (in MMIsar0) MMI_negex: assumes A1: "A  "   
   shows " x   . ( A \<ca> x ) = 𝟬"
proof -
   from A1 have S1: "A  ".
   have S2: "A    (  x   . ( A \<ca> x ) = 𝟬 )" by (rule MMI_axnegex)
   from S1 S2 show " x   . ( A \<ca> x ) = 𝟬" by (rule MMI_ax_mp)
qed

lemma (in MMIsar0) MMI_recex: assumes A1: "A  " and
    A2: "A  𝟬"   
   shows " x   . ( A  x ) = 𝟭"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "A  𝟬".
   have S3: "( A    A  𝟬 )  (  x   . ( A  x ) = 𝟭 )" 
     by (rule MMI_axrecex)
   from S1 S2 S3 show " x   . ( A  x ) = 𝟭" by (rule MMI_mp2an)
qed

lemma (in MMIsar0) MMI_readdcl: assumes A1: "A  " and
    A2: "B  "   
   shows "( A \<ca> B )  "
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   have S3: "( A    B   )  ( A \<ca> B )  " by (rule MMI_axaddrcl)
   from S1 S2 S3 show "( A \<ca> B )  " by (rule MMI_mp2an)
qed

lemma (in MMIsar0) MMI_remulcl: assumes A1: "A  " and
    A2: "B  "   
   shows "( A  B )  "
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   have S3: "( A    B   )  ( A  B )  " by (rule MMI_axmulrcl)
   from S1 S2 S3 show "( A  B )  " by (rule MMI_mp2an)
qed

lemma (in MMIsar0) MMI_addcan: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "( A \<ca> B ) = ( A \<ca> C )  B = C"
proof -
   from A1 have S1: "A  ".
   from S1 have S2: " x   . ( A \<ca> x ) = 𝟬" by (rule MMI_negex)
   from A1 have S3: "A  ".
   from A2 have S4: "B  ".
   { fix x
     have S5: "( x    A    B   )  ( ( x \<ca> A ) \<ca> B ) = 
       ( x \<ca> ( A \<ca> B ) )" by (rule MMI_axaddass)
     from S4 S5 have S6: "( x    A   )  ( ( x \<ca> A ) \<ca> B ) = 
       ( x \<ca> ( A \<ca> B ) )" by (rule MMI_mp3an3)
     from A3 have S7: "C  ".
     have S8: "( x    A    C   )  ( ( x \<ca> A ) \<ca> C ) = 
       ( x \<ca> ( A \<ca> C ) )" by (rule MMI_axaddass)
     from S7 S8 have S9: "( x    A   )  ( ( x \<ca> A ) \<ca> C ) = 
       ( x \<ca> ( A \<ca> C ) )" by (rule MMI_mp3an3)
     from S6 S9 have S10: "( x    A   )  
       ( ( ( x \<ca> A ) \<ca> B ) = ( ( x \<ca> A ) \<ca> C )  
       ( x \<ca> ( A \<ca> B ) ) = ( x \<ca> ( A \<ca> C ) ) )" 
       by (rule MMI_eqeq12d)
     from S3 S10 have S11: "x    ( ( ( x \<ca> A ) \<ca> B ) = 
       ( ( x \<ca> A ) \<ca> C )  ( x \<ca> ( A \<ca> B ) ) = 
       ( x \<ca> ( A \<ca> C ) ) )" by (rule MMI_mpan2)
     have S12: "( A \<ca> B ) = ( A \<ca> C )  ( x \<ca> ( A \<ca> B ) ) = 
       ( x \<ca> ( A \<ca> C ) )" by (rule MMI_opreq2)
     from S11 S12 have S13: "x    ( ( A \<ca> B ) = ( A \<ca> C )  
       ( ( x \<ca> A ) \<ca> B ) = ( ( x \<ca> A ) \<ca> C ) )" 
       by (rule MMI_syl5bir)
     from S13 have S14: "( x    ( A \<ca> x ) = 𝟬 )  ( ( A \<ca> B ) = 
       ( A \<ca> C )  ( ( x \<ca> A ) \<ca> B ) = 
       ( ( x \<ca> A ) \<ca> C ) )" by (rule MMI_adantr)
     from A1 have S15: "A  ".
     have S16: "( A    x   )  ( A \<ca> x ) = ( x \<ca> A )" 
       by (rule MMI_axaddcom)
     from S15 S16 have S17: "x    ( A \<ca> x ) = ( x \<ca> A )" 
       by (rule MMI_mpan)
     from S17 have S18: "x    ( ( A \<ca> x ) = 𝟬  
       ( x \<ca> A ) = 𝟬 )" by (rule MMI_eqeq1d)
     have S19: "( x \<ca> A ) = 𝟬  ( ( x \<ca> A ) \<ca> B ) = 
       ( 𝟬 \<ca> B )" by (rule MMI_opreq1)
     from A2 have S20: "B  ".
     from S20 have S21: "( 𝟬 \<ca> B ) = B" by (rule MMI_addid2)
     from S19 S21 have S22: "( x \<ca> A ) = 𝟬  
       ( ( x \<ca> A ) \<ca> B ) = B" by (rule MMI_syl6eq)
     have S23: "( x \<ca> A ) = 𝟬  ( ( x \<ca> A ) \<ca> C ) = 
       ( 𝟬 \<ca> C )" by (rule MMI_opreq1)
     from A3 have S24: "C  ".
     from S24 have S25: "( 𝟬 \<ca> C ) = C" by (rule MMI_addid2)
     from S23 S25 have S26: "( x \<ca> A ) = 𝟬  
       ( ( x \<ca> A ) \<ca> C ) = C" by (rule MMI_syl6eq)
     from S22 S26 have S27: "( x \<ca> A ) = 𝟬  
       ( ( ( x \<ca> A ) \<ca> B ) = ( ( x \<ca> A ) \<ca> C )  B = C )" 
       by (rule MMI_eqeq12d)
     from S18 S27 have S28: "x    ( ( A \<ca> x ) = 𝟬  
       ( ( ( x \<ca> A ) \<ca> B ) = ( ( x \<ca> A ) \<ca> C )  B = C ) )" 
       by (rule MMI_syl6bi)
     from S28 have S29: "( x    ( A \<ca> x ) = 𝟬 )  
       ( ( ( x \<ca> A ) \<ca> B ) = ( ( x \<ca> A ) \<ca> C )  B = C )" 
       by (rule MMI_imp)
     from S14 S29 have S30: "( x    ( A \<ca> x ) = 𝟬 )  
       ( ( A \<ca> B ) = ( A \<ca> C )  B = C )" by (rule MMI_sylibd)
     from S30 have "x    ( ( A \<ca> x ) = 𝟬  
       ( ( A \<ca> B ) = ( A \<ca> C )  B = C ) )" by (rule MMI_ex)
   } then have S31: " x. (x    ( ( A \<ca> x ) = 𝟬  
       ( ( A \<ca> B ) = ( A \<ca> C )  B = C ) ))" by auto
   from S31 have S32: "(  x   . ( A \<ca> x ) = 𝟬 )  
     ( ( A \<ca> B ) = ( A \<ca> C )  B = C )" by (rule MMI_r19_23aiv)
   from S2 S32 have S33: "( A \<ca> B ) = ( A \<ca> C )  B = C" 
     by (rule MMI_ax_mp)
   have S34: "B = C  ( A \<ca> B ) = ( A \<ca> C )" by (rule MMI_opreq2)
   from S33 S34 show "( A \<ca> B ) = ( A \<ca> C )  B = C" 
     by (rule MMI_impbi)
qed

lemma (in MMIsar0) MMI_addcan2: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "( A \<ca> C ) = ( B \<ca> C )  A = B"
proof -
   from A1 have S1: "A  ".
   from A3 have S2: "C  ".
   from S1 S2 have S3: "( A \<ca> C ) = ( C \<ca> A )" by (rule MMI_addcom)
   from A2 have S4: "B  ".
   from A3 have S5: "C  ".
   from S4 S5 have S6: "( B \<ca> C ) = ( C \<ca> B )" by (rule MMI_addcom)
   from S3 S6 have S7: "( A \<ca> C ) = ( B \<ca> C )  
     ( C \<ca> A ) = ( C \<ca> B )" by (rule MMI_eqeq12i)
   from A3 have S8: "C  ".
   from A1 have S9: "A  ".
   from A2 have S10: "B  ".
   from S8 S9 S10 have S11: "( C \<ca> A ) = ( C \<ca> B )  A = B" 
     by (rule MMI_addcan)
   from S7 S11 show "( A \<ca> C ) = ( B \<ca> C )  A = B" by (rule MMI_bitr)
qed

lemma (in MMIsar0) MMI_addcant: 
   shows "( A    B    C   )  
  ( ( A \<ca> B ) = ( A \<ca> C )  B = C )"
proof -
   have S1: "A = if ( A   , A , 𝟬 )  ( A \<ca> B ) = ( if ( A   , A , 𝟬 ) \<ca> B )" by (rule MMI_opreq1)
   have S2: "A = if ( A   , A , 𝟬 )  
     ( A \<ca> C ) = ( if ( A   , A , 𝟬 ) \<ca> C )" by (rule MMI_opreq1)
   from S1 S2 have S3: "A = if ( A   , A , 𝟬 )  
     ( ( A \<ca> B ) = ( A \<ca> C )  
     ( if ( A   , A , 𝟬 ) \<ca> B ) = ( if ( A   , A , 𝟬 ) \<ca> C ) )" 
     by (rule MMI_eqeq12d)
   from S3 have S4: "A = if ( A   , A , 𝟬 )  
     ( ( ( A \<ca> B ) = ( A \<ca> C )  B = C )  
     ( ( if ( A   , A , 𝟬 ) \<ca> B ) = ( if ( A   , A , 𝟬 ) \<ca> C ) 
      B = C ) )" by (rule MMI_bibi1d)
   have S5: "B = if ( B   , B , 𝟬 )  
     ( if ( A   , A , 𝟬 ) \<ca> B ) = 
     ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) )" by (rule MMI_opreq2)
   from S5 have S6: "B = if ( B   , B , 𝟬 )  
     ( ( if ( A   , A , 𝟬 ) \<ca> B ) = ( if ( A   , A , 𝟬 ) \<ca> C ) 
      ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) ) = 
     ( if ( A   , A , 𝟬 ) \<ca> C ) )" by (rule MMI_eqeq1d)
   have S7: "B = if ( B   , B , 𝟬 )  ( B = C  
     if ( B   , B , 𝟬 ) = C )" by (rule MMI_eqeq1)
   from S6 S7 have S8: "B = if ( B   , B , 𝟬 )  
     ( ( ( if ( A   , A , 𝟬 ) \<ca> B ) = 
     ( if ( A   , A , 𝟬 ) \<ca> C )  B = C )  
     ( ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) ) = 
     ( if ( A   , A , 𝟬 ) \<ca> C )  if ( B   , B , 𝟬 ) = C ) )" 
     by (rule MMI_bibi12d)
   have S9: "C = if ( C   , C , 𝟬 )  ( if ( A   , A , 𝟬 ) \<ca> C ) = 
     ( if ( A   , A , 𝟬 ) \<ca> if ( C   , C , 𝟬 ) )" 
     by (rule MMI_opreq2)
   from S9 have S10: "C = if ( C   , C , 𝟬 )  
     ( ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) ) = 
     ( if ( A   , A , 𝟬 ) \<ca> C )  
     ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) ) = 
     ( if ( A   , A , 𝟬 ) \<ca> if ( C   , C , 𝟬 ) ) )" 
     by (rule MMI_eqeq2d)
   have S11: "C = if ( C   , C , 𝟬 )  ( if ( B   , B , 𝟬 ) = C  
     if ( B   , B , 𝟬 ) = if ( C   , C , 𝟬 ) )" by (rule MMI_eqeq2)
   from S10 S11 have S12: "C = if ( C   , C , 𝟬 )  
     ( ( ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) ) = 
     ( if ( A   , A , 𝟬 ) \<ca> C )  if ( B   , B , 𝟬 ) = C )  
     ( ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) ) = 
     ( if ( A   , A , 𝟬 ) \<ca> if ( C   , C , 𝟬 ) )  
     if ( B   , B , 𝟬 ) = if ( C   , C , 𝟬 ) ) )" by (rule MMI_bibi12d)
   have S13: "𝟬  " by (rule MMI_0cn)
   from S13 have S14: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   have S15: "𝟬  " by (rule MMI_0cn)
   from S15 have S16: "if ( B   , B , 𝟬 )  " by (rule MMI_elimel)
   have S17: "𝟬  " by (rule MMI_0cn)
   from S17 have S18: "if ( C   , C , 𝟬 )  " by (rule MMI_elimel)
   from S14 S16 S18 have S19: 
     "( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) ) = 
     ( if ( A   , A , 𝟬 ) \<ca> if ( C   , C , 𝟬 ) )  
     if ( B   , B , 𝟬 ) = if ( C   , C , 𝟬 )" by (rule MMI_addcan)
   from S4 S8 S12 S19 show "( A    B    C   )  
     ( ( A \<ca> B ) = ( A \<ca> C )  B = C )" by (rule MMI_dedth3h)
qed

lemma (in MMIsar0) MMI_addcan2t: 
   shows "( A    B    C   )  ( ( A \<ca> C ) = ( B \<ca> C )  
  A = B )"
proof -
   have S1: "( C    A   )  ( C \<ca> A ) = ( A \<ca> C )" 
     by (rule MMI_axaddcom)
   from S1 have S2: "( C    A    B   )  ( C \<ca> A ) = 
     ( A \<ca> C )" by (rule MMI_3adant3)
   have S3: "( C    B   )  ( C \<ca> B ) = ( B \<ca> C )" 
     by (rule MMI_axaddcom)
   from S3 have S4: "( C    A    B   )  ( C \<ca> B ) = 
     ( B \<ca> C )" by (rule MMI_3adant2)
   from S2 S4 have S5: "( C    A    B   )  
     ( ( C \<ca> A ) = ( C \<ca> B )  ( A \<ca> C ) = ( B \<ca> C ) )" 
     by (rule MMI_eqeq12d)
   have S6: "( C    A    B   )  ( ( C \<ca> A ) = 
     ( C \<ca> B )  A = B )" by (rule MMI_addcant)
   from S5 S6 have S7: "( C    A    B   )  ( ( A \<ca> C ) = 
     ( B \<ca> C )  A = B )" by (rule MMI_bitr3d)
   from S7 show "( A    B    C   )  ( ( A \<ca> C ) = 
     ( B \<ca> C )  A = B )" by (rule MMI_3coml)
qed

(************************ 20-30********************************)

lemma (in MMIsar0) MMI_add12t: 
   shows "( A    B    C   )  ( A \<ca> ( B \<ca> C ) ) = 
  ( B \<ca> ( A \<ca> C ) )"
proof -
   have S1: "( A    B   )  ( A \<ca> B ) = ( B \<ca> A )" 
     by (rule MMI_axaddcom)
   from S1 have S2: "( A    B   )  ( ( A \<ca> B ) \<ca> C ) = 
     ( ( B \<ca> A ) \<ca> C )" by (rule MMI_opreq1d)
   from S2 have S3: "( A    B    C   )  
     ( ( A \<ca> B ) \<ca> C ) = ( ( B \<ca> A ) \<ca> C )" 
     by (rule MMI_3adant3)
   have S4: "( A    B    C   )  ( ( A \<ca> B ) \<ca> C ) = 
     ( A \<ca> ( B \<ca> C ) )" by (rule MMI_axaddass)
   have S5: "( B    A    C   )  ( ( B \<ca> A ) \<ca> C ) = 
     ( B \<ca> ( A \<ca> C ) )" by (rule MMI_axaddass)
   from S5 have S6: "( A    B    C   )  
     ( ( B \<ca> A ) \<ca> C ) = ( B \<ca> ( A \<ca> C ) )" by (rule MMI_3com12)
   from S3 S4 S6 show "( A    B    C   )  
     ( A \<ca> ( B \<ca> C ) ) = ( B \<ca> ( A \<ca> C ) )" 
     by (rule MMI_3eqtr3d)
qed

lemma (in MMIsar0) MMI_add23t: 
   shows "( A    B    C   )  ( ( A \<ca> B ) \<ca> C ) = 
  ( ( A \<ca> C ) \<ca> B )"
proof -
   have S1: "( B    C   )  ( B \<ca> C ) = ( C \<ca> B )" 
     by (rule MMI_axaddcom)
   from S1 have S2: "( B    C   )  ( A \<ca> ( B \<ca> C ) ) = 
     ( A \<ca> ( C \<ca> B ) )" by (rule MMI_opreq2d)
   from S2 have S3: "( A    B    C   )  
     ( A \<ca> ( B \<ca> C ) ) = ( A \<ca> ( C \<ca> B ) )" 
     by (rule MMI_3adant1)
   have S4: "( A    B    C   )  ( ( A \<ca> B ) \<ca> C ) = 
     ( A \<ca> ( B \<ca> C ) )" by (rule MMI_axaddass)
   have S5: "( A    C    B   )  ( ( A \<ca> C ) \<ca> B ) = 
     ( A \<ca> ( C \<ca> B ) )" by (rule MMI_axaddass)
   from S5 have S6: "( A    B    C   )  
     ( ( A \<ca> C ) \<ca> B ) = ( A \<ca> ( C \<ca> B ) )" by (rule MMI_3com23)
   from S3 S4 S6 show "( A    B    C   )  
     ( ( A \<ca> B ) \<ca> C ) = ( ( A \<ca> C ) \<ca> B )" 
     by (rule MMI_3eqtr4d)
qed

lemma (in MMIsar0) MMI_add4t: 
   shows "( ( A    B   )  ( C    D   ) )  
  ( ( A \<ca> B ) \<ca> ( C \<ca> D ) ) = ( ( A \<ca> C ) \<ca> ( B \<ca> D ) )"
proof -
   have S1: "( A    B    C   )  
     ( ( A \<ca> B ) \<ca> C ) = ( ( A \<ca> C ) \<ca> B )" by (rule MMI_add23t)
   from S1 have S2: "( A    B    C   )  
     ( ( ( A \<ca> B ) \<ca> C ) \<ca> D ) = 
     ( ( ( A \<ca> C ) \<ca> B ) \<ca> D )" by (rule MMI_opreq1d)
   from S2 have S3: "( ( A    B   )  C   )  
     ( ( ( A \<ca> B ) \<ca> C ) \<ca> D ) = 
     ( ( ( A \<ca> C ) \<ca> B ) \<ca> D )" by (rule MMI_3expa)
   from S3 have S4: "( ( A    B   )  ( C    D   ) )  
     ( ( ( A \<ca> B ) \<ca> C ) \<ca> D ) = 
     ( ( ( A \<ca> C ) \<ca> B ) \<ca> D )" by (rule MMI_adantrr)
   have S5: "( ( A \<ca> B )    C    D   )  
     ( ( ( A \<ca> B ) \<ca> C ) \<ca> D ) = 
     ( ( A \<ca> B ) \<ca> ( C \<ca> D ) )" by (rule MMI_axaddass)
   from S5 have S6: "( ( A \<ca> B )    ( C    D   ) )  
     ( ( ( A \<ca> B ) \<ca> C ) \<ca> D ) = 
     ( ( A \<ca> B ) \<ca> ( C \<ca> D ) )" by (rule MMI_3expb)
   have S7: "( A    B   )  ( A \<ca> B )  " by (rule MMI_axaddcl)
   from S6 S7 have S8: "( ( A    B   )  ( C    D   ) )  
     ( ( ( A \<ca> B ) \<ca> C ) \<ca> D ) = 
     ( ( A \<ca> B ) \<ca> ( C \<ca> D ) )" by (rule MMI_sylan)
   have S9: "( ( A \<ca> C )    B    D   )  
     ( ( ( A \<ca> C ) \<ca> B ) \<ca> D ) = 
     ( ( A \<ca> C ) \<ca> ( B \<ca> D ) )" by (rule MMI_axaddass)
   from S9 have S10: "( ( A \<ca> C )    ( B    D   ) )  
     ( ( ( A \<ca> C ) \<ca> B ) \<ca> D ) = 
     ( ( A \<ca> C ) \<ca> ( B \<ca> D ) )" by (rule MMI_3expb)
   have S11: "( A    C   )  ( A \<ca> C )  " by (rule MMI_axaddcl)
   from S10 S11 have S12: "( ( A    C   )  ( B    D   ) )  
     ( ( ( A \<ca> C ) \<ca> B ) \<ca> D ) = 
     ( ( A \<ca> C ) \<ca> ( B \<ca> D ) )" by (rule MMI_sylan)
   from S12 have S13: "( ( A    B   )  ( C    D   ) )  
     ( ( ( A \<ca> C ) \<ca> B ) \<ca> D ) = 
     ( ( A \<ca> C ) \<ca> ( B \<ca> D ) )" by (rule MMI_an4s)
   from S4 S8 S13 show "( ( A    B   )  ( C    D   ) )  
     ( ( A \<ca> B ) \<ca> ( C \<ca> D ) ) = 
     ( ( A \<ca> C ) \<ca> ( B \<ca> D ) )" by (rule MMI_3eqtr3d)
qed

lemma (in MMIsar0) MMI_add42t: 
   shows "( ( A    B   )  ( C    D   ) )  
  ( ( A \<ca> B ) \<ca> ( C \<ca> D ) ) = ( ( A \<ca> C ) \<ca> ( D \<ca> B ) )"
proof -
   have S1: "( ( A    B   )  ( C    D   ) )  
     ( ( A \<ca> B ) \<ca> ( C \<ca> D ) ) = 
     ( ( A \<ca> C ) \<ca> ( B \<ca> D ) )" by (rule MMI_add4t)
   have S2: "( B    D   )  ( B \<ca> D ) = 
     ( D \<ca> B )" by (rule MMI_axaddcom)
   from S2 have S3: "( ( A    B   )  ( C    D   ) )  
     ( B \<ca> D ) = ( D \<ca> B )" by (rule MMI_ad2ant2l)
   from S3 have S4: "( ( A    B   )  ( C    D   ) )  
     ( ( A \<ca> C ) \<ca> ( B \<ca> D ) ) = 
     ( ( A \<ca> C ) \<ca> ( D \<ca> B ) )" by (rule MMI_opreq2d)
   from S1 S4 show "( ( A    B   )  ( C    D   ) )  
     ( ( A \<ca> B ) \<ca> ( C \<ca> D ) ) = 
     ( ( A \<ca> C ) \<ca> ( D \<ca> B ) )" by (rule MMI_eqtrd)
qed

lemma (in MMIsar0) MMI_add12: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "( A \<ca> ( B \<ca> C ) ) = ( B \<ca> ( A \<ca> C ) )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A3 have S3: "C  ".
   have S4: "( A    B    C   )  ( A \<ca> ( B \<ca> C ) ) = 
     ( B \<ca> ( A \<ca> C ) )" by (rule MMI_add12t)
   from S1 S2 S3 S4 show "( A \<ca> ( B \<ca> C ) ) = 
     ( B \<ca> ( A \<ca> C ) )" by (rule MMI_mp3an)
qed

lemma (in MMIsar0) MMI_add23: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "( ( A \<ca> B ) \<ca> C ) = ( ( A \<ca> C ) \<ca> B )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A3 have S3: "C  ".
   have S4: "( A    B    C   )  
     ( ( A \<ca> B ) \<ca> C ) = ( ( A \<ca> C ) \<ca> B )" by (rule MMI_add23t)
   from S1 S2 S3 S4 show "( ( A \<ca> B ) \<ca> C ) = 
     ( ( A \<ca> C ) \<ca> B )" by (rule MMI_mp3an)
qed

lemma (in MMIsar0) MMI_add4: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  " and
    A4: "D  "   
   shows "( ( A \<ca> B ) \<ca> ( C \<ca> D ) ) = 
  ( ( A \<ca> C ) \<ca> ( B \<ca> D ) )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from S1 S2 have S3: "A    B  " by (rule MMI_pm3_2i)
   from A3 have S4: "C  ".
   from A4 have S5: "D  ".
   from S4 S5 have S6: "C    D  " by (rule MMI_pm3_2i)
   have S7: "( ( A    B   )  ( C    D   ) )  
     ( ( A \<ca> B ) \<ca> ( C \<ca> D ) ) = 
     ( ( A \<ca> C ) \<ca> ( B \<ca> D ) )" by (rule MMI_add4t)
   from S3 S6 S7 show "( ( A \<ca> B ) \<ca> ( C \<ca> D ) ) = 
     ( ( A \<ca> C ) \<ca> ( B \<ca> D ) )" by (rule MMI_mp2an)
qed

lemma (in MMIsar0) MMI_add42: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  " and
    A4: "D  "   
   shows "( ( A \<ca> B ) \<ca> ( C \<ca> D ) ) = 
  ( ( A \<ca> C ) \<ca> ( D \<ca> B ) )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A3 have S3: "C  ".
   from A4 have S4: "D  ".
   from S1 S2 S3 S4 have S5: "( ( A \<ca> B ) \<ca> ( C \<ca> D ) ) = 
     ( ( A \<ca> C ) \<ca> ( B \<ca> D ) )" by (rule MMI_add4)
   from A2 have S6: "B  ".
   from A4 have S7: "D  ".
   from S6 S7 have S8: "( B \<ca> D ) = ( D \<ca> B )" by (rule MMI_addcom)
   from S8 have S9: "( ( A \<ca> C ) \<ca> ( B \<ca> D ) ) = 
     ( ( A \<ca> C ) \<ca> ( D \<ca> B ) )" by (rule MMI_opreq2i)
   from S5 S9 show "( ( A \<ca> B ) \<ca> ( C \<ca> D ) ) = 
     ( ( A \<ca> C ) \<ca> ( D \<ca> B ) )" by (rule MMI_eqtr)
qed

lemma (in MMIsar0) MMI_addid2t: 
   shows "A    ( 𝟬 \<ca> A ) = A"
proof -
   have S1: "𝟬  " by (rule MMI_0cn)
   have S2: "( 𝟬    A   )  ( 𝟬 \<ca> A ) = ( A \<ca> 𝟬 )" 
     by (rule MMI_axaddcom)
   from S1 S2 have S3: "A    ( 𝟬 \<ca> A ) = ( A \<ca> 𝟬 )" 
     by (rule MMI_mpan)
   have S4: "A    ( A \<ca> 𝟬 ) = A" by (rule MMI_ax0id)
   from S3 S4 show "A    ( 𝟬 \<ca> A ) = A" by (rule MMI_eqtrd)
qed

lemma (in MMIsar0) MMI_peano2cn: 
   shows "A    ( A \<ca> 𝟭 )  "
proof -
   have S1: "𝟭  " by (rule MMI_1cn)
   have S2: "( A    𝟭   )  ( A \<ca> 𝟭 )  " by (rule MMI_axaddcl)
   from S1 S2 show "A    ( A \<ca> 𝟭 )  " by (rule MMI_mpan2)
qed

(*** 31-34 ********************************************************)

lemma (in MMIsar0) MMI_peano2re: 
   shows "A    ( A \<ca> 𝟭 )  "
proof -
   have S1: "𝟭  " by (rule MMI_ax1re)
   have S2: "( A    𝟭   )  ( A \<ca> 𝟭 )  " by (rule MMI_axaddrcl)
   from S1 S2 show "A    ( A \<ca> 𝟭 )  " by (rule MMI_mpan2)
qed

lemma (in MMIsar0) MMI_negeu: assumes A1: "A  " and
    A2: "B  "   
   shows "∃! x . x    ( A \<ca> x ) = B"
proof -
   { fix x y
     have S1: "x = y  ( A \<ca> x ) = ( A \<ca> y )" by (rule MMI_opreq2)
     from S1 have "x = y  ( ( A \<ca> x ) = B  ( A \<ca> y ) = B )" 
       by (rule MMI_eqeq1d)
   } then have S2: "x y. x = y  ( ( A \<ca> x ) = B  
       ( A \<ca> y ) = B )" by simp
   from S2 have S3: "( ∃! x . x    ( A \<ca> x ) = B )  
     ( (  x   . ( A \<ca> x ) = B )  
     (  x   .  y   . ( ( ( A \<ca> x ) = B  ( A \<ca> y ) = B )  
     x = y ) ) )" by (rule MMI_reu4)
   from A1 have S4: "A  ".
   from S4 have S5: " y   . ( A \<ca> y ) = 𝟬" by (rule MMI_negex)
   from A2 have S6: "B  ".
   { fix y
     have S7: "( y    B   )  ( y \<ca> B )  " by (rule MMI_axaddcl)
     from S6 S7 have S8: "y    ( y \<ca> B )  " by (rule MMI_mpan2)
     have S9: "( y \<ca> B )    (  x   . x = ( y \<ca> B ) )" 
       by (rule MMI_risset)
     from S8 S9 have S10: "y    (  x   . x = ( y \<ca> B ) )" 
       by (rule MMI_sylib)
     { fix x
       have S11: "x = ( y \<ca> B )  ( A \<ca> x ) = 
	 ( A \<ca> ( y \<ca> B ) )" by (rule MMI_opreq2)
       from A1 have S12: "A  ".
       from A2 have S13: "B  ".
       have S14: "( A    y    B   )  
	 ( ( A \<ca> y ) \<ca> B ) = ( A \<ca> ( y \<ca> B ) )" 
	 by (rule MMI_axaddass)
       from S12 S13 S14 have S15: "y    ( ( A \<ca> y ) \<ca> B ) = 
	 ( A \<ca> ( y \<ca> B ) )" by (rule MMI_mp3an13)
       from S15 have S16: "y    ( A \<ca> ( y \<ca> B ) ) = 
	 ( ( A \<ca> y ) \<ca> B )" by (rule MMI_eqcomd)
       from S11 S16 have S17: "( y    x = ( y \<ca> B ) ) 
	  ( A \<ca> x ) = ( ( A \<ca> y ) \<ca> B )" by (rule MMI_sylan9eqr)
       have S18: "( A \<ca> y ) = 𝟬  
	 ( ( A \<ca> y ) \<ca> B ) = ( 𝟬 \<ca> B )" by (rule MMI_opreq1)
       from A2 have S19: "B  ".
       from S19 have S20: "( 𝟬 \<ca> B ) = B" by (rule MMI_addid2)
       from S18 S20 have S21: "( A \<ca> y ) = 𝟬  
	 ( ( A \<ca> y ) \<ca> B ) = B" by (rule MMI_syl6eq)
       from S17 S21 have S22: "( ( A \<ca> y ) = 𝟬  ( y    x = 
	 ( y \<ca> B ) ) )  ( A \<ca> x ) = B" by (rule MMI_sylan9eqr)
       from S22 have S23: "( A \<ca> y ) = 𝟬  
	 ( y    ( x = ( y \<ca> B )  ( A \<ca> x ) = B ) )" 
	 by (rule MMI_exp32)
       from S23 have S24: "( y    ( A \<ca> y ) = 𝟬 )  
	 ( x = ( y \<ca> B )  ( A \<ca> x ) = B )" by (rule MMI_impcom)
       from S24 have "( y    ( A \<ca> y ) = 𝟬 )  
	 ( x    ( x = ( y \<ca> B )  ( A \<ca> x ) = B ) )" 
	 by (rule MMI_a1d)
     } then have S25: " x. ( y    ( A \<ca> y ) = 𝟬 )  
	 ( x    ( x = ( y \<ca> B )  ( A \<ca> x ) = B ) )" by auto
     from S25 have S26: "( y    ( A \<ca> y ) = 𝟬 )  
       (  x   . ( x = ( y \<ca> B )  ( A \<ca> x ) = B ) )" 
       by (rule MMI_r19_21aiv)
     from S26 have S27: "y    ( ( A \<ca> y ) = 𝟬  
       (  x   . ( x = ( y \<ca> B )  ( A \<ca> x ) = B ) ) )" 
       by (rule MMI_ex)
     have S28: "(  x   . ( x = ( y \<ca> B )  ( A \<ca> x ) = B ) ) 
        ( (  x   . x = ( y \<ca> B ) )  
       (  x   . ( A \<ca> x ) = B ) )" by (rule MMI_r19_22)
     from S27 S28 have S29: "y    ( ( A \<ca> y ) = 𝟬  
       ( (  x   . x = ( y \<ca> B ) )  
       (  x   . ( A \<ca> x ) = B ) ) )" by (rule MMI_syl6)
     from S10 S29 have "y    ( ( A \<ca> y ) = 𝟬  
       (  x   . ( A \<ca> x ) = B ) )" by (rule MMI_mpid)
   } then have S30: " y. y    ( ( A \<ca> y ) = 𝟬  
       (  x   . ( A \<ca> x ) = B ) )" by simp
   from S30 have S31: "(  y   . ( A \<ca> y ) = 𝟬 )  
     (  x   . ( A \<ca> x ) = B )" by (rule MMI_r19_23aiv)
   from S5 S31 have S32: " x   . ( A \<ca> x ) = B" by (rule MMI_ax_mp)
   from A1 have S33: "A  ".
   { fix x y
     have S34: "( A    x    y   )  
       ( ( A \<ca> x ) = ( A \<ca> y )  x = y )" by (rule MMI_addcant)
     have S35: "( ( A \<ca> x ) = B  ( A \<ca> y ) = B )  
       ( A \<ca> x ) = ( A \<ca> y )" by (rule MMI_eqtr3t)
     from S34 S35 have S36: "( A    x    y   )  
       ( ( ( A \<ca> x ) = B  ( A \<ca> y ) = B )  x = y )" 
       by (rule MMI_syl5bi)
     from S33 S36 have "( x    y   )  
       ( ( ( A \<ca> x ) = B  ( A \<ca> y ) = B )  x = y )" 
       by (rule MMI_mp3an1)
   } then have S37: "x y . ( x    y   )  
       ( ( ( A \<ca> x ) = B  ( A \<ca> y ) = B )  x = y )" by auto
   from S37 have S38: " x   .  y   . ( ( ( A \<ca> x ) = B  
     ( A \<ca> y ) = B )  x = y )" by (rule MMI_rgen2)
   from S3 S32 S38 show "∃! x . x    ( A \<ca> x ) = B" 
     by (rule MMI_mpbir2an)
qed

(** this is proven by definition rather than importing the Metamath proof **)

lemma (in MMIsar0) MMI_subval: assumes "A  "  "B  "
  shows "A \<cs> B =   { x   . B \<ca> x = A }"
  using sub_def by simp

(** this is a definition in Metamath *)

lemma (in MMIsar0) MMI_df_neg: shows "(\<cn> A) = 𝟬 \<cs> A"
  using cneg_def by simp

(************** 35-37 ****************************************)
 
lemma (in MMIsar0) MMI_negeq: 
   shows "A = B  (\<cn>A) = (\<cn> B)"
proof -
   have S1: "A = B  ( 𝟬 \<cs> A ) = ( 𝟬 \<cs> B )" by (rule MMI_opreq2)
   have S2: "(\<cn>A) = ( 𝟬 \<cs> A )" by (rule MMI_df_neg)
   have S3: "(\<cn>B) = ( 𝟬 \<cs> B )" by (rule MMI_df_neg)
   from S1 S2 S3 show "A = B  (\<cn>A) = (\<cn>B)" by (rule MMI_3eqtr4g)
qed

lemma (in MMIsar0) MMI_negeqi: assumes A1: "A = B"   
   shows "(\<cn>  A) = (\<cn>B)"
proof -
   from A1 have S1: "A = B".
   have S2: "A = B  (\<cn>A) = (\<cn>B)" by (rule MMI_negeq)
   from S1 S2 show "(\<cn>A) = (\<cn>B)" by (rule MMI_ax_mp)
qed

lemma (in MMIsar0) MMI_negeqd: assumes A1: "φ  A = B"   
   shows "φ  (\<cn>A) = (\<cn>B)"
proof -
   from A1 have S1: "φ  A = B".
   have S2: "A = B  (\<cn>A) = (\<cn>B)" by (rule MMI_negeq)
   from S1 S2 show "φ  (\<cn>A) = (\<cn>B)" by (rule MMI_syl)
qed

(**********************auto************************************)

lemma (in MMIsar0) MMI_hbneg: assumes A1: "y  A  (  x . y  A )"   
   shows "y  ((\<cn>  A))  (  x . (y  ((\<cn>  A)) ) )"
  using assms by auto

lemma (in MMIsar0) MMI_minusex: 
   shows "((\<cn>  A)) isASet" by auto

(********38-43************************************************)

lemma (in MMIsar0) MMI_subcl: assumes A1: "A  " and
    A2: "B  "   
   shows "( A \<cs> B )  "
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from S1 S2 have S3: "( A \<cs> B ) =  { x   . ( B \<ca> x ) = A }" 
     by (rule MMI_subval)
   from A2 have S4: "B  ".
   from A1 have S5: "A  ".
   from S4 S5 have S6: "∃! x . x    ( B \<ca> x ) = A" by (rule MMI_negeu)
   have S7: "( ∃! x . x    ( B \<ca> x ) = A )  
      { x   . ( B \<ca> x ) = A }  " by (rule MMI_reucl)
   from S6 S7 have S8: " { x   . ( B \<ca> x ) = A }  " 
     by (rule MMI_ax_mp)
   from S3 S8 show "( A \<cs> B )  " by simp
qed

lemma (in MMIsar0) MMI_subclt: 
   shows "( A    B   )  ( A \<cs> B )  "
proof -
   have S1: "A = if ( A   , A , 𝟬 )  ( A \<cs> B ) = 
     ( if ( A   , A , 𝟬 ) \<cs> B )" by (rule MMI_opreq1)
   from S1 have S2: "A = if ( A   , A , 𝟬 )  ( ( A \<cs> B )    
     ( if ( A   , A , 𝟬 ) \<cs> B )   )" by (rule MMI_eleq1d)
   have S3: "B = if ( B   , B , 𝟬 )  ( if ( A   , A , 𝟬 ) \<cs> B ) = 
     ( if ( A   , A , 𝟬 ) \<cs> if ( B   , B , 𝟬 ) )" by (rule MMI_opreq2)
   from S3 have S4: "B = if ( B   , B , 𝟬 )  
     ( ( if ( A   , A , 𝟬 ) \<cs> B )    
     ( if ( A   , A , 𝟬 ) \<cs> if ( B   , B , 𝟬 ) )   )" 
     by (rule MMI_eleq1d)
   have S5: "𝟬  " by (rule MMI_0cn)
   from S5 have S6: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   have S7: "𝟬  " by (rule MMI_0cn)
   from S7 have S8: "if ( B   , B , 𝟬 )  " by (rule MMI_elimel)
   from S6 S8 have S9: 
     "( if ( A   , A , 𝟬 ) \<cs> if ( B   , B , 𝟬 ) )  " 
     by (rule MMI_subcl)
   from S2 S4 S9 show "( A    B   )  ( A \<cs> B )  " 
     by (rule MMI_dedth2h)
qed

lemma (in MMIsar0) MMI_negclt: 
   shows "A    ( (\<cn>  A) )  "
proof -
   have S1: "𝟬  " by (rule MMI_0cn)
   have S2: "( 𝟬    A   )  ( 𝟬 \<cs> A )  " by (rule MMI_subclt)
   from S1 S2 have S3: "A    ( 𝟬 \<cs> A )  " by (rule MMI_mpan)
   have S4: "( (\<cn>  A) ) = ( 𝟬 \<cs> A )" by (rule MMI_df_neg)
   from S3 S4 show "A    ( (\<cn>  A) )  " by (rule MMI_syl5eqel)
qed

lemma (in MMIsar0) MMI_negcl: assumes A1: "A  "   
   shows "( (\<cn>  A) )  "
proof -
   from A1 have S1: "A  ".
   have S2: "A    ( (\<cn>  A) )  " by (rule MMI_negclt)
   from S1 S2 show "( (\<cn>  A) )  " by (rule MMI_ax_mp)
qed

lemma (in MMIsar0) MMI_subadd: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "( A \<cs> B ) = C  ( B \<ca> C ) = A"
proof -
   from A3 have S1: "C  ".
   { fix x
     have S2: "x = C  ( ( A \<cs> B ) = x  ( A \<cs> B ) = C )" 
       by (rule MMI_eqeq2)
     have S3: "x = C  ( B \<ca> x ) = ( B \<ca> C )" by (rule MMI_opreq2)
     from S3 have S4: "x = C  ( ( B \<ca> x ) = A  ( B \<ca> C ) = A )" 
       by (rule MMI_eqeq1d)
     from S2 S4 have "x = C  ( ( ( A \<cs> B ) = x  
       ( B \<ca> x ) = A )  ( ( A \<cs> B ) = C  ( B \<ca> C ) = A ) )" 
       by (rule MMI_bibi12d)
   } then have S5: "x. x = C  ( ( ( A \<cs> B ) = x  
       ( B \<ca> x ) = A )  ( ( A \<cs> B ) = C  
       ( B \<ca> C ) = A ) )" by simp
   from A2 have S6: "B  ".
   from A1 have S7: "A  ".
   from S6 S7 have S8: "∃! x . x    ( B \<ca> x ) = A" by (rule MMI_negeu)
   { fix x 
     have S9: "( x    ( ∃! x . x    ( B \<ca> x ) = A )  
       ( ( B \<ca> x ) = A )   { x   . ( B \<ca> x ) = A } = x )" 
       by (rule MMI_reuuni1)
     from S8 S9 have "x    ( ( B \<ca> x ) = A  
        { x   . ( B \<ca> x ) = A } = x )" by (rule MMI_mpan2)
   } then have S10: " x. x    ( ( B \<ca> x ) = A  
        { x   . ( B \<ca> x ) = A } = x )" by blast
   from A1 have S11: "A  ".
   from A2 have S12: "B  ".
   from S11 S12 have S13: "( A \<cs> B ) =  { x   . ( B \<ca> x ) = A }" 
     by (rule MMI_subval)
   from S13 have S14: "x. ( A \<cs> B ) = x  
      { x   . ( B \<ca> x ) = A } = x" by simp  (* (rule MMI_eqeq1i)*)
   from S10 S14 have S15: "x. x    ( ( A \<cs> B ) = x  
     ( B \<ca> x ) = A )" by (rule MMI_syl6rbbr)
   from S5 S15 have S16: "C    ( ( A \<cs> B ) = C  
     ( B \<ca> C ) = A )" by (rule MMI_vtoclga)
   from S1 S16 show "( A \<cs> B ) = C  ( B \<ca> C ) = A" 
     by (rule MMI_ax_mp)
qed

(*******************44-53*********************************************)


lemma (in MMIsar0) MMI_subsub23: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "( A \<cs> B ) = C  ( A \<cs> C ) = B"
proof -
   from A2 have S1: "B  ".
   from A3 have S2: "C  ".
   from S1 S2 have S3: "( B \<ca> C ) = ( C \<ca> B )" by (rule MMI_addcom)
   from S3 have S4: "( B \<ca> C ) = A  ( C \<ca> B ) = A" 
     by (rule MMI_eqeq1i)
   from A1 have S5: "A  ".
   from A2 have S6: "B  ".
   from A3 have S7: "C  ".
   from S5 S6 S7 have S8: "( A \<cs> B ) = C  ( B \<ca> C ) = A" 
     by (rule MMI_subadd)
   from A1 have S9: "A  ".
   from A3 have S10: "C  ".
   from A2 have S11: "B  ".
   from S9 S10 S11 have S12: "( A \<cs> C ) = B  ( C \<ca> B ) = A" 
     by (rule MMI_subadd)
   from S4 S8 S12 show "( A \<cs> B ) = C  ( A \<cs> C ) = B" 
     by (rule MMI_3bitr4)
qed

lemma (in MMIsar0) MMI_subaddt: 
   shows "( A    B    C   )  ( ( A \<cs> B ) = C  
  ( B \<ca> C ) = A )"
proof -
   have S1: "A = if ( A   , A , 𝟬 )  ( A \<cs> B ) = 
     ( if ( A   , A , 𝟬 ) \<cs> B )" by (rule MMI_opreq1)
   from S1 have S2: "A = if ( A   , A , 𝟬 )  ( ( A \<cs> B ) = C  
     ( if ( A   , A , 𝟬 ) \<cs> B ) = C )" by (rule MMI_eqeq1d)
   have S3: "A = if ( A   , A , 𝟬 )  ( ( B \<ca> C ) = A  
     ( B \<ca> C ) = if ( A   , A , 𝟬 ) )" by (rule MMI_eqeq2)
   from S2 S3 have S4: "A = if ( A   , A , 𝟬 )  
     ( ( ( A \<cs> B ) = C  ( B \<ca> C ) = A )  
     ( ( if ( A   , A , 𝟬 ) \<cs> B ) = C  ( B \<ca> C ) = 
     if ( A   , A , 𝟬 ) ) )" by (rule MMI_bibi12d)
   have S5: "B = if ( B   , B , 𝟬 )  
     ( if ( A   , A , 𝟬 ) \<cs> B ) = 
     ( if ( A   , A , 𝟬 ) \<cs> if ( B   , B , 𝟬 ) )" by (rule MMI_opreq2)
   from S5 have S6: "B = if ( B   , B , 𝟬 )  
     ( ( if ( A   , A , 𝟬 ) \<cs> B ) = C  
     ( if ( A   , A , 𝟬 ) \<cs> if ( B   , B , 𝟬 ) ) = C )" 
     by (rule MMI_eqeq1d)
   have S7: "B = if ( B   , B , 𝟬 )  ( B \<ca> C ) = 
     ( if ( B   , B , 𝟬 ) \<ca> C )" by (rule MMI_opreq1)
   from S7 have S8: "B = if ( B   , B , 𝟬 )  
     ( ( B \<ca> C ) = if ( A   , A , 𝟬 )  
     ( if ( B   , B , 𝟬 ) \<ca> C ) = if ( A   , A , 𝟬 ) )" 
     by (rule MMI_eqeq1d)
   from S6 S8 have S9: "B = if ( B   , B , 𝟬 )  
     ( ( ( if ( A   , A , 𝟬 ) \<cs> B ) = C  
     ( B \<ca> C ) = if ( A   , A , 𝟬 ) )  
     ( ( if ( A   , A , 𝟬 ) \<cs> if ( B   , B , 𝟬 ) ) = C  
     ( if ( B   , B , 𝟬 ) \<ca> C ) = if ( A   , A , 𝟬 ) ) )" 
     by (rule MMI_bibi12d)
   have S10: "C = if ( C   , C , 𝟬 )  
     ( ( if ( A   , A , 𝟬 ) \<cs> if ( B   , B , 𝟬 ) ) = C  
     ( if ( A   , A , 𝟬 ) \<cs> if ( B   , B , 𝟬 ) ) = 
     if ( C   , C , 𝟬 ) )" by (rule MMI_eqeq2)
   have S11: "C = if ( C   , C , 𝟬 )  
     ( if ( B   , B , 𝟬 ) \<ca> C ) = 
     ( if ( B   , B , 𝟬 ) \<ca> if ( C   , C , 𝟬 ) )" by (rule MMI_opreq2)
   from S11 have S12: "C = if ( C   , C , 𝟬 )  
     ( ( if ( B   , B , 𝟬 ) \<ca> C ) = if ( A   , A , 𝟬 )  
     ( if ( B   , B , 𝟬 ) \<ca> if ( C   , C , 𝟬 ) ) = 
     if ( A   , A , 𝟬 ) )" by (rule MMI_eqeq1d)
   from S10 S12 have S13: "C = if ( C   , C , 𝟬 )  
     ( ( ( if ( A   , A , 𝟬 ) \<cs> if ( B   , B , 𝟬 ) ) = C  
     ( if ( B   , B , 𝟬 ) \<ca> C ) = if ( A   , A , 𝟬 ) )  
     ( ( if ( A   , A , 𝟬 ) \<cs> if ( B   , B , 𝟬 ) ) = 
     if ( C   , C , 𝟬 )  
     ( if ( B   , B , 𝟬 ) \<ca> if ( C   , C , 𝟬 ) ) = 
     if ( A   , A , 𝟬 ) ) )" by (rule MMI_bibi12d)
   have S14: "𝟬  " by (rule MMI_0cn)
   from S14 have S15: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   have S16: "𝟬  " by (rule MMI_0cn)
   from S16 have S17: "if ( B   , B , 𝟬 )  " by (rule MMI_elimel)
   have S18: "𝟬  " by (rule MMI_0cn)
   from S18 have S19: "if ( C   , C , 𝟬 )  " by (rule MMI_elimel)
   from S15 S17 S19 have S20: 
     "( if ( A   , A , 𝟬 ) \<cs> if ( B   , B , 𝟬 ) ) = 
     if ( C   , C , 𝟬 )  
     ( if ( B   , B , 𝟬 ) \<ca> if ( C   , C , 𝟬 ) ) = 
     if ( A   , A , 𝟬 )" by (rule MMI_subadd)
   from S4 S9 S13 S20 show "( A    B    C   )  
     ( ( A \<cs> B ) = C  ( B \<ca> C ) = A )" by (rule MMI_dedth3h)
qed

lemma (in MMIsar0) MMI_pncan3t: 
   shows "( A    B   )  ( A \<ca> ( B \<cs> A ) ) = B"
proof -
   have S1: "( B \<cs> A ) = ( B \<cs> A )" by (rule MMI_eqid)
   have S2: "( B    A    ( B \<cs> A )   )  
     ( ( B \<cs> A ) = ( B \<cs> A )  ( A \<ca> ( B \<cs> A ) ) = B )" 
     by (rule MMI_subaddt)
   have S3: "( A    B   )  B  " by (rule MMI_pm3_27)
   have S4: "( A    B   )  A  " by (rule MMI_pm3_26)
   have S5: "( B    A   )  ( B \<cs> A )  " by (rule MMI_subclt)
   from S5 have S6: "( A    B   )  ( B \<cs> A )  " 
     by (rule MMI_ancoms)
   from S2 S3 S4 S6 have S7: "( A    B   )  ( ( B \<cs> A ) = 
     ( B \<cs> A )  ( A \<ca> ( B \<cs> A ) ) = B )" by (rule MMI_syl3anc)
   from S1 S7 show "( A    B   )  ( A \<ca> ( B \<cs> A ) ) = B" 
     by (rule MMI_mpbii)
qed

lemma (in MMIsar0) MMI_pncan3: assumes A1: "A  " and
    A2: "B  "   
   shows "( A \<ca> ( B \<cs> A ) ) = B"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   have S3: "( A    B   )  ( A \<ca> ( B \<cs> A ) ) = B" 
     by (rule MMI_pncan3t)
   from S1 S2 S3 show "( A \<ca> ( B \<cs> A ) ) = B" by (rule MMI_mp2an)
qed

lemma (in MMIsar0) MMI_negidt: 
   shows "A    ( A \<ca> ( (\<cn>  A) ) ) = 𝟬"
proof -
   have S1: "𝟬  " by (rule MMI_0cn)
   have S2: "( A    𝟬   )  ( A \<ca> ( 𝟬 \<cs> A ) ) = 𝟬" 
     by (rule MMI_pncan3t)
   from S1 S2 have S3: "A    ( A \<ca> ( 𝟬 \<cs> A ) ) = 𝟬" 
     by (rule MMI_mpan2)
   have S4: "( (\<cn>  A) ) = ( 𝟬 \<cs> A )" by (rule MMI_df_neg)
   from S4 have S5: "( A \<ca> ( (\<cn>  A) ) ) = ( A \<ca> ( 𝟬 \<cs> A ) )" 
     by (rule MMI_opreq2i)
   from S3 S5 show "A    ( A \<ca> ( (\<cn>  A) ) ) = 𝟬" by (rule MMI_syl5eq)
qed

lemma (in MMIsar0) MMI_negid: assumes A1: "A  "   
   shows "( A \<ca> ( (\<cn>  A) ) ) = 𝟬"
proof -
   from A1 have S1: "A  ".
   have S2: "A    ( A \<ca> ( (\<cn>  A) ) ) = 𝟬" by (rule MMI_negidt)
   from S1 S2 show "( A \<ca> ( (\<cn>  A) ) ) = 𝟬" by (rule MMI_ax_mp)
qed

lemma (in MMIsar0) MMI_negsub: assumes A1: "A  " and
    A2: "B  "   
   shows "( A \<ca> ( (\<cn>  B) ) ) = ( A \<cs> B )"
proof -
   from A2 have S1: "B  ".
   from A1 have S2: "A  ".
   from A2 have S3: "B  ".
   from S3 have S4: "( (\<cn>  B) )  " by (rule MMI_negcl)
   from S2 S4 have S5: "( A \<ca> ( (\<cn>  B) ) )  " by (rule MMI_addcl)
   from S1 S5 have S6: "( B \<ca> ( A \<ca> ( (\<cn>  B) ) ) ) = 
     ( ( A \<ca> ( (\<cn>  B) ) ) \<ca> B )" by (rule MMI_addcom)
   from A1 have S7: "A  ".
   from S4 have S8: "( (\<cn>  B) )  " .
   from A2 have S9: "B  ".
   from S7 S8 S9 have S10: "( ( A \<ca> ( (\<cn>  B) ) ) \<ca> B ) = 
     ( A \<ca> ( ( (\<cn>  B) ) \<ca> B ) )" by (rule MMI_addass)
   from S4 have S11: "( (\<cn>  B) )  " .
   from A2 have S12: "B  ".
   from S11 S12 have S13: "( ( (\<cn>  B) ) \<ca> B ) = ( B \<ca> ( (\<cn>  B) ) )" 
     by (rule MMI_addcom)
   from A2 have S14: "B  ".
   from S14 have S15: "( B \<ca> ( (\<cn>  B) ) ) = 𝟬" by (rule MMI_negid)
   from S13 S15 have S16: "( ( (\<cn>  B) ) \<ca> B ) = 𝟬" by (rule MMI_eqtr)
   from S16 have S17: "( A \<ca> ( ( (\<cn>  B) ) \<ca> B ) ) = ( A \<ca> 𝟬 )" 
     by (rule MMI_opreq2i)
   from A1 have S18: "A  ".
   from S18 have S19: "( A \<ca> 𝟬 ) = A" by (rule MMI_addid1)
   from S10 S17 S19 have S20: "( ( A \<ca> ( (\<cn>  B) ) ) \<ca> B ) = A" 
     by (rule MMI_3eqtr)
   from S6 S20 have S21: "( B \<ca> ( A \<ca> ( (\<cn>  B) ) ) ) = A" 
     by (rule MMI_eqtr)
   from A1 have S22: "A  ".
   from A2 have S23: "B  ".
   from S5 have S24: "( A \<ca> ( (\<cn>  B) ) )  " .
   from S22 S23 S24 have S25: "( A \<cs> B ) = ( A \<ca> ( (\<cn>  B) ) )  
     ( B \<ca> ( A \<ca> ( (\<cn>  B) ) ) ) = A" by (rule MMI_subadd)
   from S21 S25 have S26: "( A \<cs> B ) = ( A \<ca> ( (\<cn>  B) ) )" 
     by (rule MMI_mpbir)
   from S26 show "( A \<ca> ( (\<cn>  B) ) ) = ( A \<cs> B )" by (rule MMI_eqcomi)
qed

lemma (in MMIsar0) MMI_negsubt: 
   shows "( A    B   )  ( A \<ca> ( (\<cn>  B) ) ) = ( A \<cs> B )"
proof -
   have S1: "A = if ( A   , A , 𝟬 )  ( A \<ca> ( (\<cn>  B) ) ) = 
     ( if ( A   , A , 𝟬 ) \<ca> ( (\<cn>  B) ) )" by (rule MMI_opreq1)
   have S2: "A = if ( A   , A , 𝟬 )  ( A \<cs> B ) = 
     ( if ( A   , A , 𝟬 ) \<cs> B )" by (rule MMI_opreq1)
   from S1 S2 have S3: "A = if ( A   , A , 𝟬 )  
     ( ( A \<ca> ( (\<cn>  B) ) ) = ( A \<cs> B )  
     ( if ( A   , A , 𝟬 ) \<ca> ( (\<cn>  B) ) ) = 
     ( if ( A   , A , 𝟬 ) \<cs> B ) )" by (rule MMI_eqeq12d)
   have S4: "B = if ( B   , B , 𝟬 )  
     ( (\<cn>  B) ) = ( \<cn> if ( B   , B , 𝟬 ) )" by (rule MMI_negeq)
   from S4 have S5: "B = if ( B   , B , 𝟬 )  
     ( if ( A   , A , 𝟬 ) \<ca> ( (\<cn>  B) ) ) = 
     ( if ( A   , A , 𝟬 ) \<ca> ( \<cn> if ( B   , B , 𝟬 ) ) )" 
     by (rule MMI_opreq2d)
   have S6: "B = if ( B   , B , 𝟬 )  ( if ( A   , A , 𝟬 ) \<cs> B ) = 
     ( if ( A   , A , 𝟬 ) \<cs> if ( B   , B , 𝟬 ) )" 
     by (rule MMI_opreq2)
   from S5 S6 have S7: "B = if ( B   , B , 𝟬 )  
     ( ( if ( A   , A , 𝟬 ) \<ca> ( (\<cn>  B) ) ) = 
     ( if ( A   , A , 𝟬 ) \<cs> B )  
     ( if ( A   , A , 𝟬 ) \<ca> ( \<cn> if ( B   , B , 𝟬 ) ) ) = 
     ( if ( A   , A , 𝟬 ) \<cs> if ( B   , B , 𝟬 ) ) )" 
     by (rule MMI_eqeq12d)
   have S8: "𝟬  " by (rule MMI_0cn)
   from S8 have S9: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   have S10: "𝟬  " by (rule MMI_0cn)
   from S10 have S11: "if ( B   , B , 𝟬 )  " by (rule MMI_elimel)
   from S9 S11 have S12: 
     "( if ( A   , A , 𝟬 ) \<ca> ( \<cn> if ( B   , B , 𝟬 ) ) ) = 
     ( if ( A   , A , 𝟬 ) \<cs> if ( B   , B , 𝟬 ) )" 
     by (rule MMI_negsub)
   from S3 S7 S12 show "( A    B   )  ( A \<ca> ( (\<cn>  B) ) ) = 
     ( A \<cs> B )" by (rule MMI_dedth2h)
qed

lemma (in MMIsar0) MMI_addsubasst: 
   shows "( A    B    C   )  ( ( A \<ca> B ) \<cs> C ) = 
  ( A \<ca> ( B \<cs> C ) )"
proof -
   have S1: "( A    B    ( \<cn> C )   )  
     ( ( A \<ca> B ) \<ca> ( \<cn> C ) ) = 
     ( A \<ca> ( B \<ca> ( \<cn> C ) ) )" by (rule MMI_axaddass)
   have S2: "C    ( \<cn> C )  " by (rule MMI_negclt)
   from S1 S2 have S3: "( A    B    C   )  
     ( ( A \<ca> B ) \<ca> ( \<cn> C ) ) = 
     ( A \<ca> ( B \<ca> ( \<cn> C ) ) )" by (rule MMI_syl3an3)
   have S4: "( ( A \<ca> B )    C   )  
     ( ( A \<ca> B ) \<ca> ( \<cn> C ) ) = ( ( A \<ca> B ) \<cs> C )" 
     by (rule MMI_negsubt)
   have S5: "( A    B   )  ( A \<ca> B )  " by (rule MMI_axaddcl)
   from S4 S5 have S6: "( ( A    B   )  C   )  
     ( ( A \<ca> B ) \<ca> ( \<cn> C ) ) = ( ( A \<ca> B ) \<cs> C )" 
     by (rule MMI_sylan)
   from S6 have S7: "( A    B    C   )  
     ( ( A \<ca> B ) \<ca> ( \<cn> C ) ) = ( ( A \<ca> B ) \<cs> C )" 
     by (rule MMI_3impa)
   have S8: "( B    C   )  ( B \<ca> ( \<cn> C ) ) = ( B \<cs> C )" 
     by (rule MMI_negsubt)
   from S8 have S9: "( A    B    C   )  
     ( B \<ca> ( \<cn> C ) ) = ( B \<cs> C )" by (rule MMI_3adant1)
   from S9 have S10: "( A    B    C   )  
     ( A \<ca> ( B \<ca> ( \<cn> C ) ) ) = ( A \<ca> ( B \<cs> C ) )" 
     by (rule MMI_opreq2d)
   from S3 S7 S10 show "( A    B    C   )  
     ( ( A \<ca> B ) \<cs> C ) = ( A \<ca> ( B \<cs> C ) )" 
     by (rule MMI_3eqtr3d)
qed

lemma (in MMIsar0) MMI_addsubt: 
   shows "( A    B    C   )  ( ( A \<ca> B ) \<cs> C ) = 
  ( ( A \<cs> C ) \<ca> B )"
proof -
   have S1: "( A    B   )  ( A \<ca> B ) = ( B \<ca> A )" 
     by (rule MMI_axaddcom)
   from S1 have S2: "( A    B   )  ( ( A \<ca> B ) \<cs> C ) = 
     ( ( B \<ca> A ) \<cs> C )" by (rule MMI_opreq1d)
   from S2 have S3: "( A    B    C   )  
     ( ( A \<ca> B ) \<cs> C ) = ( ( B \<ca> A ) \<cs> C )" 
     by (rule MMI_3adant3)
   have S4: "( B    A    C   )  ( ( B \<ca> A ) \<cs> C ) = 
     ( B \<ca> ( A \<cs> C ) )" by (rule MMI_addsubasst)
   from S4 have S5: "( A    B    C   )  
     ( ( B \<ca> A ) \<cs> C ) = ( B \<ca> ( A \<cs> C ) )" by (rule MMI_3com12)
   have S6: "( B    ( A \<cs> C )   )  ( B \<ca> ( A \<cs> C ) ) = 
     ( ( A \<cs> C ) \<ca> B )" by (rule MMI_axaddcom)
   from S6 have S7: "B    ( ( A \<cs> C )    
     ( B \<ca> ( A \<cs> C ) ) = ( ( A \<cs> C ) \<ca> B ) )" by (rule MMI_ex)
   have S8: "( A    C   )  ( A \<cs> C )  " by (rule MMI_subclt)
   from S7 S8 have S9: "B    ( ( A    C   )  
     ( B \<ca> ( A \<cs> C ) ) = ( ( A \<cs> C ) \<ca> B ) )" by (rule MMI_syl5)
   from S9 have S10: "B    ( A    ( C    
     ( B \<ca> ( A \<cs> C ) ) = ( ( A \<cs> C ) \<ca> B ) ) )" 
     by (rule MMI_exp3a)
   from S10 have S11: "A    ( B    ( C    
     ( B \<ca> ( A \<cs> C ) ) = ( ( A \<cs> C ) \<ca> B ) ) )" 
     by (rule MMI_com12)
   from S11 have S12: "( A    B    C   )  
     ( B \<ca> ( A \<cs> C ) ) = ( ( A \<cs> C ) \<ca> B )" by (rule MMI_3imp)
   from S3 S5 S12 show "( A    B    C   )  
     ( ( A \<ca> B ) \<cs> C ) = ( ( A \<cs> C ) \<ca> B )" by (rule MMI_3eqtrd)
qed

(******** 54-63**************************************)

lemma (in MMIsar0) MMI_addsub12t: 
   shows "( A    B    C   )  ( A \<ca> ( B \<cs> C ) ) = 
  ( B \<ca> ( A \<cs> C ) )"
proof -
   have S1: "( A    B   )  ( A \<ca> B ) = ( B \<ca> A )" 
     by (rule MMI_axaddcom)
   from S1 have S2: "( A    B   )  ( ( A \<ca> B ) \<cs> C ) = 
     ( ( B \<ca> A ) \<cs> C )" by (rule MMI_opreq1d)
   from S2 have S3: "( A    B    C   )  
     ( ( A \<ca> B ) \<cs> C ) = ( ( B \<ca> A ) \<cs> C )" 
     by (rule MMI_3adant3)
   have S4: "( A    B    C   )  ( ( A \<ca> B ) \<cs> C ) = 
     ( A \<ca> ( B \<cs> C ) )" by (rule MMI_addsubasst)
   have S5: "( B    A    C   )  ( ( B \<ca> A ) \<cs> C ) = 
     ( B \<ca> ( A \<cs> C ) )" by (rule MMI_addsubasst)
   from S5 have S6: "( A    B    C   )  
     ( ( B \<ca> A ) \<cs> C ) = ( B \<ca> ( A \<cs> C ) )" by (rule MMI_3com12)
   from S3 S4 S6 show "( A    B    C   )  
     ( A \<ca> ( B \<cs> C ) ) = ( B \<ca> ( A \<cs> C ) )" 
     by (rule MMI_3eqtr3d)
qed

lemma (in MMIsar0) MMI_addsubass: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "( ( A \<ca> B ) \<cs> C ) = ( A \<ca> ( B \<cs> C ) )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A3 have S3: "C  ".
   have S4: "( A    B    C   )  ( ( A \<ca> B ) \<cs> C ) = 
     ( A \<ca> ( B \<cs> C ) )" by (rule MMI_addsubasst)
   from S1 S2 S3 S4 show "( ( A \<ca> B ) \<cs> C ) = 
     ( A \<ca> ( B \<cs> C ) )" by (rule MMI_mp3an)
qed

lemma (in MMIsar0) MMI_addsub: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "( ( A \<ca> B ) \<cs> C ) = ( ( A \<cs> C ) \<ca> B )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A3 have S3: "C  ".
   have S4: "( A    B    C   )  ( ( A \<ca> B ) \<cs> C ) = 
     ( ( A \<cs> C ) \<ca> B )" by (rule MMI_addsubt)
   from S1 S2 S3 S4 show "( ( A \<ca> B ) \<cs> C ) = 
     ( ( A \<cs> C ) \<ca> B )" by (rule MMI_mp3an)
qed

lemma (in MMIsar0) MMI_2addsubt: 
   shows "( ( A    B   )  ( C    D   ) )  
  ( ( ( A \<ca> B ) \<ca> C ) \<cs> D ) = ( ( ( A \<ca> C ) \<cs> D ) \<ca> B )"
proof -
   have S1: "( A    B    C   )  ( ( A \<ca> B ) \<ca> C ) = 
     ( ( A \<ca> C ) \<ca> B )" by (rule MMI_add23t)
   from S1 have S2: "( ( A    B   )  C   )  
     ( ( A \<ca> B ) \<ca> C ) = ( ( A \<ca> C ) \<ca> B )" by (rule MMI_3expa)
   from S2 have S3: "( ( A    B   )  ( C    D   ) )  
     ( ( A \<ca> B ) \<ca> C ) = ( ( A \<ca> C ) \<ca> B )" 
     by (rule MMI_adantrr)
   from S3 have S4: "( ( A    B   )  ( C    D   ) )  
     ( ( ( A \<ca> B ) \<ca> C ) \<cs> D ) = 
     ( ( ( A \<ca> C ) \<ca> B ) \<cs> D )" by (rule MMI_opreq1d)
   have S5: "( ( A \<ca> C )    B    D   )  
     ( ( ( A \<ca> C ) \<ca> B ) \<cs> D ) = 
     ( ( ( A \<ca> C ) \<cs> D ) \<ca> B )" by (rule MMI_addsubt)
   from S5 have S6: "( ( A \<ca> C )    ( B    D   ) )  
     ( ( ( A \<ca> C ) \<ca> B ) \<cs> D ) = 
     ( ( ( A \<ca> C ) \<cs> D ) \<ca> B )" by (rule MMI_3expb)
   have S7: "( A    C   )  ( A \<ca> C )  " by (rule MMI_axaddcl)
   from S6 S7 have S8: "( ( A    C   )  ( B    D   ) )  
     ( ( ( A \<ca> C ) \<ca> B ) \<cs> D ) = 
     ( ( ( A \<ca> C ) \<cs> D ) \<ca> B )" by (rule MMI_sylan)
   from S8 have S9: "( ( A    B   )  ( C    D   ) )  
     ( ( ( A \<ca> C ) \<ca> B ) \<cs> D ) = 
     ( ( ( A \<ca> C ) \<cs> D ) \<ca> B )" by (rule MMI_an4s)
   from S4 S9 show "( ( A    B   )  ( C    D   ) )  
     ( ( ( A \<ca> B ) \<ca> C ) \<cs> D ) = 
     ( ( ( A \<ca> C ) \<cs> D ) \<ca> B )" by (rule MMI_eqtrd)
qed

lemma (in MMIsar0) MMI_negneg: assumes A1: "A  "   
   shows "( \<cn> ( (\<cn>  A) ) ) = A"
proof -
   from A1 have S1: "A  ".
   from S1 have S2: "( (\<cn>  A) )  " by (rule MMI_negcl)
   from S2 have S3: "( ( (\<cn>  A) ) \<ca> ( \<cn> ( (\<cn>  A) ) ) ) = 𝟬" 
     by (rule MMI_negid)
   from S3 have S4: "( A \<ca> ( ( (\<cn>  A) ) \<ca> ( \<cn> ( (\<cn>  A) ) ) ) ) = 
     ( A \<ca> 𝟬 )" by (rule MMI_opreq2i)
   from A1 have S5: "A  ".
   from S5 have S6: "( A \<ca> ( (\<cn>  A) ) ) = 𝟬" by (rule MMI_negid)
   from S6 have S7: "( ( A \<ca> ( (\<cn>  A) ) ) \<ca> ( \<cn> ( (\<cn>  A) ) ) ) = 
     ( 𝟬 \<ca> ( \<cn> ( (\<cn>  A) ) ) )" by (rule MMI_opreq1i)
   from A1 have S8: "A  ".
   from S2 have S9: "( (\<cn>  A) )  " .
   from S2 have S10: "( (\<cn>  A) )  " .
   from S10 have S11: "( \<cn> ( (\<cn>  A) ) )  " by (rule MMI_negcl)
   from S8 S9 S11 have S12: 
     "( ( A \<ca> ( (\<cn>  A) ) ) \<ca> ( \<cn> ( (\<cn>  A) ) ) ) = 
     ( A \<ca> ( ( (\<cn>  A) ) \<ca> ( \<cn> ( (\<cn>  A) ) ) ) )" 
     by (rule MMI_addass)
   from S11 have S13: "( \<cn> ( (\<cn>  A) ) )  " .
   from S13 have S14: "( 𝟬 \<ca> ( \<cn> ( (\<cn>  A) ) ) ) = 
     ( \<cn> ( (\<cn>  A) ) )" by (rule MMI_addid2)
   from S7 S12 S14 have S15: 
     "( A \<ca> ( ( (\<cn>  A) ) \<ca> ( \<cn> ( (\<cn>  A) ) ) ) ) = 
     ( \<cn> ( (\<cn>  A) ) )" by (rule MMI_3eqtr3)
   from A1 have S16: "A  ".
   from S16 have S17: "( A \<ca> 𝟬 ) = A" by (rule MMI_addid1)
   from S4 S15 S17 show "( \<cn> ( (\<cn>  A) ) ) = A" by (rule MMI_3eqtr3)
qed

lemma (in MMIsar0) MMI_subid: assumes A1: "A  "   
   shows "( A \<cs> A ) = 𝟬"
proof -
   from A1 have S1: "A  ".
   from A1 have S2: "A  ".
   from S1 S2 have S3: "( A \<ca> ( (\<cn>  A) ) ) = ( A \<cs> A )" 
     by (rule MMI_negsub)
   from A1 have S4: "A  ".
   from S4 have S5: "( A \<ca> ( (\<cn>  A) ) ) = 𝟬" by (rule MMI_negid)
   from S3 S5 show "( A \<cs> A ) = 𝟬" by (rule MMI_eqtr3)
qed

lemma (in MMIsar0) MMI_subid1: assumes A1: "A  "   
   shows "( A \<cs> 𝟬 ) = A"
proof -
   from A1 have S1: "A  ".
   from S1 have S2: "( 𝟬 \<ca> A ) = A" by (rule MMI_addid2)
   from A1 have S3: "A  ".
   have S4: "𝟬  " by (rule MMI_0cn)
   from A1 have S5: "A  ".
   from S3 S4 S5 have S6: "( A \<cs> 𝟬 ) = A  ( 𝟬 \<ca> A ) = A" 
     by (rule MMI_subadd)
   from S2 S6 show "( A \<cs> 𝟬 ) = A" by (rule MMI_mpbir)
qed

lemma (in MMIsar0) MMI_negnegt: 
   shows "A    ( \<cn> ( (\<cn>  A) ) ) = A"
proof -
   have S1: "A = if ( A   , A , 𝟬 )  ( (\<cn>  A) ) = 
     ( \<cn> if ( A   , A , 𝟬 ) )" by (rule MMI_negeq)
   from S1 have S2: "A = if ( A   , A , 𝟬 )  ( \<cn> ( (\<cn>  A) ) ) = 
     ( \<cn> ( \<cn> if ( A   , A , 𝟬 ) ) )" by (rule MMI_negeqd)
   have S3: "A = if ( A   , A , 𝟬 )  A = if ( A   , A , 𝟬 )" 
     by (rule MMI_id)
   from S2 S3 have S4: "A = if ( A   , A , 𝟬 )  
     ( ( \<cn> ( (\<cn>  A) ) ) = A  
     ( \<cn> ( \<cn> if ( A   , A , 𝟬 ) ) ) = if ( A   , A , 𝟬 ) )" 
     by (rule MMI_eqeq12d)
   have S5: "𝟬  " by (rule MMI_0cn)
   from S5 have S6: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   from S6 have S7: "( \<cn> ( \<cn> if ( A   , A , 𝟬 ) ) ) = 
     if ( A   , A , 𝟬 )" by (rule MMI_negneg)
   from S4 S7 show "A    ( \<cn> ( (\<cn>  A) ) ) = A" by (rule MMI_dedth)
qed

lemma (in MMIsar0) MMI_subnegt: 
   shows "( A    B   )  ( A \<cs> ( (\<cn>  B) ) ) = ( A \<ca> B )"
proof -
   have S1: "( A    ( (\<cn>  B) )   )  
     ( A \<ca> ( \<cn> ( (\<cn>  B) ) ) ) = ( A \<cs> ( (\<cn>  B) ) )" 
     by (rule MMI_negsubt)
   have S2: "B    ( (\<cn>  B) )  " by (rule MMI_negclt)
   from S1 S2 have S3: "( A    B   )  
     ( A \<ca> ( \<cn> ( (\<cn>  B) ) ) ) = ( A \<cs> ( (\<cn>  B) ) )" 
     by (rule MMI_sylan2)
   have S4: "B    ( \<cn> ( (\<cn>  B) ) ) = B" by (rule MMI_negnegt)
   from S4 have S5: "B    ( A \<ca> ( \<cn> ( (\<cn>  B) ) ) ) = 
     ( A \<ca> B )" by (rule MMI_opreq2d)
   from S5 have S6: "( A    B   )  
     ( A \<ca> ( \<cn> ( (\<cn>  B) ) ) ) = ( A \<ca> B )" by (rule MMI_adantl)
   from S3 S6 show "( A    B   )  ( A \<cs> ( (\<cn>  B) ) ) = 
     ( A \<ca> B )" by (rule MMI_eqtr3d)
qed

lemma (in MMIsar0) MMI_subidt: 
   shows "A    ( A \<cs> A ) = 𝟬"
proof -
   have S1: "( A = if ( A   , A , 𝟬 )  A = if ( A   , A , 𝟬 ) )  
     ( A \<cs> A ) = ( if ( A   , A , 𝟬 ) \<cs> if ( A   , A , 𝟬 ) )" 
     by (rule MMI_opreq12)
   from S1 have S2: "A = if ( A   , A , 𝟬 )  
     ( A \<cs> A ) = ( if ( A   , A , 𝟬 ) \<cs> if ( A   , A , 𝟬 ) )" 
     by (rule MMI_anidms)
   from S2 have S3: "A = if ( A   , A , 𝟬 )  
     ( ( A \<cs> A ) = 𝟬  
     ( if ( A   , A , 𝟬 ) \<cs> if ( A   , A , 𝟬 ) ) = 𝟬 )" 
     by (rule MMI_eqeq1d)
   have S4: "𝟬  " by (rule MMI_0cn)
   from S4 have S5: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   from S5 have S6: 
     "( if ( A   , A , 𝟬 ) \<cs> if ( A   , A , 𝟬 ) ) = 𝟬" 
     by (rule MMI_subid)
   from S3 S6 show "A    ( A \<cs> A ) = 𝟬" by (rule MMI_dedth)
qed

(************** 64-73 *************************************)
lemma (in MMIsar0) MMI_subid1t: 
   shows "A    ( A \<cs> 𝟬 ) = A"
proof -
   have S1: "A = if ( A   , A , 𝟬 )  ( A \<cs> 𝟬 ) = 
     ( if ( A   , A , 𝟬 ) \<cs> 𝟬 )" by (rule MMI_opreq1)
   have S2: "A = if ( A   , A , 𝟬 )  
     A = if ( A   , A , 𝟬 )" by (rule MMI_id)
   from S1 S2 have S3: "A = if ( A   , A , 𝟬 )  
     ( ( A \<cs> 𝟬 ) = A  ( if ( A   , A , 𝟬 ) \<cs> 𝟬 ) = 
     if ( A   , A , 𝟬 ) )" by (rule MMI_eqeq12d)
   have S4: "𝟬  " by (rule MMI_0cn)
   from S4 have S5: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   from S5 have S6: "( if ( A   , A , 𝟬 ) \<cs> 𝟬 ) = 
     if ( A   , A , 𝟬 )" by (rule MMI_subid1)
   from S3 S6 show "A    ( A \<cs> 𝟬 ) = A" by (rule MMI_dedth)
qed

lemma (in MMIsar0) MMI_pncant: 
   shows "( A    B   )  ( ( A \<ca> B ) \<cs> B ) = A"
proof -
   have S1: "( A    B    B   )  ( ( A \<ca> B ) \<cs> B ) = 
     ( A \<ca> ( B \<cs> B ) )" by (rule MMI_addsubasst)
   from S1 have S2: "( A    ( B    B   ) )  
     ( ( A \<ca> B ) \<cs> B ) = ( A \<ca> ( B \<cs> B ) )" by (rule MMI_3expb)
   from S2 have S3: "( A    B   )  ( ( A \<ca> B ) \<cs> B ) = 
     ( A \<ca> ( B \<cs> B ) )" by (rule MMI_anabsan2)
   have S4: "B    ( B \<cs> B ) = 𝟬" by (rule MMI_subidt)
   from S4 have S5: "B    ( A \<ca> ( B \<cs> B ) ) = ( A \<ca> 𝟬 )" 
     by (rule MMI_opreq2d)
   have S6: "A    ( A \<ca> 𝟬 ) = A" by (rule MMI_ax0id)
   from S5 S6 have S7: "( A    B   )  ( A \<ca> ( B \<cs> B ) ) = A" 
     by (rule MMI_sylan9eqr)
   from S3 S7 show "( A    B   )  ( ( A \<ca> B ) \<cs> B ) = A" 
     by (rule MMI_eqtrd)
qed

lemma (in MMIsar0) MMI_pncan2t: 
   shows "( A    B   )  ( ( A \<ca> B ) \<cs> A ) = B"
proof -
   have S1: "( B    A   )  ( B \<ca> A ) = ( A \<ca> B )" 
     by (rule MMI_axaddcom)
   from S1 have S2: "( B    A   )  ( ( B \<ca> A ) \<cs> A ) = 
     ( ( A \<ca> B ) \<cs> A )" by (rule MMI_opreq1d)
   have S3: "( B    A   )  ( ( B \<ca> A ) \<cs> A ) = B" 
     by (rule MMI_pncant)
   from S2 S3 have S4: "( B    A   )  
     ( ( A \<ca> B ) \<cs> A ) = B" by (rule MMI_eqtr3d)
   from S4 show "( A    B   )  ( ( A \<ca> B ) \<cs> A ) = B" 
     by (rule MMI_ancoms)
qed

lemma (in MMIsar0) MMI_npcant: 
   shows "( A    B   )  ( ( A \<cs> B ) \<ca> B ) = A"
proof -
   have S1: "( A    B    B   )  
     ( ( A \<ca> B ) \<cs> B ) = ( ( A \<cs> B ) \<ca> B )" 
     by (rule MMI_addsubt)
   from S1 have S2: "( A    ( B    B   ) )  
     ( ( A \<ca> B ) \<cs> B ) = ( ( A \<cs> B ) \<ca> B )" by (rule MMI_3expb)
   from S2 have S3: "( A    B   )  
     ( ( A \<ca> B ) \<cs> B ) = ( ( A \<cs> B ) \<ca> B )" 
     by (rule MMI_anabsan2)
   have S4: "( A    B   )  ( ( A \<ca> B ) \<cs> B ) = A" 
     by (rule MMI_pncant)
   from S3 S4 show "( A    B   )  ( ( A \<cs> B ) \<ca> B ) = A" 
     by (rule MMI_eqtr3d)
qed

lemma (in MMIsar0) MMI_npncant: 
   shows "( A    B    C   )  
  ( ( A \<cs> B ) \<ca> ( B \<cs> C ) ) = ( A \<cs> C )"
proof -
   have S1: "( ( A \<cs> B )    B    C   )  
     ( ( ( A \<cs> B ) \<ca> B ) \<cs> C ) = 
     ( ( A \<cs> B ) \<ca> ( B \<cs> C ) )" by (rule MMI_addsubasst)
   have S2: "( A    B   )  ( A \<cs> B )  " by (rule MMI_subclt)
   from S2 have S3: "( A    B    C   )  
     ( A \<cs> B )  " by (rule MMI_3adant3)
   have S4: "( A    B    C   )  B  " by (rule MMI_3simp2)
   have S5: "( A    B    C   )  C  " by (rule MMI_3simp3)
   from S1 S3 S4 S5 have S6: "( A    B    C   )  
     ( ( ( A \<cs> B ) \<ca> B ) \<cs> C ) = 
     ( ( A \<cs> B ) \<ca> ( B \<cs> C ) )" by (rule MMI_syl3anc)
   have S7: "( A    B   )  ( ( A \<cs> B ) \<ca> B ) = A" 
     by (rule MMI_npcant)
   from S7 have S8: "( A    B   )  
     ( ( ( A \<cs> B ) \<ca> B ) \<cs> C ) = ( A \<cs> C )" 
     by (rule MMI_opreq1d)
   from S8 have S9: "( A    B    C   )  
     ( ( ( A \<cs> B ) \<ca> B ) \<cs> C ) = ( A \<cs> C )" 
     by (rule MMI_3adant3)
   from S6 S9 show "( A    B    C   )  
     ( ( A \<cs> B ) \<ca> ( B \<cs> C ) ) = ( A \<cs> C )" 
     by (rule MMI_eqtr3d)
qed

lemma (in MMIsar0) MMI_nppcant: 
   shows "( A    B    C   )  
  ( ( ( A \<cs> B ) \<ca> C ) \<ca> B ) = ( A \<ca> C )"
proof -
   have S1: "( ( A \<cs> B )    C    B   )  
     ( ( ( A \<cs> B ) \<ca> C ) \<ca> B ) = 
     ( ( ( A \<cs> B ) \<ca> B ) \<ca> C )" by (rule MMI_add23t)
   have S2: "( A    B   )  ( A \<cs> B )  " by (rule MMI_subclt)
   from S2 have S3: "( A    B    C   )  ( A \<cs> B )  " 
     by (rule MMI_3adant3)
   have S4: "( A    B    C   )  C  " by (rule MMI_3simp3)
   have S5: "( A    B    C   )  B  " by (rule MMI_3simp2)
   from S1 S3 S4 S5 have S6: "( A    B    C   )  
     ( ( ( A \<cs> B ) \<ca> C ) \<ca> B ) = 
     ( ( ( A \<cs> B ) \<ca> B ) \<ca> C )" by (rule MMI_syl3anc)
   have S7: "( A    B   )  ( ( A \<cs> B ) \<ca> B ) = A" 
     by (rule MMI_npcant)
   from S7 have S8: "( A    B   )  
     ( ( ( A \<cs> B ) \<ca> B ) \<ca> C ) = ( A \<ca> C )" 
     by (rule MMI_opreq1d)
   from S8 have S9: "( A    B    C   )  
     ( ( ( A \<cs> B ) \<ca> B ) \<ca> C ) = ( A \<ca> C )" 
     by (rule MMI_3adant3)
   from S6 S9 show "( A    B    C   )  
     ( ( ( A \<cs> B ) \<ca> C ) \<ca> B ) = ( A \<ca> C )" by (rule MMI_eqtrd)
qed

lemma (in MMIsar0) MMI_subneg: assumes A1: "A  " and
    A2: "B  "   
   shows "( A \<cs> ( (\<cn>  B) ) ) = ( A \<ca> B )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   have S3: "( A    B   )  ( A \<cs> ( (\<cn>  B) ) ) = ( A \<ca> B )" 
     by (rule MMI_subnegt)
   from S1 S2 S3 show "( A \<cs> ( (\<cn>  B) ) ) = ( A \<ca> B )" 
     by (rule MMI_mp2an)
qed

lemma (in MMIsar0) MMI_subeq0: assumes A1: "A  " and
    A2: "B  "   
   shows "( A \<cs> B ) = 𝟬  A = B"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from S1 S2 have S3: "( A \<ca> ( (\<cn>  B) ) ) = ( A \<cs> B )" 
     by (rule MMI_negsub)
   from S3 have S4: "( A \<ca> ( (\<cn>  B) ) ) = 𝟬  ( A \<cs> B ) = 𝟬" 
     by (rule MMI_eqeq1i)
   have S5: "( A \<ca> ( (\<cn>  B) ) ) = 𝟬  
     ( ( A \<ca> ( (\<cn>  B) ) ) \<ca> B ) = ( 𝟬 \<ca> B )" by (rule MMI_opreq1)
   from S4 S5 have S6: "( A \<cs> B ) = 𝟬  
     ( ( A \<ca> ( (\<cn>  B) ) ) \<ca> B ) = ( 𝟬 \<ca> B )" by (rule MMI_sylbir)
   from A1 have S7: "A  ".
   from A2 have S8: "B  ".
   from S8 have S9: "( (\<cn>  B) )  " by (rule MMI_negcl)
   from A2 have S10: "B  ".
   from S7 S9 S10 have S11: "( ( A \<ca> ( (\<cn>  B) ) ) \<ca> B ) = 
     ( ( A \<ca> B ) \<ca> ( (\<cn>  B) ) )" by (rule MMI_add23)
   from A1 have S12: "A  ".
   from A2 have S13: "B  ".
   from S9 have S14: "( (\<cn>  B) )  " .
   from S12 S13 S14 have S15: "( ( A \<ca> B ) \<ca> ( (\<cn>  B) ) ) = 
     ( A \<ca> ( B \<ca> ( (\<cn>  B) ) ) )" by (rule MMI_addass)
   from A2 have S16: "B  ".
   from S16 have S17: "( B \<ca> ( (\<cn>  B) ) ) = 𝟬" by (rule MMI_negid)
   from S17 have S18: "( A \<ca> ( B \<ca> ( (\<cn>  B) ) ) ) = ( A \<ca> 𝟬 )" 
     by (rule MMI_opreq2i)
   from A1 have S19: "A  ".
   from S19 have S20: "( A \<ca> 𝟬 ) = A" by (rule MMI_addid1)
   from S18 S20 have S21: "( A \<ca> ( B \<ca> ( (\<cn>  B) ) ) ) = A" 
     by (rule MMI_eqtr)
   from S11 S15 S21 have S22: "( ( A \<ca> ( (\<cn>  B) ) ) \<ca> B ) = A" 
     by (rule MMI_3eqtr)
   from A2 have S23: "B  ".
   from S23 have S24: "( 𝟬 \<ca> B ) = B" by (rule MMI_addid2)
   from S6 S22 S24 have S25: "( A \<cs> B ) = 𝟬  A = B" 
     by (rule MMI_3eqtr3g)
   have S26: "A = B  ( A \<cs> B ) = ( B \<cs> B )" by (rule MMI_opreq1)
   from A2 have S27: "B  ".
   from S27 have S28: "( B \<cs> B ) = 𝟬" by (rule MMI_subid)
   from S26 S28 have S29: "A = B  ( A \<cs> B ) = 𝟬" by (rule MMI_syl6eq)
   from S25 S29 show "( A \<cs> B ) = 𝟬  A = B" by (rule MMI_impbi)
qed

lemma (in MMIsar0) MMI_neg11: assumes A1: "A  " and
    A2: "B  "   
   shows "( (\<cn>  A) ) = ( (\<cn>  B) )  A = B"
proof -
   have S1: "( (\<cn>  A) ) = ( 𝟬 \<cs> A )" by (rule MMI_df_neg)
   have S2: "( (\<cn>  B) ) = ( 𝟬 \<cs> B )" by (rule MMI_df_neg)
   from S1 S2 have S3: "( (\<cn>  A) ) = ( (\<cn>  B) )  ( 𝟬 \<cs> A ) = 
     ( 𝟬 \<cs> B )" by (rule MMI_eqeq12i)
   have S4: "𝟬  " by (rule MMI_0cn)
   from A1 have S5: "A  ".
   have S6: "𝟬  " by (rule MMI_0cn)
   from A2 have S7: "B  ".
   from S6 S7 have S8: "( 𝟬 \<cs> B )  " by (rule MMI_subcl)
   from S4 S5 S8 have S9: "( 𝟬 \<cs> A ) = ( 𝟬 \<cs> B )  
     ( A \<ca> ( 𝟬 \<cs> B ) ) = 𝟬" by (rule MMI_subadd)
   from S2 have S10: "( (\<cn>  B) ) = ( 𝟬 \<cs> B )" .
   from S10 have S11: "( A \<ca> ( (\<cn>  B) ) ) = ( A \<ca> ( 𝟬 \<cs> B ) )" 
     by (rule MMI_opreq2i)
   from A1 have S12: "A  ".
   from A2 have S13: "B  ".
   from S12 S13 have S14: "( A \<ca> ( (\<cn>  B) ) ) = ( A \<cs> B )" 
     by (rule MMI_negsub)
   from S11 S14 have S15: "( A \<ca> ( 𝟬 \<cs> B ) ) = ( A \<cs> B )" 
     by (rule MMI_eqtr3)
   from S15 have S16: "( A \<ca> ( 𝟬 \<cs> B ) ) = 𝟬  ( A \<cs> B ) = 𝟬" 
     by (rule MMI_eqeq1i)
   from A1 have S17: "A  ".
   from A2 have S18: "B  ".
   from S17 S18 have S19: "( A \<cs> B ) = 𝟬  A = B" by (rule MMI_subeq0)
   from S16 S19 have S20: "( A \<ca> ( 𝟬 \<cs> B ) ) = 𝟬  A = B" 
     by (rule MMI_bitr)
   from S3 S9 S20 show "( (\<cn>  A) ) = ( (\<cn>  B) )  A = B" by (rule MMI_3bitr)
qed

(*********** 75-84****************************************)

lemma (in MMIsar0) MMI_negcon1: assumes A1: "A  " and
    A2: "B  "   
   shows "( (\<cn>  A) ) = B  ( (\<cn>  B) ) = A"
proof -
   from A1 have S1: "A  ".
   from S1 have S2: "( \<cn> ( (\<cn>  A) ) ) = A" by (rule MMI_negneg)
   from S2 have S3: "( \<cn> ( (\<cn>  A) ) ) = ( (\<cn>  B) )  A = ( (\<cn>  B) )" 
     by (rule MMI_eqeq1i)
   from A1 have S4: "A  ".
   from S4 have S5: "( (\<cn>  A) )  " by (rule MMI_negcl)
   from A2 have S6: "B  ".
   from S5 S6 have S7: "( \<cn> ( (\<cn>  A) ) ) = 
     ( (\<cn>  B) )  ( (\<cn>  A) ) = B" by (rule MMI_neg11)
   have S8: "A = ( (\<cn>  B) )  ( (\<cn>  B) ) = A" by (rule MMI_eqcom)
   from S3 S7 S8 show "( (\<cn>  A) ) = B  ( (\<cn>  B) ) = A" by (rule MMI_3bitr3)
qed

lemma (in MMIsar0) MMI_negcon2: assumes A1: "A  " and
    A2: "B  "   
   shows "A = ( (\<cn>  B) )  B = ( (\<cn>  A) )"
proof -
   from A2 have S1: "B  ".
   from A1 have S2: "A  ".
   from S1 S2 have S3: "( (\<cn>  B) ) = A  ( (\<cn>  A) ) = B" 
     by (rule MMI_negcon1)
   have S4: "A = ( (\<cn>  B) )  ( (\<cn>  B) ) = A" by (rule MMI_eqcom)
   have S5: "B = ( (\<cn>  A) )  ( (\<cn>  A) ) = B" by (rule MMI_eqcom)
   from S3 S4 S5 show "A = ( (\<cn>  B) )  B = ( (\<cn>  A) )" by (rule MMI_3bitr4)
qed

lemma (in MMIsar0) MMI_neg11t: 
   shows "( A    B   )  ( ( (\<cn>  A) ) = ( (\<cn>  B) )  A = B )"
proof -
   have S1: "A = if ( A   , A , 𝟬 )  ( (\<cn>  A) ) = 
     ( \<cn> if ( A   , A , 𝟬 ) )" by (rule MMI_negeq)
   from S1 have S2: "A = if ( A   , A , 𝟬 )  ( ( (\<cn>  A) ) = 
     ( (\<cn>  B) )  ( \<cn> if ( A   , A , 𝟬 ) ) = ( (\<cn>  B) ) )" 
     by (rule MMI_eqeq1d)
   have S3: "A = if ( A   , A , 𝟬 )  ( A = B  
     if ( A   , A , 𝟬 ) = B )" by (rule MMI_eqeq1)
   from S2 S3 have S4: "A = if ( A   , A , 𝟬 )  
     ( ( ( (\<cn>  A) ) = ( (\<cn>  B) )  A = B )  
     ( ( \<cn> if ( A   , A , 𝟬 ) ) = ( (\<cn>  B) )  
     if ( A   , A , 𝟬 ) = B ) )" by (rule MMI_bibi12d)
   have S5: "B = if ( B   , B , 𝟬 )  ( (\<cn>  B) ) = 
     ( \<cn> if ( B   , B , 𝟬 ) )" by (rule MMI_negeq)
   from S5 have S6: "B = if ( B   , B , 𝟬 )  
     ( ( \<cn> if ( A   , A , 𝟬 ) ) = ( (\<cn>  B) )  
     ( \<cn> if ( A   , A , 𝟬 ) ) = ( \<cn> if ( B   , B , 𝟬 ) ) )" 
     by (rule MMI_eqeq2d)
   have S7: "B = if ( B   , B , 𝟬 )  ( if ( A   , A , 𝟬 ) = B  
     if ( A   , A , 𝟬 ) = if ( B   , B , 𝟬 ) )" by (rule MMI_eqeq2)
   from S6 S7 have S8: "B = if ( B   , B , 𝟬 )  
     ( ( ( \<cn> if ( A   , A , 𝟬 ) ) = ( (\<cn>  B) )  
     if ( A   , A , 𝟬 ) = B )  ( ( \<cn> if ( A   , A , 𝟬 ) ) = 
     ( \<cn> if ( B   , B , 𝟬 ) )  if ( A   , A , 𝟬 ) = 
     if ( B   , B , 𝟬 ) ) )" by (rule MMI_bibi12d)
   have S9: "𝟬  " by (rule MMI_0cn)
   from S9 have S10: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   have S11: "𝟬  " by (rule MMI_0cn)
   from S11 have S12: "if ( B   , B , 𝟬 )  " by (rule MMI_elimel)
   from S10 S12 have S13: "( \<cn> if ( A   , A , 𝟬 ) ) = 
     ( \<cn> if ( B   , B , 𝟬 ) )  if ( A   , A , 𝟬 ) = 
     if ( B   , B , 𝟬 )" by (rule MMI_neg11)
   from S4 S8 S13 show "( A    B   )  ( ( (\<cn>  A) ) = 
     ( (\<cn>  B) )  A = B )" by (rule MMI_dedth2h)
qed

lemma (in MMIsar0) MMI_negcon1t: 
   shows "( A    B   )  ( ( (\<cn>  A) ) = B  ( (\<cn>  B) ) = A )"
proof -
   have S1: "( ( (\<cn>  A) )    B   )  ( ( \<cn> ( (\<cn>  A) ) ) = 
     ( (\<cn>  B) )  ( (\<cn>  A) ) = B )" by (rule MMI_neg11t)
   have S2: "A    ( (\<cn>  A) )  " by (rule MMI_negclt)
   from S1 S2 have S3: "( A    B   )  ( ( \<cn> ( (\<cn>  A) ) ) = 
     ( (\<cn>  B) )  ( (\<cn>  A) ) = B )" by (rule MMI_sylan)
   have S4: "A    ( \<cn> ( (\<cn>  A) ) ) = A" by (rule MMI_negnegt)
   from S4 have S5: "( A    B   )  ( \<cn> ( (\<cn>  A) ) ) = A" 
     by (rule MMI_adantr)
   from S5 have S6: "( A    B   )  ( ( \<cn> ( (\<cn>  A) ) ) = 
     ( (\<cn>  B) )  A = ( (\<cn>  B) ) )" by (rule MMI_eqeq1d)
   from S3 S6 have S7: "( A    B   )  ( ( (\<cn>  A) ) = B  A = 
     ( (\<cn>  B) ) )" by (rule MMI_bitr3d)
   have S8: "A = ( (\<cn>  B) )  ( (\<cn>  B) ) = A" by (rule MMI_eqcom)
   from S7 S8 show "( A    B   )  ( ( (\<cn>  A) ) = B  
     ( (\<cn>  B) ) = A )" by (rule MMI_syl6bb)
qed

lemma (in MMIsar0) MMI_negcon2t: 
   shows "( A    B   )  ( A = ( (\<cn>  B) )  B = ( (\<cn>  A) ) )"
proof -
   have S1: "( A    B   )  ( ( (\<cn>  A) ) = B  ( (\<cn>  B) ) = A )" 
     by (rule MMI_negcon1t)
   have S2: "A = ( (\<cn>  B) )  ( (\<cn>  B) ) = A" by (rule MMI_eqcom)
   from S1 S2 have S3: "( A    B   )  ( A = ( (\<cn>  B) )  
     ( (\<cn>  A) ) = B )" by (rule MMI_syl6rbbrA)
   have S4: "( (\<cn>  A) ) = B  B = ( (\<cn>  A) )" by (rule MMI_eqcom)
   from S3 S4 show "( A    B   )  ( A = ( (\<cn>  B) )  B = 
     ( (\<cn>  A) ) )" by (rule MMI_syl6bb)
qed

lemma (in MMIsar0) MMI_subcant: 
   shows "( A    B    C   )  ( ( A \<cs> B ) = 
  ( A \<cs> C )  B = C )"
proof -
   have S1: "( A    ( (\<cn>  B) )    ( \<cn> C )   )  
     ( ( A \<ca> ( (\<cn>  B) ) ) = ( A \<ca> ( \<cn> C ) )  
     ( (\<cn>  B) ) = ( \<cn> C ) )" by (rule MMI_addcant)
   have S2: "C    ( \<cn> C )  " by (rule MMI_negclt)
   from S1 S2 have S3: "( A    ( (\<cn>  B) )    C   )  
     ( ( A \<ca> ( (\<cn>  B) ) ) = ( A \<ca> ( \<cn> C ) )  
     ( (\<cn>  B) ) = ( \<cn> C ) )" by (rule MMI_syl3an3)
   have S4: "B    ( (\<cn>  B) )  " by (rule MMI_negclt)
   from S3 S4 have S5: "( A    B    C   )  
     ( ( A \<ca> ( (\<cn>  B) ) ) = ( A \<ca> ( \<cn> C ) )  
     ( (\<cn>  B) ) = ( \<cn> C ) )" by (rule MMI_syl3an2)
   have S6: "( A    B   )  ( A \<ca> ( (\<cn>  B) ) ) = ( A \<cs> B )" 
     by (rule MMI_negsubt)
   from S6 have S7: "( A    B    C   )  
     ( A \<ca> ( (\<cn>  B) ) ) = ( A \<cs> B )" by (rule MMI_3adant3)
   have S8: "( A    C   )  ( A \<ca> ( \<cn> C ) ) = ( A \<cs> C )" 
     by (rule MMI_negsubt)
   from S8 have S9: "( A    B    C   )  
     ( A \<ca> ( \<cn> C ) ) = ( A \<cs> C )" by (rule MMI_3adant2)
   from S7 S9 have S10: "( A    B    C   )  
     ( ( A \<ca> ( (\<cn>  B) ) ) = ( A \<ca> ( \<cn> C ) )  
     ( A \<cs> B ) = ( A \<cs> C ) )" by (rule MMI_eqeq12d)
   have S11: "( B    C   )  ( ( (\<cn>  B) ) = ( \<cn> C )  B = C )" 
     by (rule MMI_neg11t)
   from S11 have S12: "( A    B    C   )  
     ( ( (\<cn>  B) ) = ( \<cn> C )  B = C )" by (rule MMI_3adant1)
   from S5 S10 S12 show "( A    B    C   )  
     ( ( A \<cs> B ) = ( A \<cs> C )  B = C )" by (rule MMI_3bitr3d)
qed

lemma (in MMIsar0) MMI_subcan2t: 
   shows "( A    B    C   )  
  ( ( A \<cs> C ) = ( B \<cs> C )  A = B )"
proof -
   have S1: "( A    C   )  ( A \<ca> ( \<cn> C ) ) = ( A \<cs> C )" 
     by (rule MMI_negsubt)
   from S1 have S2: "( A    B    C   )  
     ( A \<ca> ( \<cn> C ) ) = ( A \<cs> C )" by (rule MMI_3adant2)
   have S3: "( B    C   )  ( B \<ca> ( \<cn> C ) ) = ( B \<cs> C )" 
     by (rule MMI_negsubt)
   from S3 have S4: "( A    B    C   )  
     ( B \<ca> ( \<cn> C ) ) = ( B \<cs> C )" by (rule MMI_3adant1)
   from S2 S4 have S5: "( A    B    C   )  
     ( ( A \<ca> ( \<cn> C ) ) = ( B \<ca> ( \<cn> C ) )  ( A \<cs> C ) = 
     ( B \<cs> C ) )" by (rule MMI_eqeq12d)
   have S6: "( A    B    ( \<cn> C )   )  
     ( ( A \<ca> ( \<cn> C ) ) = ( B \<ca> ( \<cn> C ) )  A = B )" 
     by (rule MMI_addcan2t)
   have S7: "C    ( \<cn> C )  " by (rule MMI_negclt)
   from S6 S7 have S8: "( A    B    C   )  
     ( ( A \<ca> ( \<cn> C ) ) = ( B \<ca> ( \<cn> C ) )  A = B )" 
     by (rule MMI_syl3an3)
   from S5 S8 show "( A    B    C   )  
     ( ( A \<cs> C ) = ( B \<cs> C )  A = B )" by (rule MMI_bitr3d)
qed

lemma (in MMIsar0) MMI_subcan: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "( A \<cs> B ) = ( A \<cs> C )  B = C"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A3 have S3: "C  ".
   have S4: "( A    B    C   )  ( ( A \<cs> B ) = ( A \<cs> C )  B = C )" by (rule MMI_subcant)
   from S1 S2 S3 S4 show "( A \<cs> B ) = ( A \<cs> C )  B = C" 
     by (rule MMI_mp3an)
qed

lemma (in MMIsar0) MMI_subcan2: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "( A \<cs> C ) = ( B \<cs> C )  A = B"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A3 have S3: "C  ".
   have S4: "( A    B    C   )  
     ( ( A \<cs> C ) = ( B \<cs> C )  A = B )" by (rule MMI_subcan2t)
   from S1 S2 S3 S4 show "( A \<cs> C ) = ( B \<cs> C )  A = B" 
     by (rule MMI_mp3an)
qed

lemma (in MMIsar0) MMI_subeq0t: 
   shows "( A    B   )  ( ( A \<cs> B ) = 𝟬  A = B )"
proof -
   have S1: "A = if ( A   , A , 𝟬 )  ( A \<cs> B ) = 
     ( if ( A   , A , 𝟬 ) \<cs> B )" by (rule MMI_opreq1)
   from S1 have S2: "A = if ( A   , A , 𝟬 )  ( ( A \<cs> B ) = 𝟬  
     ( if ( A   , A , 𝟬 ) \<cs> B ) = 𝟬 )" by (rule MMI_eqeq1d)
   have S3: "A = if ( A   , A , 𝟬 )  ( A = B  
     if ( A   , A , 𝟬 ) = B )" by (rule MMI_eqeq1)
   from S2 S3 have S4: "A = if ( A   , A , 𝟬 )  
     ( ( ( A \<cs> B ) = 𝟬  A = B )  
     ( ( if ( A   , A , 𝟬 ) \<cs> B ) = 𝟬  
     if ( A   , A , 𝟬 ) = B ) )" by (rule MMI_bibi12d)
   have S5: "B = if ( B   , B , 𝟬 )  
     ( if ( A   , A , 𝟬 ) \<cs> B ) = 
     ( if ( A   , A , 𝟬 ) \<cs> if ( B   , B , 𝟬 ) )" 
     by (rule MMI_opreq2)
   from S5 have S6: "B = if ( B   , B , 𝟬 )  
     ( ( if ( A   , A , 𝟬 ) \<cs> B ) = 𝟬  
     ( if ( A   , A , 𝟬 ) \<cs> if ( B   , B , 𝟬 ) ) = 𝟬 )" 
     by (rule MMI_eqeq1d)
   have S7: "B = if ( B   , B , 𝟬 )  ( if ( A   , A , 𝟬 ) = B  
     if ( A   , A , 𝟬 ) = if ( B   , B , 𝟬 ) )" by (rule MMI_eqeq2)
   from S6 S7 have S8: "B = if ( B   , B , 𝟬 )  
     ( ( ( if ( A   , A , 𝟬 ) \<cs> B ) = 𝟬  
     if ( A   , A , 𝟬 ) = B )  
     ( ( if ( A   , A , 𝟬 ) \<cs> if ( B   , B , 𝟬 ) ) = 𝟬  
     if ( A   , A , 𝟬 ) = if ( B   , B , 𝟬 ) ) )" 
     by (rule MMI_bibi12d)
   have S9: "𝟬  " by (rule MMI_0cn)
   from S9 have S10: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   have S11: "𝟬  " by (rule MMI_0cn)
   from S11 have S12: "if ( B   , B , 𝟬 )  " by (rule MMI_elimel)
   from S10 S12 have S13: 
     "( if ( A   , A , 𝟬 ) \<cs> if ( B   , B , 𝟬 ) ) = 𝟬  
     if ( A   , A , 𝟬 ) = if ( B   , B , 𝟬 )" 
     by (rule MMI_subeq0)
   from S4 S8 S13 show "( A    B   )  
     ( ( A \<cs> B ) = 𝟬  A = B )" by (rule MMI_dedth2h)
qed

(*******************85-90*******************************)

lemma (in MMIsar0) MMI_neg0: 
   shows "( \<cn> 𝟬 ) = 𝟬"
proof -
   have S1: "( \<cn> 𝟬 ) = ( 𝟬 \<cs> 𝟬 )" by (rule MMI_df_neg)
   have S2: "𝟬  " by (rule MMI_0cn)
   from S2 have S3: "( 𝟬 \<cs> 𝟬 ) = 𝟬" by (rule MMI_subid)
   from S1 S3 show "( \<cn> 𝟬 ) = 𝟬" by (rule MMI_eqtr)
qed

lemma (in MMIsar0) MMI_renegcl: assumes A1: "A  "   
   shows "( (\<cn>  A) )  "
proof -
   from A1 have S1: "A  ".
   have S2: "A    (  x   . ( A \<ca> x ) = 𝟬 )" by (rule MMI_axrnegex)
   from S1 S2 have S3: " x   . ( A \<ca> x ) = 𝟬" by (rule MMI_ax_mp)
   have S4: "(  x   . ( A \<ca> x ) = 𝟬 )  
     (  x . ( x    ( A \<ca> x ) = 𝟬 ) )" by (rule MMI_df_rex)
   from S3 S4 have S5: " x . ( x    ( A \<ca> x ) = 𝟬 )" 
     by (rule MMI_mpbi)
   { fix x
     have S6: "x    x  " by (rule MMI_recnt)
     have S7: "𝟬  " by (rule MMI_0cn)
     from A1 have S8: "A  ".
     from S8 have S9: "A  " by (rule MMI_recn)
     have S10: "( 𝟬    A    x   )  ( ( 𝟬 \<cs> A ) = x  
       ( A \<ca> x ) = 𝟬 )" by (rule MMI_subaddt)
     from S7 S9 S10 have S11: "x    ( ( 𝟬 \<cs> A ) = x  
       ( A \<ca> x ) = 𝟬 )" by (rule MMI_mp3an12)
     from S6 S11 have S12: "x    ( ( 𝟬 \<cs> A ) = x  
       ( A \<ca> x ) = 𝟬 )" by (rule MMI_syl)
     have S13: "( (\<cn>  A) ) = ( 𝟬 \<cs> A )" by (rule MMI_df_neg)
     from S13 have S14: "( (\<cn>  A) ) = x  ( 𝟬 \<cs> A ) = x" 
       by (rule MMI_eqeq1i)
     from S12 S14 have S15: "x    ( ( (\<cn>  A) ) = x  
       ( A \<ca> x ) = 𝟬 )" by (rule MMI_syl5bb)
     have S16: "x    ( ( (\<cn>  A) ) = x  ( (\<cn>  A) )   )" 
       by (rule MMI_eleq1a)
     from S15 S16 have S17: "x    ( ( A \<ca> x ) = 𝟬  
       ( (\<cn>  A) )   )" by (rule MMI_sylbird)
     from S17 have "( x    ( A \<ca> x ) = 𝟬 )  ( (\<cn>  A) )  " 
       by (rule MMI_imp)
     } then have S18: 
	 "x . ( x    ( A \<ca> x ) = 𝟬 )  ( (\<cn>  A) )  " 
       by auto
   from S18 have S19: "(  x . ( x    ( A \<ca> x ) = 𝟬 ) )  
     ( (\<cn>  A) )  " by (rule MMI_19_23aiv)
   from S5 S19 show "( (\<cn>  A) )  " by (rule MMI_ax_mp)
qed

lemma (in MMIsar0) MMI_renegclt: 
   shows "A    ( (\<cn>  A) )  "
proof -
   have S1: "A = if ( A   , A , 𝟭 )  ( (\<cn>  A) ) = 
     ( \<cn> if ( A   , A , 𝟭 ) )" by (rule MMI_negeq)
   from S1 have S2: "A = if ( A   , A , 𝟭 )  ( ( (\<cn>  A) )    
     ( \<cn> if ( A   , A , 𝟭 ) )   )" by (rule MMI_eleq1d)
   have S3: "𝟭  " by (rule MMI_ax1re)
   from S3 have S4: "if ( A   , A , 𝟭 )  " by (rule MMI_elimel)
   from S4 have S5: "( \<cn> if ( A   , A , 𝟭 ) )  " by (rule MMI_renegcl)
   from S2 S5 show "A    ( (\<cn>  A) )  " by (rule MMI_dedth)
qed

lemma (in MMIsar0) MMI_resubclt: 
   shows "( A    B   )  ( A \<cs> B )  "
proof -
   have S1: "( A    B   )  ( A \<ca> ( (\<cn>  B) ) ) = ( A \<cs> B )" 
     by (rule MMI_negsubt)
   have S2: "A    A  " by (rule MMI_recnt)
   have S3: "B    B  " by (rule MMI_recnt)
   from S1 S2 S3 have S4: "( A    B   )  ( A \<ca> ( (\<cn>  B) ) ) = 
     ( A \<cs> B )" by (rule MMI_syl2an)
   have S5: "( A    ( (\<cn>  B) )   )  ( A \<ca> ( (\<cn>  B) ) )  " 
     by (rule MMI_axaddrcl)
   have S6: "B    ( (\<cn>  B) )  " by (rule MMI_renegclt)
   from S5 S6 have S7: "( A    B   )  ( A \<ca> ( (\<cn>  B) ) )  " 
     by (rule MMI_sylan2)
   from S4 S7 show "( A    B   )  ( A \<cs> B )  " 
     by (rule MMI_eqeltrrd)
qed

lemma (in MMIsar0) MMI_resubcl: assumes A1: "A  " and
    A2: "B  "   
   shows "( A \<cs> B )  "
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   have S3: "( A    B   )  ( A \<cs> B )  " by (rule MMI_resubclt)
   from S1 S2 S3 show "( A \<cs> B )  " by (rule MMI_mp2an)
qed

lemma (in MMIsar0) MMI_0re: 
   shows "𝟬  "
proof -
   have S1: "𝟭  " by (rule MMI_1cn)
   from S1 have S2: "( 𝟭 \<cs> 𝟭 ) = 𝟬" by (rule MMI_subid)
   have S3: "𝟭  " by (rule MMI_ax1re)
   have S4: "𝟭  " by (rule MMI_ax1re)
   from S3 S4 have S5: "( 𝟭 \<cs> 𝟭 )  " by (rule MMI_resubcl)
   from S2 S5 show "𝟬  " by (rule MMI_eqeltrr)
qed

(************** 91-95 ****************************************)

lemma (in MMIsar0) MMI_mulid2t: 
   shows "A    ( 𝟭  A ) = A"
proof -
   have S1: "𝟭  " by (rule MMI_1cn)
   have S2: "( 𝟭    A   )  ( 𝟭  A ) = ( A  𝟭 )" 
     by (rule MMI_axmulcom)
   from S1 S2 have S3: "A    ( 𝟭  A ) = ( A  𝟭 )" by (rule MMI_mpan)
   have S4: "A    ( A  𝟭 ) = A" by (rule MMI_ax1id)
   from S3 S4 show "A    ( 𝟭  A ) = A" by (rule MMI_eqtrd)
qed

lemma (in MMIsar0) MMI_mul12t: 
   shows "( A    B    C   )  ( A  ( B  C ) ) = 
  ( B  ( A  C ) )"
proof -
   have S1: "( A    B   )  ( A  B ) = ( B  A )" 
     by (rule MMI_axmulcom)
   from S1 have S2: "( A    B   )  
     ( ( A  B )  C ) = ( ( B  A )  C )" by (rule MMI_opreq1d)
   from S2 have S3: "( A    B    C   )  
     ( ( A  B )  C ) = ( ( B  A )  C )" by (rule MMI_3adant3)
   have S4: "( A    B    C   )  
     ( ( A  B )  C ) = ( A  ( B  C ) )" by (rule MMI_axmulass)
   have S5: "( B    A    C   )  
     ( ( B  A )  C ) = ( B  ( A  C ) )" by (rule MMI_axmulass)
   from S5 have S6: "( A    B    C   )  
     ( ( B  A )  C ) = ( B  ( A  C ) )" by (rule MMI_3com12)
   from S3 S4 S6 show "( A    B    C   )  
     ( A  ( B  C ) ) = ( B  ( A  C ) )" by (rule MMI_3eqtr3d)
qed

lemma (in MMIsar0) MMI_mul23t: 
   shows "( A    B    C   )  ( ( A  B )  C ) = 
  ( ( A  C )  B )"
proof -
   have S1: "( B    C   )  ( B  C ) = ( C  B )" 
     by (rule MMI_axmulcom)
   from S1 have S2: "( B    C   )  ( A  ( B  C ) ) = 
     ( A  ( C  B ) )" by (rule MMI_opreq2d)
   from S2 have S3: "( A    B    C   )  ( A  ( B  C ) ) = 
     ( A  ( C  B ) )" by (rule MMI_3adant1)
   have S4: "( A    B    C   )  ( ( A  B )  C ) = 
     ( A  ( B  C ) )" by (rule MMI_axmulass)
   have S5: "( A    C    B   )  ( ( A  C )  B ) = 
     ( A  ( C  B ) )" by (rule MMI_axmulass)
   from S5 have S6: "( A    B    C   )  
     ( ( A  C )  B ) = ( A  ( C  B ) )" by (rule MMI_3com23)
   from S3 S4 S6 show "( A    B    C   )  
     ( ( A  B )  C ) = ( ( A  C )  B )" by (rule MMI_3eqtr4d)
qed

lemma (in MMIsar0) MMI_mul4t: 
   shows "( ( A    B   )  ( C    D   ) )  
  ( ( A  B )  ( C  D ) ) = ( ( A  C )  ( B  D ) )"
proof -
   have S1: "( A    B    C   )  
     ( ( A  B )  C ) = ( ( A  C )  B )" by (rule MMI_mul23t)
   from S1 have S2: "( A    B    C   )  
     ( ( ( A  B )  C )  D ) = ( ( ( A  C )  B )  D )" 
     by (rule MMI_opreq1d)
   from S2 have S3: "( ( A    B   )  C   )  
     ( ( ( A  B )  C )  D ) = ( ( ( A  C )  B )  D )" 
     by (rule MMI_3expa)
   from S3 have S4: "( ( A    B   )  ( C    D   ) )  
     ( ( ( A  B )  C )  D ) = ( ( ( A  C )  B )  D )" 
     by (rule MMI_adantrr)
   have S5: "( ( A  B )    C    D   )  
     ( ( ( A  B )  C )  D ) = ( ( A  B )  ( C  D ) )" 
     by (rule MMI_axmulass)
   from S5 have S6: "( ( A  B )    ( C    D   ) )  
     ( ( ( A  B )  C )  D ) = ( ( A  B )  ( C  D ) )" by (rule MMI_3expb)
   have S7: "( A    B   )  ( A  B )  " by (rule MMI_axmulcl)
   from S6 S7 have S8: "( ( A    B   )  ( C    D   ) )  
     ( ( ( A  B )  C )  D ) = ( ( A  B )  ( C  D ) )" by (rule MMI_sylan)
   have S9: "( ( A  C )    B    D   )  
     ( ( ( A  C )  B )  D ) = ( ( A  C )  ( B  D ) )" 
     by (rule MMI_axmulass)
   from S9 have S10: "( ( A  C )    ( B    D   ) )  
     ( ( ( A  C )  B )  D ) = ( ( A  C )  ( B  D ) )" 
     by (rule MMI_3expb)
   have S11: "( A    C   )  ( A  C )  " by (rule MMI_axmulcl)
   from S10 S11 have S12: "( ( A    C   )  ( B    D   ) )  
     ( ( ( A  C )  B )  D ) = ( ( A  C )  ( B  D ) )" 
     by (rule MMI_sylan)
   from S12 have S13: "( ( A    B   )  ( C    D   ) )  
     ( ( ( A  C )  B )  D ) = ( ( A  C )  ( B  D ) )" 
     by (rule MMI_an4s)
   from S4 S8 S13 show "( ( A    B   )  ( C    D   ) )  
     ( ( A  B )  ( C  D ) ) = ( ( A  C )  ( B  D ) )" 
     by (rule MMI_3eqtr3d)
qed

lemma (in MMIsar0) MMI_muladdt: 
   shows "( ( A    B   )  ( C    D   ) )  
  ( ( A \<ca> B )  ( C \<ca> D ) ) = 
  ( ( ( A  C ) \<ca> ( D  B ) ) \<ca> ( ( A  D ) \<ca> ( C  B ) ) )"
proof -
   have S1: "( ( A \<ca> B )    C    D   )  
     ( ( A \<ca> B )  ( C \<ca> D ) ) = 
     ( ( ( A \<ca> B )  C ) \<ca> ( ( A \<ca> B )  D ) )" 
     by (rule MMI_axdistr)
   have S2: "( A    B   )  ( A \<ca> B )  " by (rule MMI_axaddcl)
   from S2 have S3: "( ( A    B   )  ( C    D   ) )  
     ( A \<ca> B )  " by (rule MMI_adantr)
   have S4: "( C    D   )  C  " by (rule MMI_pm3_26)
   from S4 have S5: "( ( A    B   )  ( C    D   ) )  C  " 
     by (rule MMI_adantl)
   have S6: "( C    D   )  D  " by (rule MMI_pm3_27)
   from S6 have S7: "( ( A    B   )  ( C    D   ) )  D  " 
     by (rule MMI_adantl)
   from S1 S3 S5 S7 have S8: 
     "( ( A    B   )  ( C    D   ) ) 
     ( ( A \<ca> B )  ( C \<ca> D ) ) = 
     ( ( ( A \<ca> B )  C ) \<ca> ( ( A \<ca> B )  D ) )" 
     by (rule MMI_syl3anc)
   have S9: "( A    B    C   )  
     ( ( A \<ca> B )  C ) = ( ( A  C ) \<ca> ( B  C ) )" 
     by (rule MMI_adddirt)
   from S9 have S10: "( ( A    B   )  C   )  
     ( ( A \<ca> B )  C ) = ( ( A  C ) \<ca> ( B  C ) )" 
     by (rule MMI_3expa)
   from S10 have S11: "( ( A    B   )  ( C    D   ) )  
     ( ( A \<ca> B )  C ) = ( ( A  C ) \<ca> ( B  C ) )" 
     by (rule MMI_adantrr)
   have S12: "( A    B    D   )  
     ( ( A \<ca> B )  D ) = ( ( A  D ) \<ca> ( B  D ) )" 
     by (rule MMI_adddirt)
   from S12 have S13: "( ( A    B   )  D   )  
     ( ( A \<ca> B )  D ) = ( ( A  D ) \<ca> ( B  D ) )" 
     by (rule MMI_3expa)
   from S13 have S14: "( ( A    B   )  ( C    D   ) )  
     ( ( A \<ca> B )  D ) = ( ( A  D ) \<ca> ( B  D ) )" 
     by (rule MMI_adantrl)
   from S11 S14 have S15: "( ( A    B   )  ( C    D   ) )  
     ( ( ( A \<ca> B )  C ) \<ca> ( ( A \<ca> B )  D ) ) = 
     ( ( ( A  C ) \<ca> ( B  C ) ) \<ca> ( ( A  D ) \<ca> ( B  D ) ) )" 
     by (rule MMI_opreq12d)
   have S16: 
     "( ( A  C )    ( B  C )    
     ( ( A  D ) \<ca> ( B  D ) )   )  
     ( ( ( A  C ) \<ca> ( B  C ) ) \<ca> ( ( A  D ) \<ca> ( B  D ) ) ) = 
     ( ( ( A  C ) \<ca> ( ( A  D ) \<ca> ( B  D ) ) ) \<ca> ( B  C ) )" 
     by (rule MMI_add23t)
   have S17: "( A    C   )  ( A  C )  " by (rule MMI_axmulcl)
   from S17 have S18: "( ( A    B   )  ( C    D   ) )  
     ( A  C )  " by (rule MMI_ad2ant2r)
   have S19: "( B    C   )  ( B  C )  " by (rule MMI_axmulcl)
   from S19 have S20: "( B    ( C    D   ) )  
     ( B  C )  " by (rule MMI_adantrr)
   from S20 have S21: "( ( A    B   )  ( C    D   ) )  
     ( B  C )  " by (rule MMI_adantll)
   have S22: "( ( A  D )    ( B  D )   )  
     ( ( A  D ) \<ca> ( B  D ) )  " by (rule MMI_axaddcl)
   have S23: "( A    D   )  ( A  D )  " by (rule MMI_axmulcl)
   have S24: "( B    D   )  ( B  D )  " by (rule MMI_axmulcl)
   from S22 S23 S24 have S25: 
     "( ( A    D   )  ( B    D   ) )  
     ( ( A  D ) \<ca> ( B  D ) )  " by (rule MMI_syl2an)
   from S25 have S26: "( ( A    B   )  D   )  
     ( ( A  D ) \<ca> ( B  D ) )  " by (rule MMI_anandirs)
   from S26 have S27: "( ( A    B   )  ( C    D   ) )  
     ( ( A  D ) \<ca> ( B  D ) )  " by (rule MMI_adantrl)
   from S16 S18 S21 S27 have S28: 
     "( ( A    B   )  ( C    D   ) )  
     ( ( ( A  C ) \<ca> ( B  C ) ) \<ca> ( ( A  D ) \<ca> ( B  D ) ) ) = 
     ( ( ( A  C ) \<ca> ( ( A  D ) \<ca> ( B  D ) ) ) \<ca> ( B  C ) )" 
     by (rule MMI_syl3anc)
   have S29: "( B    D   )  ( B  D ) = ( D  B )" 
     by (rule MMI_axmulcom)
   from S29 have S30: "( ( A    B   )  ( C    D   ) )  
     ( B  D ) = ( D  B )" by (rule MMI_ad2ant2l)
   from S30 have S31: "( ( A    B   )  ( C    D   ) )  
     ( ( ( A  C ) \<ca> ( A  D ) ) \<ca> ( B  D ) ) = 
     ( ( ( A  C ) \<ca> ( A  D ) ) \<ca> ( D  B ) )" 
     by (rule MMI_opreq2d)
   have S32: "( ( A  C )    ( A  D )    ( B  D )   )  
     ( ( ( A  C ) \<ca> ( A  D ) ) \<ca> ( B  D ) ) = 
     ( ( A  C ) \<ca> ( ( A  D ) \<ca> ( B  D ) ) )" 
     by (rule MMI_axaddass)
   from S18 have S33: 
     "( ( A    B   )  ( C    D   ) )  ( A  C )  " .
   from S23 have S34: "( A    D   )  ( A  D )  " .
   from S34 have S35: "( A    ( C    D   ) )  
     ( A  D )  " by (rule MMI_adantrl)
   from S35 have S36: "( ( A    B   )  ( C    D   ) )  
     ( A  D )  " by (rule MMI_adantlr)
   from S24 have S37: "( B    D   )  ( B  D )  " .
   from S37 have S38: "( ( A    B   )  ( C    D   ) )  
     ( B  D )  " by (rule MMI_ad2ant2l)
   from S32 S33 S36 S38 have S39: 
     "( ( A    B   )  ( C    D   ) )  
     ( ( ( A  C ) \<ca> ( A  D ) ) \<ca> ( B  D ) ) = 
     ( ( A  C ) \<ca> ( ( A  D ) \<ca> ( B  D ) ) )" by (rule MMI_syl3anc)
   have S40: "( ( A  C )    ( A  D )    ( D  B )   )  
     ( ( ( A  C ) \<ca> ( A  D ) ) \<ca> ( D  B ) ) = 
     ( ( ( A  C ) \<ca> ( D  B ) ) \<ca> ( A  D ) )" by (rule MMI_add23t)
   from S18 have S41: 
     "( ( A    B   )  ( C    D   ) )  ( A  C )  " .
   from S36 have S42: "( ( A    B   )  ( C    D   ) )  
     ( A  D )  " .
   have S43: "( D    B   )  ( D  B )  " by (rule MMI_axmulcl)
   from S43 have S44: "( B    D   )  ( D  B )  " 
     by (rule MMI_ancoms)
   from S44 have S45: "( ( A    B   )  ( C    D   ) )  
     ( D  B )  " by (rule MMI_ad2ant2l)
   from S40 S41 S42 S45 have S46: 
     "( ( A    B   )  ( C    D   ) )  
     ( ( ( A  C ) \<ca> ( A  D ) ) \<ca> ( D  B ) ) = 
     ( ( ( A  C ) \<ca> ( D  B ) ) \<ca> ( A  D ) )" by (rule MMI_syl3anc)
   from S31 S39 S46 have S47: 
     "( ( A    B   )  ( C    D   ) )  
     ( ( A  C ) \<ca> ( ( A  D ) \<ca> ( B  D ) ) ) = 
     ( ( ( A  C ) \<ca> ( D  B ) ) \<ca> ( A  D ) )" by (rule MMI_3eqtr3d)
   have S48: "( B    C   )  ( B  C ) = ( C  B )" 
     by (rule MMI_axmulcom)
   from S48 have S49: "( ( A    D   )  ( B    C   ) )  
     ( B  C ) = ( C  B )" by (rule MMI_adantl)
   from S49 have S50: "( ( A    B   )  ( C    D   ) )  
     ( B  C ) = ( C  B )" by (rule MMI_an42s)
   from S47 S50 have S51: "( ( A    B   )  ( C    D   ) )  
     ( ( ( A  C ) \<ca> ( ( A  D ) \<ca> ( B  D ) ) ) \<ca> ( B  C ) ) = 
     ( ( ( ( A  C ) \<ca> ( D  B ) ) \<ca> ( A  D ) ) \<ca> ( C  B ) )" 
     by (rule MMI_opreq12d)
   have S52: 
     "( ( ( A  C ) \<ca> ( D  B ) )    ( A  D )    
     ( C  B )   )  
     ( ( ( ( A  C ) \<ca> ( D  B ) ) \<ca> ( A  D ) ) \<ca> ( C  B ) ) = 
     ( ( ( A  C ) \<ca> ( D  B ) ) \<ca> ( ( A  D ) \<ca> ( C  B ) ) )" 
     by (rule MMI_axaddass)
   have S53: "( ( A  C )    ( D  B )   )  
     ( ( A  C ) \<ca> ( D  B ) )  " by (rule MMI_axaddcl)
   from S17 have S54: "( A    C   )  ( A  C )  " .
   from S44 have S55: "( B    D   )  ( D  B )  " .
   from S53 S54 S55 have S56: 
     "( ( A    C   )  ( B    D   ) )  
     ( ( A  C ) \<ca> ( D  B ) )  " by (rule MMI_syl2an)
   from S56 have S57: "( ( A    B   )  ( C    D   ) )  
     ( ( A  C ) \<ca> ( D  B ) )  " by (rule MMI_an4s)
   from S36 have S58: "( ( A    B   )  ( C    D   ) )  
     ( A  D )  " .
   have S59: "( C    B   )  ( C  B )  " by (rule MMI_axmulcl)
   from S59 have S60: "( B    C   )  ( C  B )  " 
     by (rule MMI_ancoms)
   from S60 have S61: "( ( A    D   )  ( B    C   ) )  
     ( C  B )  " by (rule MMI_adantl)
   from S61 have S62: "( ( A    B   )  ( C    D   ) )  
     ( C  B )  " by (rule MMI_an42s)
   from S52 S57 S58 S62 have S63: 
     "( ( A    B   )  ( C    D   ) )  
     ( ( ( ( A  C ) \<ca> ( D  B ) ) \<ca> ( A  D ) ) \<ca> ( C  B ) ) = 
     ( ( ( A  C ) \<ca> ( D  B ) ) \<ca> ( ( A  D ) \<ca> ( C  B ) ) )" 
     by (rule MMI_syl3anc)
   from S28 S51 S63 have S64: 
     "( ( A    B   )  ( C    D   ) )  
     ( ( ( A  C ) \<ca> ( B  C ) ) \<ca> ( ( A  D ) \<ca> ( B  D ) ) ) = 
     ( ( ( A  C ) \<ca> ( D  B ) ) \<ca> ( ( A  D ) \<ca> ( C  B ) ) )" 
     by (rule MMI_3eqtrd)
   from S8 S15 S64 show "( ( A    B   )  ( C    D   ) )  
     ( ( A \<ca> B )  ( C \<ca> D ) ) = 
     ( ( ( A  C ) \<ca> ( D  B ) ) \<ca> ( ( A  D ) \<ca> ( C  B ) ) )" 
     by (rule MMI_3eqtrd)
qed

(********* 96-100****************************************************)

lemma (in MMIsar0) MMI_muladd11t: 
   shows "( A    B   )  ( ( 𝟭 \<ca> A )  ( 𝟭 \<ca> B ) ) = 
  ( ( 𝟭 \<ca> A ) \<ca> ( B \<ca> ( A  B ) ) )"
proof -
   have S1: "𝟭  " by (rule MMI_1cn)
   have S2: "( ( 𝟭 \<ca> A )    𝟭    B   )  
     ( ( 𝟭 \<ca> A )  ( 𝟭 \<ca> B ) ) = 
     ( ( ( 𝟭 \<ca> A )  𝟭 ) \<ca> ( ( 𝟭 \<ca> A )  B ) )" 
     by (rule MMI_axdistr)
   from S1 S2 have S3: "( ( 𝟭 \<ca> A )    B   )  
     ( ( 𝟭 \<ca> A )  ( 𝟭 \<ca> B ) ) = 
     ( ( ( 𝟭 \<ca> A )  𝟭 ) \<ca> ( ( 𝟭 \<ca> A )  B ) )" 
     by (rule MMI_mp3an2)
   have S4: "𝟭  " by (rule MMI_1cn)
   have S5: "( 𝟭    A   )  ( 𝟭 \<ca> A )  " by (rule MMI_axaddcl)
   from S4 S5 have S6: "A    ( 𝟭 \<ca> A )  " by (rule MMI_mpan)
   from S3 S6 have S7: "( A    B   )  
     ( ( 𝟭 \<ca> A )  ( 𝟭 \<ca> B ) ) = 
     ( ( ( 𝟭 \<ca> A )  𝟭 ) \<ca> ( ( 𝟭 \<ca> A )  B ) )" by (rule MMI_sylan)
   from S6 have S8: "A    ( 𝟭 \<ca> A )  " .
   have S9: "( 𝟭 \<ca> A )    ( ( 𝟭 \<ca> A )  𝟭 ) = ( 𝟭 \<ca> A )" 
     by (rule MMI_ax1id)
   from S8 S9 have S10: "A    ( ( 𝟭 \<ca> A )  𝟭 ) = ( 𝟭 \<ca> A )" 
     by (rule MMI_syl)
   from S10 have S11: "( A    B   )  
     ( ( 𝟭 \<ca> A )  𝟭 ) = ( 𝟭 \<ca> A )" by (rule MMI_adantr)
   have S12: "𝟭  " by (rule MMI_1cn)
   have S13: "( 𝟭    A    B   )  ( ( 𝟭 \<ca> A )  B ) = 
     ( ( 𝟭  B ) \<ca> ( A  B ) )" by (rule MMI_adddirt)
   from S12 S13 have S14: "( A    B   )  ( ( 𝟭 \<ca> A )  B ) = ( ( 𝟭  B ) \<ca> ( A  B ) )" by (rule MMI_mp3an1)
   have S15: "B    ( 𝟭  B ) = B" by (rule MMI_mulid2t)
   from S15 have S16: "( A    B   )  ( 𝟭  B ) = B" 
     by (rule MMI_adantl)
   from S16 have S17: 
     "( A    B   )  ( ( 𝟭  B ) \<ca> ( A  B ) ) = 
     ( B \<ca> ( A  B ) )" by (rule MMI_opreq1d)
   from S14 S17 have S18: 
     "( A    B   )  ( ( 𝟭 \<ca> A )  B ) = 
     ( B \<ca> ( A  B ) )" by (rule MMI_eqtrd)
   from S11 S18 have S19: "( A    B   )  
     ( ( ( 𝟭 \<ca> A )  𝟭 ) \<ca> ( ( 𝟭 \<ca> A )  B ) ) = 
     ( ( 𝟭 \<ca> A ) \<ca> ( B \<ca> ( A  B ) ) )" by (rule MMI_opreq12d)
   from S7 S19 show "( A    B   )  
     ( ( 𝟭 \<ca> A )  ( 𝟭 \<ca> B ) ) = 
     ( ( 𝟭 \<ca> A ) \<ca> ( B \<ca> ( A  B ) ) )" 
     by (rule MMI_eqtrd)
qed

lemma (in MMIsar0) MMI_mul12: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "( A  ( B  C ) ) = ( B  ( A  C ) )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from S1 S2 have S3: "( A  B ) = ( B  A )" by (rule MMI_mulcom)
   from S3 have S4: "( ( A  B )  C ) = ( ( B  A )  C )" 
     by (rule MMI_opreq1i)
   from A1 have S5: "A  ".
   from A2 have S6: "B  ".
   from A3 have S7: "C  ".
   from S5 S6 S7 have S8: "( ( A  B )  C ) = ( A  ( B  C ) )" 
     by (rule MMI_mulass)
   from A2 have S9: "B  ".
   from A1 have S10: "A  ".
   from A3 have S11: "C  ".
   from S9 S10 S11 have S12: "( ( B  A )  C ) = ( B  ( A  C ) )" 
     by (rule MMI_mulass)
   from S4 S8 S12 show "( A  ( B  C ) ) = ( B  ( A  C ) )" 
     by (rule MMI_3eqtr3)
qed

lemma (in MMIsar0) MMI_mul23: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "( ( A  B )  C ) = ( ( A  C )  B )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A3 have S3: "C  ".
   have S4: "( A    B    C   )  ( ( A  B )  C ) = 
     ( ( A  C )  B )" by (rule MMI_mul23t)
   from S1 S2 S3 S4 show "( ( A  B )  C ) = ( ( A  C )  B )" 
     by (rule MMI_mp3an)
qed

lemma (in MMIsar0) MMI_mul4: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  " and
    A4: "D  "   
   shows "( ( A  B )  ( C  D ) ) = ( ( A  C )  ( B  D ) )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from S1 S2 have S3: "A    B  " by (rule MMI_pm3_2i)
   from A3 have S4: "C  ".
   from A4 have S5: "D  ".
   from S4 S5 have S6: "C    D  " by (rule MMI_pm3_2i)
   have S7: "( ( A    B   )  ( C    D   ) )  
     ( ( A  B )  ( C  D ) ) = ( ( A  C )  ( B  D ) )" 
     by (rule MMI_mul4t)
   from S3 S6 S7 show "( ( A  B )  ( C  D ) ) = ( ( A  C )  ( B  D ) )" 
     by (rule MMI_mp2an)
qed

lemma (in MMIsar0) MMI_muladd: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  " and
    A4: "D  "   
   shows "( ( A \<ca> B )  ( C \<ca> D ) ) = 
  ( ( ( A  C ) \<ca> ( D  B ) ) \<ca> ( ( A  D ) \<ca> ( C  B ) ) )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from S1 S2 have S3: "A    B  " by (rule MMI_pm3_2i)
   from A3 have S4: "C  ".
   from A4 have S5: "D  ".
   from S4 S5 have S6: "C    D  " by (rule MMI_pm3_2i)
   have S7: "( ( A    B   )  ( C    D   ) )  
     ( ( A \<ca> B )  ( C \<ca> D ) ) =
     ( ( ( A  C ) \<ca> ( D  B ) ) \<ca> ( ( A  D ) \<ca> ( C  B ) ) )" 
     by (rule MMI_muladdt)
   from S3 S6 S7 show 
     "( ( A \<ca> B )  ( C \<ca> D ) ) = 
     ( ( ( A  C ) \<ca> ( D  B ) ) \<ca> ( ( A  D ) \<ca> ( C  B ) ) )" 
     by (rule MMI_mp2an)
qed

(************ 101-110 *********************)
lemma (in MMIsar0) MMI_subdit: 
   shows "( A    B    C   )  
 ( A  ( B \<cs> C ) ) = ( ( A  B ) \<cs> ( A  C ) )"
proof -
   have S1: "( A    C    ( B \<cs> C )   )  
 ( A  ( C \<ca> ( B \<cs> C ) ) ) = 
     ( ( A  C ) \<ca> ( A  ( B \<cs> C ) ) )" by (rule MMI_axdistr)
   have S2: "( A    B    C   )  A  " by (rule MMI_3simp1)
   have S3: "( A    B    C   )  C  " by (rule MMI_3simp3)
   have S4: "( B    C   )  ( B \<cs> C )  " by (rule MMI_subclt)
   from S4 have S5: "( A    B    C   )  ( B \<cs> C )  " 
     by (rule MMI_3adant1)
   from S1 S2 S3 S5 have S6: "( A    B    C   )  
 ( A  ( C \<ca> ( B \<cs> C ) ) ) = 
     ( ( A  C ) \<ca> ( A  ( B \<cs> C ) ) )" by (rule MMI_syl3anc)
   have S7: "( C    B   )  ( C \<ca> ( B \<cs> C ) ) = B" by (rule MMI_pncan3t)
   from S7 have S8: "( B    C   )  ( C \<ca> ( B \<cs> C ) ) = B" by (rule MMI_ancoms)
   from S8 have S9: "( A    B    C   )  ( C \<ca> ( B \<cs> C ) ) = B" by (rule MMI_3adant1)
   from S9 have S10: "( A    B    C   )  
 ( A  ( C \<ca> ( B \<cs> C ) ) ) = ( A  B )" by (rule MMI_opreq2d)
   from S6 S10 have S11: "( A    B    C   )  
 ( ( A  C ) \<ca> ( A  ( B \<cs> C ) ) ) = ( A  B )" by (rule MMI_eqtr3d)
   have S12: "( ( A  B )    ( A  C )    ( A  ( B \<cs> C ) )   )  
 ( ( ( A  B ) \<cs> ( A  C ) ) = ( A  ( B \<cs> C ) )  
     ( ( A  C ) \<ca> ( A  ( B \<cs> C ) ) ) = ( A  B ) )" by (rule MMI_subaddt)
   have S13: "( A    B   )  ( A  B )  " by (rule MMI_axmulcl)
   from S13 have S14: "( A    B    C   )  ( A  B )  " 
     by (rule MMI_3adant3)
   have S15: "( A    C   )  ( A  C )  " by (rule MMI_axmulcl)
   from S15 have S16: "( A    B    C   )  ( A  C )  " 
     by (rule MMI_3adant2)
   have S17: "( A    ( B \<cs> C )   )  ( A  ( B \<cs> C ) )  " 
     by (rule MMI_axmulcl)
   from S4 have S18: "( B    C   )  ( B \<cs> C )  " .
   from S17 S18 have S19: "( A    ( B    C   ) )  
     ( A  ( B \<cs> C ) )  " by (rule MMI_sylan2)
   from S19 have S20: "( A    B    C   )  
     ( A  ( B \<cs> C ) )  " by (rule MMI_3impb)
   from S12 S14 S16 S20 have S21: "( A    B    C   )  
 ( ( ( A  B ) \<cs> ( A  C ) ) = ( A  ( B \<cs> C ) )  
     ( ( A  C ) \<ca> ( A  ( B \<cs> C ) ) ) = ( A  B ) )" by (rule MMI_syl3anc)
   from S11 S21 have S22: "( A    B    C   )  
 ( ( A  B ) \<cs> ( A  C ) ) = ( A  ( B \<cs> C ) )" by (rule MMI_mpbird)
   from S22 show "( A    B    C   )  
 ( A  ( B \<cs> C ) ) = ( ( A  B ) \<cs> ( A  C ) )" by (rule MMI_eqcomd)
qed

lemma (in MMIsar0) MMI_subdirt: 
   shows "( A    B    C   )  
 ( ( A \<cs> B )  C ) = ( ( A  C ) \<cs> ( B  C ) )"
proof -
   have S1: "( C    A    B   )  
 ( C  ( A \<cs> B ) ) = ( ( C  A ) \<cs> ( C  B ) )" by (rule MMI_subdit)
   from S1 have S2: "( A    B    C   )  
 ( C  ( A \<cs> B ) ) = ( ( C  A ) \<cs> ( C  B ) )" by (rule MMI_3coml)
   have S3: "( ( A \<cs> B )    C   )  
 ( ( A \<cs> B )  C ) = ( C  ( A \<cs> B ) )" by (rule MMI_axmulcom)
   have S4: "( A    B   )  ( A \<cs> B )  " by (rule MMI_subclt)
   from S3 S4 have S5: "( ( A    B   )  C   )  
 ( ( A \<cs> B )  C ) = ( C  ( A \<cs> B ) )" by (rule MMI_sylan)
   from S5 have S6: "( A    B    C   )  
 ( ( A \<cs> B )  C ) = ( C  ( A \<cs> B ) )" by (rule MMI_3impa)
   have S7: "( A    C   )  ( A  C ) = ( C  A )" by (rule MMI_axmulcom)
   from S7 have S8: "( A    B    C   )  ( A  C ) = ( C  A )" 
     by (rule MMI_3adant2)
   have S9: "( B    C   )  ( B  C ) = ( C  B )" by (rule MMI_axmulcom)
   from S9 have S10: "( A    B    C   )  ( B  C ) = ( C  B )" 
     by (rule MMI_3adant1)
   from S8 S10 have S11: "( A    B    C   )  
 ( ( A  C ) \<cs> ( B  C ) ) = ( ( C  A ) \<cs> ( C  B ) )" 
     by (rule MMI_opreq12d)
   from S2 S6 S11 show "( A    B    C   )  
 ( ( A \<cs> B )  C ) = ( ( A  C ) \<cs> ( B  C ) )" by (rule MMI_3eqtr4d)
qed

lemma (in MMIsar0) MMI_subdi: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "( A  ( B \<cs> C ) ) = ( ( A  B ) \<cs> ( A  C ) )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A3 have S3: "C  ".
   have S4: "( A    B    C   )  
 ( A  ( B \<cs> C ) ) = ( ( A  B ) \<cs> ( A  C ) )" by (rule MMI_subdit)
   from S1 S2 S3 S4 show "( A  ( B \<cs> C ) ) = ( ( A  B ) \<cs> ( A  C ) )" 
     by (rule MMI_mp3an)
qed

lemma (in MMIsar0) MMI_subdir: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "( ( A \<cs> B )  C ) = ( ( A  C ) \<cs> ( B  C ) )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A3 have S3: "C  ".
   have S4: "( A    B    C   )  
 ( ( A \<cs> B )  C ) = ( ( A  C ) \<cs> ( B  C ) )" by (rule MMI_subdirt)
   from S1 S2 S3 S4 show "( ( A \<cs> B )  C ) = ( ( A  C ) \<cs> ( B  C ) )" 
     by (rule MMI_mp3an)
qed

lemma (in MMIsar0) MMI_mul01: assumes A1: "A  "   
   shows "( A  𝟬 ) = 𝟬"
proof -
   from A1 have S1: "A  ".
   have S2: "𝟬  " by (rule MMI_0cn)
   have S3: "𝟬  " by (rule MMI_0cn)
   from S1 S2 S3 have S4: "( A  ( 𝟬 \<cs> 𝟬 ) ) = ( ( A  𝟬 ) \<cs> ( A  𝟬 ) )" 
     by (rule MMI_subdi)
   have S5: "𝟬  " by (rule MMI_0cn)
   from S5 have S6: "( 𝟬 \<cs> 𝟬 ) = 𝟬" by (rule MMI_subid)
   from S6 have S7: "( A  ( 𝟬 \<cs> 𝟬 ) ) = ( A  𝟬 )" by (rule MMI_opreq2i)
   from A1 have S8: "A  ".
   have S9: "𝟬  " by (rule MMI_0cn)
   from S8 S9 have S10: "( A  𝟬 )  " by (rule MMI_mulcl)
   from S10 have S11: "( ( A  𝟬 ) \<cs> ( A  𝟬 ) ) = 𝟬" by (rule MMI_subid)
   from S4 S7 S11 show "( A  𝟬 ) = 𝟬" by (rule MMI_3eqtr3)
qed

lemma (in MMIsar0) MMI_mul02: assumes A1: "A  "   
   shows "( 𝟬  A ) = 𝟬"
proof -
   have S1: "𝟬  " by (rule MMI_0cn)
   from A1 have S2: "A  ".
   from S1 S2 have S3: "( 𝟬  A ) = ( A  𝟬 )" by (rule MMI_mulcom)
   from A1 have S4: "A  ".
   from S4 have S5: "( A  𝟬 ) = 𝟬" by (rule MMI_mul01)
   from S3 S5 show "( 𝟬  A ) = 𝟬" by (rule MMI_eqtr)
qed

lemma (in MMIsar0) MMI_1p1times: assumes A1: "A  "   
   shows "( ( 𝟭 \<ca> 𝟭 )  A ) = ( A \<ca> A )"
proof -
   have S1: "𝟭  " by (rule MMI_1cn)
   have S2: "𝟭  " by (rule MMI_1cn)
   from A1 have S3: "A  ".
   from S1 S2 S3 have S4: "( ( 𝟭 \<ca> 𝟭 )  A ) = ( ( 𝟭  A ) \<ca> ( 𝟭  A ) )" 
     by (rule MMI_adddir)
   from A1 have S5: "A  ".
   from S5 have S6: "( 𝟭  A ) = A" by (rule MMI_mulid2)
   from S6 have S7: "( 𝟭  A ) = A" .
   from S6 S7 have S8: "( ( 𝟭  A ) \<ca> ( 𝟭  A ) ) = ( A \<ca> A )" 
     by (rule MMI_opreq12i)
   from S4 S8 show "( ( 𝟭 \<ca> 𝟭 )  A ) = ( A \<ca> A )" 
     by (rule MMI_eqtr)
qed

lemma (in MMIsar0) MMI_mul01t: 
   shows "A    ( A  𝟬 ) = 𝟬"
proof -
   have S1: "A = if ( A   , A , 𝟬 )  
 ( A  𝟬 ) = ( if ( A   , A , 𝟬 )  𝟬 )" by (rule MMI_opreq1)
   from S1 have S2: "A = if ( A   , A , 𝟬 )  
 ( ( A  𝟬 ) = 𝟬  ( if ( A   , A , 𝟬 )  𝟬 ) = 𝟬 )" by (rule MMI_eqeq1d)
   have S3: "𝟬  " by (rule MMI_0cn)
   from S3 have S4: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   from S4 have S5: "( if ( A   , A , 𝟬 )  𝟬 ) = 𝟬" by (rule MMI_mul01)
   from S2 S5 show "A    ( A  𝟬 ) = 𝟬" by (rule MMI_dedth)
qed

lemma (in MMIsar0) MMI_mul02t: 
   shows "A    ( 𝟬  A ) = 𝟬"
proof -
   have S1: "𝟬  " by (rule MMI_0cn)
   have S2: "( 𝟬    A   )  ( 𝟬  A ) = ( A  𝟬 )" by (rule MMI_axmulcom)
   from S1 S2 have S3: "A    ( 𝟬  A ) = ( A  𝟬 )" by (rule MMI_mpan)
   have S4: "A    ( A  𝟬 ) = 𝟬" by (rule MMI_mul01t)
   from S3 S4 show "A    ( 𝟬  A ) = 𝟬" by (rule MMI_eqtrd)
qed

lemma (in MMIsar0) MMI_mulneg1: assumes A1: "A  " and
    A2: "B  "   
   shows "( ( (\<cn>  A) )  B ) = ( \<cn> ( A  B ) )"
proof -
   from A2 have S1: "B  ".
   from S1 have S2: "( B  𝟬 ) = 𝟬" by (rule MMI_mul01)
   from A2 have S3: "B  ".
   from A1 have S4: "A  ".
   from S3 S4 have S5: "( B  A ) = ( A  B )" by (rule MMI_mulcom)
   from S2 S5 have S6: "( ( B  𝟬 ) \<cs> ( B  A ) ) = ( 𝟬 \<cs> ( A  B ) )" 
     by (rule MMI_opreq12i)
   have S7: "( (\<cn>  A) ) = ( 𝟬 \<cs> A )" by (rule MMI_df_neg)
   from S7 have S8: "( ( (\<cn>  A) )  B ) = ( ( 𝟬 \<cs> A )  B )" 
     by (rule MMI_opreq1i)
   have S9: "𝟬  " by (rule MMI_0cn)
   from A1 have S10: "A  ".
   from S9 S10 have S11: "( 𝟬 \<cs> A )  " by (rule MMI_subcl)
   from A2 have S12: "B  ".
   from S11 S12 have S13: "( ( 𝟬 \<cs> A )  B ) = ( B  ( 𝟬 \<cs> A ) )" 
     by (rule MMI_mulcom)
   from A2 have S14: "B  ".
   have S15: "𝟬  " by (rule MMI_0cn)
   from A1 have S16: "A  ".
   from S14 S15 S16 have 
     S17: "( B  ( 𝟬 \<cs> A ) ) = ( ( B  𝟬 ) \<cs> ( B  A ) )" 
     by (rule MMI_subdi)
   from S8 S13 S17 have 
     S18: "( ( (\<cn>  A) )  B ) = ( ( B  𝟬 ) \<cs> ( B  A ) )" by (rule MMI_3eqtr)
   have S19: "( \<cn> ( A  B ) ) = ( 𝟬 \<cs> ( A  B ) )" by (rule MMI_df_neg)
   from S6 S18 S19 show "( ( (\<cn>  A) )  B ) = ( \<cn> ( A  B ) )" 
     by (rule MMI_3eqtr4)
qed

(*********111-120*********************************)

lemma (in MMIsar0) MMI_mulneg2: assumes A1: "A  " and
    A2: "B  "   
   shows "( A  ( (\<cn>  B) ) ) = 
 ( \<cn> ( A  B ) )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from S2 have S3: "( (\<cn>  B) )  " by (rule MMI_negcl)
   from S1 S3 have S4: "( A  ( (\<cn>  B) ) ) = 
 ( ( (\<cn>  B) )  A )" by (rule MMI_mulcom)
   from A2 have S5: "B  ".
   from A1 have S6: "A  ".
   from S5 S6 have S7: "( ( (\<cn>  B) )  A ) = 
 ( \<cn> ( B  A ) )" by (rule MMI_mulneg1)
   from A2 have S8: "B  ".
   from A1 have S9: "A  ".
   from S8 S9 have S10: "( B  A ) = ( A  B )" by (rule MMI_mulcom)
   from S10 have S11: "( \<cn> ( B  A ) ) = 
 ( \<cn> ( A  B ) )" by (rule MMI_negeqi)
   from S4 S7 S11 show "( A  ( (\<cn>  B) ) ) = 
 ( \<cn> ( A  B ) )" by (rule MMI_3eqtr)
qed

lemma (in MMIsar0) MMI_mul2neg: assumes A1: "A  " and
    A2: "B  "   
   shows "( ( (\<cn>  A) )  ( (\<cn>  B) ) ) = 
 ( A  B )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from S2 have S3: "( (\<cn>  B) )  " by (rule MMI_negcl)
   from S1 S3 have S4: "( ( (\<cn>  A) )  ( (\<cn>  B) ) ) = 
 ( \<cn> ( A  ( (\<cn>  B) ) ) )" by (rule MMI_mulneg1)
   from A1 have S5: "A  ".
   from S3 have S6: "( (\<cn>  B) )  " .
   from S5 S6 have S7: "( A  ( (\<cn>  B) ) ) = 
 ( ( (\<cn>  B) )  A )" by (rule MMI_mulcom)
   from A2 have S8: "B  ".
   from A1 have S9: "A  ".
   from S8 S9 have S10: "( ( (\<cn>  B) )  A ) = 
 ( \<cn> ( B  A ) )" by (rule MMI_mulneg1)
   from S7 S10 have S11: "( A  ( (\<cn>  B) ) ) = 
 ( \<cn> ( B  A ) )" by (rule MMI_eqtr)
   from S11 have S12: "( \<cn> ( A  ( (\<cn>  B) ) ) ) = 
 ( \<cn> ( \<cn> ( B  A ) ) )" by (rule MMI_negeqi)
   from A2 have S13: "B  ".
   from A1 have S14: "A  ".
   from S13 S14 have S15: "( B  A )  " by (rule MMI_mulcl)
   from S15 have S16: "( \<cn> ( \<cn> ( B  A ) ) ) = 
 ( B  A )" by (rule MMI_negneg)
   from S4 S12 S16 have S17: "( ( (\<cn>  A) )  ( (\<cn>  B) ) ) = 
 ( B  A )" by (rule MMI_3eqtr)
   from A2 have S18: "B  ".
   from A1 have S19: "A  ".
   from S18 S19 have S20: "( B  A ) = ( A  B )" by (rule MMI_mulcom)
   from S17 S20 show "( ( (\<cn>  A) )  ( (\<cn>  B) ) ) = 
 ( A  B )" by (rule MMI_eqtr)
qed

lemma (in MMIsar0) MMI_negdi: assumes A1: "A  " and
    A2: "B  "   
   shows "( \<cn> ( A \<ca> B ) ) = 
 ( ( (\<cn>  A) ) \<ca> ( (\<cn>  B) ) )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from S1 S2 have S3: "( A \<ca> B )  " by (rule MMI_addcl)
   from S3 have S4: "( 𝟭  ( A \<ca> B ) ) = 
 ( A \<ca> B )" by (rule MMI_mulid2)
   from S4 have S5: "( \<cn> ( 𝟭  ( A \<ca> B ) ) ) = 
 ( \<cn> ( A \<ca> B ) )" by (rule MMI_negeqi)
   have S6: "𝟭  " by (rule MMI_1cn)
   from S6 have S7: "( \<cn> 𝟭 )  " by (rule MMI_negcl)
   from A1 have S8: "A  ".
   from A2 have S9: "B  ".
   from S7 S8 S9 have S10: "( ( \<cn> 𝟭 )  ( A \<ca> B ) ) = 
 ( ( ( \<cn> 𝟭 )  A ) \<ca> ( ( \<cn> 𝟭 )  B ) )" by (rule MMI_adddi)
   have S11: "𝟭  " by (rule MMI_1cn)
   from S3 have S12: "( A \<ca> B )  " .
   from S11 S12 have S13: "( ( \<cn> 𝟭 )  ( A \<ca> B ) ) = 
 ( \<cn> ( 𝟭  ( A \<ca> B ) ) )" by (rule MMI_mulneg1)
   have S14: "𝟭  " by (rule MMI_1cn)
   from A1 have S15: "A  ".
   from S14 S15 have S16: "( ( \<cn> 𝟭 )  A ) = 
 ( \<cn> ( 𝟭  A ) )" by (rule MMI_mulneg1)
   from A1 have S17: "A  ".
   from S17 have S18: "( 𝟭  A ) = A" by (rule MMI_mulid2)
   from S18 have S19: "( \<cn> ( 𝟭  A ) ) = ( (\<cn>  A) )" by (rule MMI_negeqi)
   from S16 S19 have S20: "( ( \<cn> 𝟭 )  A ) = ( (\<cn>  A) )" by (rule MMI_eqtr)
   have S21: "𝟭  " by (rule MMI_1cn)
   from A2 have S22: "B  ".
   from S21 S22 have S23: "( ( \<cn> 𝟭 )  B ) = 
 ( \<cn> ( 𝟭  B ) )" by (rule MMI_mulneg1)
   from A2 have S24: "B  ".
   from S24 have S25: "( 𝟭  B ) = B" by (rule MMI_mulid2)
   from S25 have S26: "( \<cn> ( 𝟭  B ) ) = ( (\<cn>  B) )" by (rule MMI_negeqi)
   from S23 S26 have S27: "( ( \<cn> 𝟭 )  B ) = ( (\<cn>  B) )" by (rule MMI_eqtr)
   from S20 S27 have S28: "( ( ( \<cn> 𝟭 )  A ) \<ca> ( ( \<cn> 𝟭 )  B ) ) = 
 ( ( (\<cn>  A) ) \<ca> ( (\<cn>  B) ) )" by (rule MMI_opreq12i)
   from S10 S13 S28 have S29: "( \<cn> ( 𝟭  ( A \<ca> B ) ) ) = 
 ( ( (\<cn>  A) ) \<ca> ( (\<cn>  B) ) )" by (rule MMI_3eqtr3)
   from S5 S29 show "( \<cn> ( A \<ca> B ) ) = 
 ( ( (\<cn>  A) ) \<ca> ( (\<cn>  B) ) )" by (rule MMI_eqtr3)
qed

lemma (in MMIsar0) MMI_negsubdi: assumes A1: "A  " and
    A2: "B  "   
   shows "( \<cn> ( A \<cs> B ) ) = 
 ( ( (\<cn>  A) ) \<ca> B )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from S2 have S3: "( (\<cn>  B) )  " by (rule MMI_negcl)
   from S1 S3 have S4: "( \<cn> ( A \<ca> ( (\<cn>  B) ) ) ) = 
 ( ( (\<cn>  A) ) \<ca> ( \<cn> ( (\<cn>  B) ) ) )" by (rule MMI_negdi)
   from A1 have S5: "A  ".
   from A2 have S6: "B  ".
   from S5 S6 have S7: "( A \<ca> ( (\<cn>  B) ) ) = ( A \<cs> B )" by (rule MMI_negsub)
   from S7 have S8: "( \<cn> ( A \<ca> ( (\<cn>  B) ) ) ) = 
 ( \<cn> ( A \<cs> B ) )" by (rule MMI_negeqi)
   from A2 have S9: "B  ".
   from S9 have S10: "( \<cn> ( (\<cn>  B) ) ) = B" by (rule MMI_negneg)
   from S10 have S11: "( ( (\<cn>  A) ) \<ca> ( \<cn> ( (\<cn>  B) ) ) ) = 
 ( ( (\<cn>  A) ) \<ca> B )" by (rule MMI_opreq2i)
   from S4 S8 S11 show "( \<cn> ( A \<cs> B ) ) = 
 ( ( (\<cn>  A) ) \<ca> B )" by (rule MMI_3eqtr3)
qed

lemma (in MMIsar0) MMI_negsubdi2: assumes A1: "A  " and
    A2: "B  "   
   shows "( \<cn> ( A \<cs> B ) ) = ( B \<cs> A )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from S1 S2 have S3: "( \<cn> ( A \<cs> B ) ) = 
 ( ( (\<cn>  A) ) \<ca> B )" by (rule MMI_negsubdi)
   from A1 have S4: "A  ".
   from S4 have S5: "( (\<cn>  A) )  " by (rule MMI_negcl)
   from A2 have S6: "B  ".
   from S5 S6 have S7: "( ( (\<cn>  A) ) \<ca> B ) = 
 ( B \<ca> ( (\<cn>  A) ) )" by (rule MMI_addcom)
   from A2 have S8: "B  ".
   from A1 have S9: "A  ".
   from S8 S9 have S10: "( B \<ca> ( (\<cn>  A) ) ) = ( B \<cs> A )" by (rule MMI_negsub)
   from S3 S7 S10 show "( \<cn> ( A \<cs> B ) ) = ( B \<cs> A )" by (rule MMI_3eqtr)
qed

lemma (in MMIsar0) MMI_mulneg1t: 
   shows "( A    B   )  
 ( ( (\<cn>  A) )  B ) = 
 ( \<cn> ( A  B ) )"
proof -
   have S1: "A = 
 if ( A   , A , 𝟬 )  
 ( (\<cn>  A) ) = 
 ( \<cn> if ( A   , A , 𝟬 ) )" by (rule MMI_negeq)
   from S1 have S2: "A = 
 if ( A   , A , 𝟬 )  
 ( ( (\<cn>  A) )  B ) = 
 ( ( \<cn> if ( A   , A , 𝟬 ) )  B )" by (rule MMI_opreq1d)
   have S3: "A = 
 if ( A   , A , 𝟬 )  
 ( A  B ) = 
 ( if ( A   , A , 𝟬 )  B )" by (rule MMI_opreq1)
   from S3 have S4: "A = 
 if ( A   , A , 𝟬 )  
 ( \<cn> ( A  B ) ) = 
 ( \<cn> ( if ( A   , A , 𝟬 )  B ) )" by (rule MMI_negeqd)
   from S2 S4 have S5: "A = 
 if ( A   , A , 𝟬 )  
 ( ( ( (\<cn>  A) )  B ) = 
 ( \<cn> ( A  B ) )  
 ( ( \<cn> if ( A   , A , 𝟬 ) )  B ) = 
 ( \<cn> ( if ( A   , A , 𝟬 )  B ) ) )" by (rule MMI_eqeq12d)
   have S6: "B = 
 if ( B   , B , 𝟬 )  
 ( ( \<cn> if ( A   , A , 𝟬 ) )  B ) = 
 ( ( \<cn> if ( A   , A , 𝟬 ) )  if ( B   , B , 𝟬 ) )" by (rule MMI_opreq2)
   have S7: "B = 
 if ( B   , B , 𝟬 )  
 ( if ( A   , A , 𝟬 )  B ) = 
 ( if ( A   , A , 𝟬 )  if ( B   , B , 𝟬 ) )" by (rule MMI_opreq2)
   from S7 have S8: "B = 
 if ( B   , B , 𝟬 )  
 ( \<cn> ( if ( A   , A , 𝟬 )  B ) ) = 
 ( \<cn> ( if ( A   , A , 𝟬 )  if ( B   , B , 𝟬 ) ) )" by (rule MMI_negeqd)
   from S6 S8 have S9: "B = 
 if ( B   , B , 𝟬 )  
 ( ( ( \<cn> if ( A   , A , 𝟬 ) )  B ) = 
 ( \<cn> ( if ( A   , A , 𝟬 )  B ) )  
 ( ( \<cn> if ( A   , A , 𝟬 ) )  if ( B   , B , 𝟬 ) ) = 
 ( \<cn> ( if ( A   , A , 𝟬 )  if ( B   , B , 𝟬 ) ) ) )" by (rule MMI_eqeq12d)
   have S10: "𝟬  " by (rule MMI_0cn)
   from S10 have S11: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   have S12: "𝟬  " by (rule MMI_0cn)
   from S12 have S13: "if ( B   , B , 𝟬 )  " by (rule MMI_elimel)
   from S11 S13 have S14: "( ( \<cn> if ( A   , A , 𝟬 ) )  if ( B   , B , 𝟬 ) ) = 
 ( \<cn> ( if ( A   , A , 𝟬 )  if ( B   , B , 𝟬 ) ) )" by (rule MMI_mulneg1)
   from S5 S9 S14 show "( A    B   )  
 ( ( (\<cn>  A) )  B ) = 
 ( \<cn> ( A  B ) )" by (rule MMI_dedth2h)
qed

lemma (in MMIsar0) MMI_mulneg2t: 
   shows "( A    B   )  
 ( A  ( (\<cn>  B) ) ) = 
 ( \<cn> ( A  B ) )"
proof -
   have S1: "( B    A   )  
 ( ( (\<cn>  B) )  A ) = 
 ( \<cn> ( B  A ) )" by (rule MMI_mulneg1t)
   from S1 have S2: "( A    B   )  
 ( ( (\<cn>  B) )  A ) = 
 ( \<cn> ( B  A ) )" by (rule MMI_ancoms)
   have S3: "( A    ( (\<cn>  B) )   )  
 ( A  ( (\<cn>  B) ) ) = 
 ( ( (\<cn>  B) )  A )" by (rule MMI_axmulcom)
   have S4: "B    ( (\<cn>  B) )  " by (rule MMI_negclt)
   from S3 S4 have S5: "( A    B   )  
 ( A  ( (\<cn>  B) ) ) = 
 ( ( (\<cn>  B) )  A )" by (rule MMI_sylan2)
   have S6: "( A    B   )  
 ( A  B ) = ( B  A )" by (rule MMI_axmulcom)
   from S6 have S7: "( A    B   )  
 ( \<cn> ( A  B ) ) = 
 ( \<cn> ( B  A ) )" by (rule MMI_negeqd)
   from S2 S5 S7 show "( A    B   )  
 ( A  ( (\<cn>  B) ) ) = 
 ( \<cn> ( A  B ) )" by (rule MMI_3eqtr4d)
qed

lemma (in MMIsar0) MMI_mulneg12t: 
   shows "( A    B   )  
 ( ( (\<cn>  A) )  B ) = 
 ( A  ( (\<cn>  B) ) )"
proof -
   have S1: "( A    B   )  
 ( ( (\<cn>  A) )  B ) = 
 ( \<cn> ( A  B ) )" by (rule MMI_mulneg1t)
   have S2: "( A    B   )  
 ( A  ( (\<cn>  B) ) ) = 
 ( \<cn> ( A  B ) )" by (rule MMI_mulneg2t)
   from S1 S2 show "( A    B   )  
 ( ( (\<cn>  A) )  B ) = 
 ( A  ( (\<cn>  B) ) )" by (rule MMI_eqtr4d)
qed

lemma (in MMIsar0) MMI_mul2negt: 
   shows "( A    B   )  
 ( ( (\<cn>  A) )  ( (\<cn>  B) ) ) = 
 ( A  B )"
proof -
   have S1: "A = 
 if ( A   , A , 𝟬 )  
 ( (\<cn>  A) ) = 
 ( \<cn> if ( A   , A , 𝟬 ) )" by (rule MMI_negeq)
   from S1 have S2: "A = 
 if ( A   , A , 𝟬 )  
 ( ( (\<cn>  A) )  ( (\<cn>  B) ) ) = 
 ( ( \<cn> if ( A   , A , 𝟬 ) )  ( (\<cn>  B) ) )" by (rule MMI_opreq1d)
   have S3: "A = 
 if ( A   , A , 𝟬 )  
 ( A  B ) = 
 ( if ( A   , A , 𝟬 )  B )" by (rule MMI_opreq1)
   from S2 S3 have S4: "A = 
 if ( A   , A , 𝟬 )  
 ( ( ( (\<cn>  A) )  ( (\<cn>  B) ) ) = 
 ( A  B )  
 ( ( \<cn> if ( A   , A , 𝟬 ) )  ( (\<cn>  B) ) ) = 
 ( if ( A   , A , 𝟬 )  B ) )" by (rule MMI_eqeq12d)
   have S5: "B = 
 if ( B   , B , 𝟬 )  
 ( (\<cn>  B) ) = 
 ( \<cn> if ( B   , B , 𝟬 ) )" by (rule MMI_negeq)
   from S5 have S6: "B = 
 if ( B   , B , 𝟬 )  
 ( ( \<cn> if ( A   , A , 𝟬 ) )  ( (\<cn>  B) ) ) = 
 ( ( \<cn> if ( A   , A , 𝟬 ) )  ( \<cn> if ( B   , B , 𝟬 ) ) )" by (rule MMI_opreq2d)
   have S7: "B = 
 if ( B   , B , 𝟬 )  
 ( if ( A   , A , 𝟬 )  B ) = 
 ( if ( A   , A , 𝟬 )  if ( B   , B , 𝟬 ) )" by (rule MMI_opreq2)
   from S6 S7 have S8: "B = 
 if ( B   , B , 𝟬 )  
 ( ( ( \<cn> if ( A   , A , 𝟬 ) )  ( (\<cn>  B) ) ) = 
 ( if ( A   , A , 𝟬 )  B )  
 ( ( \<cn> if ( A   , A , 𝟬 ) )  ( \<cn> if ( B   , B , 𝟬 ) ) ) = 
 ( if ( A   , A , 𝟬 )  if ( B   , B , 𝟬 ) ) )" by (rule MMI_eqeq12d)
   have S9: "𝟬  " by (rule MMI_0cn)
   from S9 have S10: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   have S11: "𝟬  " by (rule MMI_0cn)
   from S11 have S12: "if ( B   , B , 𝟬 )  " by (rule MMI_elimel)
   from S10 S12 have S13: "( ( \<cn> if ( A   , A , 𝟬 ) )  ( \<cn> if ( B   , B , 𝟬 ) ) ) = 
 ( if ( A   , A , 𝟬 )  if ( B   , B , 𝟬 ) )" by (rule MMI_mul2neg)
   from S4 S8 S13 show "( A    B   )  
 ( ( (\<cn>  A) )  ( (\<cn>  B) ) ) = 
 ( A  B )" by (rule MMI_dedth2h)
qed

lemma (in MMIsar0) MMI_negdit: 
   shows "( A    B   )  
 ( \<cn> ( A \<ca> B ) ) = 
 ( ( (\<cn>  A) ) \<ca> ( (\<cn>  B) ) )"
proof -
   have S1: "A = 
 if ( A   , A , 𝟬 )  
 ( A \<ca> B ) = 
 ( if ( A   , A , 𝟬 ) \<ca> B )" by (rule MMI_opreq1)
   from S1 have S2: "A = 
 if ( A   , A , 𝟬 )  
 ( \<cn> ( A \<ca> B ) ) = 
 ( \<cn> ( if ( A   , A , 𝟬 ) \<ca> B ) )" by (rule MMI_negeqd)
   have S3: "A = 
 if ( A   , A , 𝟬 )  
 ( (\<cn>  A) ) = 
 ( \<cn> if ( A   , A , 𝟬 ) )" by (rule MMI_negeq)
   from S3 have S4: "A = 
 if ( A   , A , 𝟬 )  
 ( ( (\<cn>  A) ) \<ca> ( (\<cn>  B) ) ) = 
 ( ( \<cn> if ( A   , A , 𝟬 ) ) \<ca> ( (\<cn>  B) ) )" by (rule MMI_opreq1d)
   from S2 S4 have S5: "A = 
 if ( A   , A , 𝟬 )  
 ( ( \<cn> ( A \<ca> B ) ) = 
 ( ( (\<cn>  A) ) \<ca> ( (\<cn>  B) ) )  
 ( \<cn> ( if ( A   , A , 𝟬 ) \<ca> B ) ) = 
 ( ( \<cn> if ( A   , A , 𝟬 ) ) \<ca> ( (\<cn>  B) ) ) )" by (rule MMI_eqeq12d)
   have S6: "B = 
 if ( B   , B , 𝟬 )  
 ( if ( A   , A , 𝟬 ) \<ca> B ) = 
 ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) )" by (rule MMI_opreq2)
   from S6 have S7: "B = 
 if ( B   , B , 𝟬 )  
 ( \<cn> ( if ( A   , A , 𝟬 ) \<ca> B ) ) = 
 ( \<cn> ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) ) )" by (rule MMI_negeqd)
   have S8: "B = 
 if ( B   , B , 𝟬 )  
 ( (\<cn>  B) ) = 
 ( \<cn> if ( B   , B , 𝟬 ) )" by (rule MMI_negeq)
   from S8 have S9: "B = 
 if ( B   , B , 𝟬 )  
 ( ( \<cn> if ( A   , A , 𝟬 ) ) \<ca> ( (\<cn>  B) ) ) = 
 ( ( \<cn> if ( A   , A , 𝟬 ) ) \<ca> ( \<cn> if ( B   , B , 𝟬 ) ) )" by (rule MMI_opreq2d)
   from S7 S9 have S10: "B = 
 if ( B   , B , 𝟬 )  
 ( ( \<cn> ( if ( A   , A , 𝟬 ) \<ca> B ) ) = 
 ( ( \<cn> if ( A   , A , 𝟬 ) ) \<ca> ( (\<cn>  B) ) )  
 ( \<cn> ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) ) ) = 
 ( ( \<cn> if ( A   , A , 𝟬 ) ) \<ca> ( \<cn> if ( B   , B , 𝟬 ) ) ) )" by (rule MMI_eqeq12d)
   have S11: "𝟬  " by (rule MMI_0cn)
   from S11 have S12: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   have S13: "𝟬  " by (rule MMI_0cn)
   from S13 have S14: "if ( B   , B , 𝟬 )  " by (rule MMI_elimel)
   from S12 S14 have S15: "( \<cn> ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) ) ) = 
 ( ( \<cn> if ( A   , A , 𝟬 ) ) \<ca> ( \<cn> if ( B   , B , 𝟬 ) ) )" by (rule MMI_negdi)
   from S5 S10 S15 show "( A    B   )  
 ( \<cn> ( A \<ca> B ) ) = 
 ( ( (\<cn>  A) ) \<ca> ( (\<cn>  B) ) )" by (rule MMI_dedth2h)
qed

(************121 -130************************************)

lemma (in MMIsar0) MMI_negdi2t: 
   shows "( A    B   )  
 ( \<cn> ( A \<ca> B ) ) = ( ( (\<cn>  A) ) \<cs> B )"
proof -
   have S1: "( A    B   )  
 ( \<cn> ( A \<ca> B ) ) = 
 ( ( (\<cn>  A) ) \<ca> ( (\<cn>  B) ) )" by (rule MMI_negdit)
   have S2: "( ( (\<cn>  A) )    B   )  
 ( ( (\<cn>  A) ) \<ca> ( (\<cn>  B) ) ) = 
 ( ( (\<cn>  A) ) \<cs> B )" by (rule MMI_negsubt)
   have S3: "A    ( (\<cn>  A) )  " by (rule MMI_negclt)
   from S2 S3 have S4: "( A    B   )  
 ( ( (\<cn>  A) ) \<ca> ( (\<cn>  B) ) ) = 
 ( ( (\<cn>  A) ) \<cs> B )" by (rule MMI_sylan)
   from S1 S4 show "( A    B   )  
 ( \<cn> ( A \<ca> B ) ) = ( ( (\<cn>  A) ) \<cs> B )"
 by (rule MMI_eqtrd)
qed

lemma (in MMIsar0) MMI_negsubdit: 
   shows "( A    B   )  
 ( \<cn> ( A \<cs> B ) ) = ( ( (\<cn>  A) ) \<ca> B )"
proof -
   have S1: "( A    ( (\<cn>  B) )   )  
 ( \<cn> ( A \<ca> ( (\<cn>  B) ) ) ) = 
 ( ( (\<cn>  A) ) \<ca> ( \<cn> ( (\<cn>  B) ) ) )" by (rule MMI_negdit)
   have S2: "B    ( (\<cn>  B) )  " by (rule MMI_negclt)
   from S1 S2 have S3: "( A    B   )  
 ( \<cn> ( A \<ca> ( (\<cn>  B) ) ) ) = 
 ( ( (\<cn>  A) ) \<ca> ( \<cn> ( (\<cn>  B) ) ) )" by (rule MMI_sylan2)
   have S4: "( A    B   )  
 ( A \<ca> ( (\<cn>  B) ) ) = ( A \<cs> B )" by (rule MMI_negsubt)
   from S4 have S5: "( A    B   )  
 ( \<cn> ( A \<ca> ( (\<cn>  B) ) ) ) = 
 ( \<cn> ( A \<cs> B ) )" by (rule MMI_negeqd)
   have S6: "B    ( \<cn> ( (\<cn>  B) ) ) = B" by (rule MMI_negnegt)
   from S6 have S7: "( A    B   )  ( \<cn> ( (\<cn>  B) ) ) = B" 
     by (rule MMI_adantl)
   from S7 have S8: "( A    B   )  
 ( ( (\<cn>  A) ) \<ca> ( \<cn> ( (\<cn>  B) ) ) ) = 
 ( ( (\<cn>  A) ) \<ca> B )" by (rule MMI_opreq2d)
   from S3 S5 S8 show "( A    B   )  
 ( \<cn> ( A \<cs> B ) ) = ( ( (\<cn>  A) ) \<ca> B )"
 by (rule MMI_3eqtr3d)
qed

lemma (in MMIsar0) MMI_negsubdi2t: 
   shows "( A    B   )  
 ( \<cn> ( A \<cs> B ) ) = ( B \<cs> A )"
proof -
   have S1: "( A    B   )  
 ( \<cn> ( A \<cs> B ) ) = ( ( (\<cn>  A) ) \<ca> B )" by (rule MMI_negsubdit)
   have S2: "( ( (\<cn>  A) )    B   )  
 ( ( (\<cn>  A) ) \<ca> B ) = ( B \<ca> ( (\<cn>  A) ) )" by (rule MMI_axaddcom)
   have S3: "A    ( (\<cn>  A) )  " by (rule MMI_negclt)
   from S2 S3 have S4: "( A    B   )  
 ( ( (\<cn>  A) ) \<ca> B ) = ( B \<ca> ( (\<cn>  A) ) )" by (rule MMI_sylan)
   have S5: "( B    A   )  
 ( B \<ca> ( (\<cn>  A) ) ) = ( B \<cs> A )" by (rule MMI_negsubt)
   from S5 have S6: "( A    B   )  
 ( B \<ca> ( (\<cn>  A) ) ) = ( B \<cs> A )" by (rule MMI_ancoms)
   from S1 S4 S6 show "( A    B   )  
 ( \<cn> ( A \<cs> B ) ) = ( B \<cs> A )"
 by (rule MMI_3eqtrd)
qed

lemma (in MMIsar0) MMI_subsub2t: 
   shows "( A    B    C   )  
 ( A \<cs> ( B \<cs> C ) ) = ( A \<ca> ( C \<cs> B ) )"
proof -
   have S1: "( A    ( B \<cs> C )   )  
 ( A \<ca> ( \<cn> ( B \<cs> C ) ) ) = 
 ( A \<cs> ( B \<cs> C ) )" by (rule MMI_negsubt)
   have S2: "( B    C   )  ( B \<cs> C )  " by (rule MMI_subclt)
   from S1 S2 have S3: "( A    ( B    C   ) )  
 ( A \<ca> ( \<cn> ( B \<cs> C ) ) ) = 
 ( A \<cs> ( B \<cs> C ) )" by (rule MMI_sylan2)
   from S3 have S4: "( A    B    C   )  
 ( A \<ca> ( \<cn> ( B \<cs> C ) ) ) = 
 ( A \<cs> ( B \<cs> C ) )" by (rule MMI_3impb)
   have S5: "( B    C   )  
 ( \<cn> ( B \<cs> C ) ) = ( C \<cs> B )" by (rule MMI_negsubdi2t)
   from S5 have S6: "( B    C   )  
 ( A \<ca> ( \<cn> ( B \<cs> C ) ) ) = 
 ( A \<ca> ( C \<cs> B ) )" by (rule MMI_opreq2d)
   from S6 have S7: "( A    B    C   )  
 ( A \<ca> ( \<cn> ( B \<cs> C ) ) ) = 
 ( A \<ca> ( C \<cs> B ) )" by (rule MMI_3adant1)
   from S4 S7 show "( A    B    C   )  
 ( A \<cs> ( B \<cs> C ) ) = ( A \<ca> ( C \<cs> B ) )"
 by (rule MMI_eqtr3d)
qed

lemma (in MMIsar0) MMI_subsubt: 
   shows "( A    B    C   )  
 ( A \<cs> ( B \<cs> C ) ) = ( ( A \<cs> B ) \<ca> C )"
proof -
   have S1: "( A    B    C   )  
 ( A \<cs> ( B \<cs> C ) ) = ( A \<ca> ( C \<cs> B ) )" by (rule MMI_subsub2t)
   have S2: "( A    C    B   )  
 ( ( A \<ca> C ) \<cs> B ) = ( A \<ca> ( C \<cs> B ) )" by (rule MMI_addsubasst)
   have S3: "( A    C    B   )  
 ( ( A \<ca> C ) \<cs> B ) = ( ( A \<cs> B ) \<ca> C )" by (rule MMI_addsubt)
   from S2 S3 have S4: "( A    C    B   )  
 ( A \<ca> ( C \<cs> B ) ) = ( ( A \<cs> B ) \<ca> C )" by (rule MMI_eqtr3d)
   from S4 have S5: "( A    B    C   )  
 ( A \<ca> ( C \<cs> B ) ) = ( ( A \<cs> B ) \<ca> C )" by (rule MMI_3com23)
   from S1 S5 show "( A    B    C   )  
 ( A \<cs> ( B \<cs> C ) ) = ( ( A \<cs> B ) \<ca> C )"
 by (rule MMI_eqtrd)
qed

lemma (in MMIsar0) MMI_subsub3t: 
   shows "( A    B    C   )  
 ( A \<cs> ( B \<cs> C ) ) = ( ( A \<ca> C ) \<cs> B )"
proof -
   have S1: "( A    B    C   )  
 ( A \<cs> ( B \<cs> C ) ) = ( A \<ca> ( C \<cs> B ) )" by (rule MMI_subsub2t)
   have S2: "( A    C    B   )  
 ( ( A \<ca> C ) \<cs> B ) = ( A \<ca> ( C \<cs> B ) )" by (rule MMI_addsubasst)
   from S2 have S3: "( A    B    C   )  
 ( ( A \<ca> C ) \<cs> B ) = ( A \<ca> ( C \<cs> B ) )" by (rule MMI_3com23)
   from S1 S3 show "( A    B    C   )  
 ( A \<cs> ( B \<cs> C ) ) = ( ( A \<ca> C ) \<cs> B )"
 by (rule MMI_eqtr4d)
qed

lemma (in MMIsar0) MMI_subsub4t: 
   shows "( A    B    C   )  
 ( ( A \<cs> B ) \<cs> C ) = ( A \<cs> ( B \<ca> C ) )"
proof -
   have S1: "( A    B    ( \<cn> C )   )  
 ( A \<cs> ( B \<cs> ( \<cn> C ) ) ) = 
 ( ( A \<cs> B ) \<ca> ( \<cn> C ) )" by (rule MMI_subsubt)
   have S2: "C    ( \<cn> C )  " by (rule MMI_negclt)
   from S1 S2 have S3: "( A    B    C   )  
 ( A \<cs> ( B \<cs> ( \<cn> C ) ) ) = 
 ( ( A \<cs> B ) \<ca> ( \<cn> C ) )" by (rule MMI_syl3an3)
   have S4: "( B    C   )  
 ( B \<cs> ( \<cn> C ) ) = ( B \<ca> C )" by (rule MMI_subnegt)
   from S4 have S5: "( A    B    C   )  
 ( B \<cs> ( \<cn> C ) ) = ( B \<ca> C )" by (rule MMI_3adant1)
   from S5 have S6: "( A    B    C   )  
 ( A \<cs> ( B \<cs> ( \<cn> C ) ) ) = 
 ( A \<cs> ( B \<ca> C ) )" by (rule MMI_opreq2d)
   have S7: "( ( A \<cs> B )    C   )  
 ( ( A \<cs> B ) \<ca> ( \<cn> C ) ) = 
 ( ( A \<cs> B ) \<cs> C )" by (rule MMI_negsubt)
   have S8: "( A    B   )  ( A \<cs> B )  " by (rule MMI_subclt)
   from S7 S8 have S9: "( ( A    B   )  C   )  
 ( ( A \<cs> B ) \<ca> ( \<cn> C ) ) = 
 ( ( A \<cs> B ) \<cs> C )" by (rule MMI_sylan)
   from S9 have S10: "( A    B    C   )  
 ( ( A \<cs> B ) \<ca> ( \<cn> C ) ) = 
 ( ( A \<cs> B ) \<cs> C )" by (rule MMI_3impa)
   from S3 S6 S10 show "( A    B    C   )  
 ( ( A \<cs> B ) \<cs> C ) = ( A \<cs> ( B \<ca> C ) )"
 by (rule MMI_3eqtr3rd)
qed

lemma (in MMIsar0) MMI_sub23t: 
   shows "( A    B    C   )  
 ( ( A \<cs> B ) \<cs> C ) = ( ( A \<cs> C ) \<cs> B )"
proof -
   have S1: "( B    C   )  
 ( B \<ca> C ) = ( C \<ca> B )" by (rule MMI_axaddcom)
   from S1 have S2: "( A    B    C   )  
 ( B \<ca> C ) = ( C \<ca> B )" by (rule MMI_3adant1)
   from S2 have S3: "( A    B    C   )  
 ( A \<cs> ( B \<ca> C ) ) = ( A \<cs> ( C \<ca> B ) )" by (rule MMI_opreq2d)
   have S4: "( A    B    C   )  
 ( ( A \<cs> B ) \<cs> C ) = ( A \<cs> ( B \<ca> C ) )" by (rule MMI_subsub4t)
   have S5: "( A    C    B   )  
 ( ( A \<cs> C ) \<cs> B ) = ( A \<cs> ( C \<ca> B ) )" by (rule MMI_subsub4t)
   from S5 have S6: "( A    B    C   )  
 ( ( A \<cs> C ) \<cs> B ) = ( A \<cs> ( C \<ca> B ) )" by (rule MMI_3com23)
   from S3 S4 S6 show "( A    B    C   )  
 ( ( A \<cs> B ) \<cs> C ) = ( ( A \<cs> C ) \<cs> B )"
 by (rule MMI_3eqtr4d)
qed

lemma (in MMIsar0) MMI_nnncant: 
   shows "( A    B    C   )  
 ( ( A \<cs> ( B \<cs> C ) ) \<cs> C ) = ( A \<cs> B )"
proof -
   have S1: "( A    ( B \<cs> C )    C   )  
 ( ( A \<cs> ( B \<cs> C ) ) \<cs> C ) = 
 ( A \<cs> ( ( B \<cs> C ) \<ca> C ) )" by (rule MMI_subsub4t)
   have S2: "( A    B    C   )  A  " by (rule MMI_3simp1)
   have S3: "( B    C   )  ( B \<cs> C )  " by (rule MMI_subclt)
   from S3 have S4: "( A    B    C   )  
 ( B \<cs> C )  " by (rule MMI_3adant1)
   have S5: "( A    B    C   )  C  " by (rule MMI_3simp3)
   from S1 S2 S4 S5 have S6: "( A    B    C   )  
 ( ( A \<cs> ( B \<cs> C ) ) \<cs> C ) = 
 ( A \<cs> ( ( B \<cs> C ) \<ca> C ) )" by (rule MMI_syl3anc)
   have S7: "( B    C   )  
 ( ( B \<cs> C ) \<ca> C ) = B" by (rule MMI_npcant)
   from S7 have S8: "( B    C   )  
 ( A \<cs> ( ( B \<cs> C ) \<ca> C ) ) = ( A \<cs> B )" by (rule MMI_opreq2d)
   from S8 have S9: "( A    B    C   )  
 ( A \<cs> ( ( B \<cs> C ) \<ca> C ) ) = ( A \<cs> B )" by (rule MMI_3adant1)
   from S6 S9 show "( A    B    C   )  
 ( ( A \<cs> ( B \<cs> C ) ) \<cs> C ) = ( A \<cs> B )"
 by (rule MMI_eqtrd)
qed

lemma (in MMIsar0) MMI_nnncan1t: 
   shows "( A    B    C   )  
 ( ( A \<cs> B ) \<cs> ( A \<cs> C ) ) = ( C \<cs> B )"
proof -
   have S1: "( ( A \<cs> B )    ( A \<cs> C )   )  
 ( ( A \<cs> B ) \<ca> ( \<cn> ( A \<cs> C ) ) ) = 
 ( ( A \<cs> B ) \<cs> ( A \<cs> C ) )" by (rule MMI_negsubt)
   have S2: "( ( A \<cs> B )    ( \<cn> ( A \<cs> C ) )   )  
 ( ( A \<cs> B ) \<ca> ( \<cn> ( A \<cs> C ) ) ) = 
 ( ( \<cn> ( A \<cs> C ) ) \<ca> ( A \<cs> B ) )" by (rule MMI_axaddcom)
   have S3: "( A \<cs> C )    ( \<cn> ( A \<cs> C ) )  " 
     by (rule MMI_negclt)
   from S2 S3 have S4: "( ( A \<cs> B )    ( A \<cs> C )   )  
 ( ( A \<cs> B ) \<ca> ( \<cn> ( A \<cs> C ) ) ) = 
 ( ( \<cn> ( A \<cs> C ) ) \<ca> ( A \<cs> B ) )" by (rule MMI_sylan2)
   from S1 S4 have S5: "( ( A \<cs> B )    ( A \<cs> C )   )  
 ( ( A \<cs> B ) \<cs> ( A \<cs> C ) ) = 
 ( ( \<cn> ( A \<cs> C ) ) \<ca> ( A \<cs> B ) )" by (rule MMI_eqtr3d)
   have S6: "( A    B   )  ( A \<cs> B )  " by (rule MMI_subclt)
   from S6 have S7: "( A    B    C   )  
 ( A \<cs> B )  " by (rule MMI_3adant3)
   have S8: "( A    C   )  ( A \<cs> C )  " by (rule MMI_subclt)
   from S8 have S9: "( A    B    C   )  
 ( A \<cs> C )  " by (rule MMI_3adant2)
   from S5 S7 S9 have S10: "( A    B    C   )  
 ( ( A \<cs> B ) \<cs> ( A \<cs> C ) ) = 
 ( ( \<cn> ( A \<cs> C ) ) \<ca> ( A \<cs> B ) )" by (rule MMI_sylanc)
   have S11: "( A    C   )  
 ( \<cn> ( A \<cs> C ) ) = ( C \<cs> A )" by (rule MMI_negsubdi2t)
   from S11 have S12: "( A    B    C   )  
 ( \<cn> ( A \<cs> C ) ) = ( C \<cs> A )" by (rule MMI_3adant2)
   from S12 have S13: "( A    B    C   )  
 ( ( \<cn> ( A \<cs> C ) ) \<ca> ( A \<cs> B ) ) = 
 ( ( C \<cs> A ) \<ca> ( A \<cs> B ) )" by (rule MMI_opreq1d)
   have S14: "( C    A    B   )  
 ( ( C \<cs> A ) \<ca> ( A \<cs> B ) ) = ( C \<cs> B )" by (rule MMI_npncant)
   from S14 have S15: "( A    B    C   )  
 ( ( C \<cs> A ) \<ca> ( A \<cs> B ) ) = ( C \<cs> B )" by (rule MMI_3coml)
   from S10 S13 S15 show "( A    B    C   )  
 ( ( A \<cs> B ) \<cs> ( A \<cs> C ) ) = ( C \<cs> B )"
 by (rule MMI_3eqtrd)
qed

(*****131-140***************************************)

lemma (in MMIsar0) MMI_nnncan2t: 
   shows "( A    B    C   )  
 ( ( A \<cs> C ) \<cs> ( B \<cs> C ) ) = ( A \<cs> B )"
proof -
   have S1: "( A    ( B \<cs> C )    C   )  
 ( ( A \<cs> ( B \<cs> C ) ) \<cs> C ) = 
 ( ( A \<cs> C ) \<cs> ( B \<cs> C ) )" by (rule MMI_sub23t)
   have S2: "( A    B    C   )  A  " by (rule MMI_3simp1)
   have S3: "( B    C   )  ( B \<cs> C )  " by (rule MMI_subclt)
   from S3 have S4: "( A    B    C   )  
 ( B \<cs> C )  " by (rule MMI_3adant1)
   have S5: "( A    B    C   )  C  " by (rule MMI_3simp3)
   from S1 S2 S4 S5 have S6: "( A    B    C   )  
 ( ( A \<cs> ( B \<cs> C ) ) \<cs> C ) = 
 ( ( A \<cs> C ) \<cs> ( B \<cs> C ) )" by (rule MMI_syl3anc)
   have S7: "( A    B    C   )  
 ( ( A \<cs> ( B \<cs> C ) ) \<cs> C ) = ( A \<cs> B )" by (rule MMI_nnncant)
   from S6 S7 show "( A    B    C   )  
 ( ( A \<cs> C ) \<cs> ( B \<cs> C ) ) = ( A \<cs> B )" by (rule MMI_eqtr3d)
qed

lemma (in MMIsar0) MMI_nncant: 
   shows "( A    B   )  
 ( A \<cs> ( A \<cs> B ) ) = B"
proof -
   have S1: "𝟬  " by (rule MMI_0cn)
   have S2: "( A    𝟬    B   )  
 ( ( A \<cs> 𝟬 ) \<cs> ( A \<cs> B ) ) = ( B \<cs> 𝟬 )" by (rule MMI_nnncan1t)
   from S1 S2 have S3: "( A    B   )  
 ( ( A \<cs> 𝟬 ) \<cs> ( A \<cs> B ) ) = ( B \<cs> 𝟬 )" by (rule MMI_mp3an2)
   have S4: "A    ( A \<cs> 𝟬 ) = A" by (rule MMI_subid1t)
   from S4 have S5: "( A    B   )  ( A \<cs> 𝟬 ) = A" 
     by (rule MMI_adantr)
   from S5 have S6: "( A    B   )  
 ( ( A \<cs> 𝟬 ) \<cs> ( A \<cs> B ) ) = 
 ( A \<cs> ( A \<cs> B ) )" by (rule MMI_opreq1d)
   have S7: "B    ( B \<cs> 𝟬 ) = B" by (rule MMI_subid1t)
   from S7 have S8: "( A    B   )  ( B \<cs> 𝟬 ) = B" 
     by (rule MMI_adantl)
   from S3 S6 S8 show "( A    B   )  
 ( A \<cs> ( A \<cs> B ) ) = B" by (rule MMI_3eqtr3d)
qed

lemma (in MMIsar0) MMI_nppcan2t: 
   shows "( A    B    C   )  
 ( ( A \<cs> ( B \<ca> C ) ) \<ca> C ) = ( A \<cs> B )"
proof -
   have S1: "( A    ( B \<ca> C )    C   )  
 ( A \<cs> ( ( B \<ca> C ) \<cs> C ) ) = 
 ( ( A \<cs> ( B \<ca> C ) ) \<ca> C )" by (rule MMI_subsubt)
   have S2: "( A    B    C   )  A  " by (rule MMI_3simp1)
   have S3: "( B    C   )  ( B \<ca> C )  " by (rule MMI_axaddcl)
   from S3 have S4: "( A    B    C   )  
 ( B \<ca> C )  " by (rule MMI_3adant1)
   have S5: "( A    B    C   )  C  " by (rule MMI_3simp3)
   from S1 S2 S4 S5 have S6: "( A    B    C   )  
 ( A \<cs> ( ( B \<ca> C ) \<cs> C ) ) = 
 ( ( A \<cs> ( B \<ca> C ) ) \<ca> C )" by (rule MMI_syl3anc)
   have S7: "( B    C   )  
 ( ( B \<ca> C ) \<cs> C ) = B" by (rule MMI_pncant)
   from S7 have S8: "( A    B    C   )  
 ( ( B \<ca> C ) \<cs> C ) = B" by (rule MMI_3adant1)
   from S8 have S9: "( A    B    C   )  
 ( A \<cs> ( ( B \<ca> C ) \<cs> C ) ) = ( A \<cs> B )" by (rule MMI_opreq2d)
   from S6 S9 show "( A    B    C   )  
 ( ( A \<cs> ( B \<ca> C ) ) \<ca> C ) = ( A \<cs> B )" by (rule MMI_eqtr3d)
qed

lemma (in MMIsar0) MMI_mulm1t: 
   shows "A    ( ( \<cn> 𝟭 )  A ) = ( (\<cn>  A) )"
proof -
   have S1: "𝟭  " by (rule MMI_1cn)
   have S2: "( 𝟭    A   )  
 ( ( \<cn> 𝟭 )  A ) = ( \<cn> ( 𝟭  A ) )" by (rule MMI_mulneg1t)
   from S1 S2 have S3: "A    
 ( ( \<cn> 𝟭 )  A ) = ( \<cn> ( 𝟭  A ) )" by (rule MMI_mpan)
   have S4: "A    ( 𝟭  A ) = A" by (rule MMI_mulid2t)
   from S4 have S5: "A    ( \<cn> ( 𝟭  A ) ) = ( (\<cn>  A) )" 
     by (rule MMI_negeqd)
   from S3 S5 show "A    ( ( \<cn> 𝟭 )  A ) = ( (\<cn>  A) )" 
     by (rule MMI_eqtrd)
qed

lemma (in MMIsar0) MMI_mulm1: assumes A1: "A  "   
   shows "( ( \<cn> 𝟭 )  A ) = ( (\<cn>  A) )"
proof -
   from A1 have S1: "A  ".
   have S2: "A    ( ( \<cn> 𝟭 )  A ) = ( (\<cn>  A) )" by (rule MMI_mulm1t)
   from S1 S2 show "( ( \<cn> 𝟭 )  A ) = ( (\<cn>  A) )" by (rule MMI_ax_mp)
qed

lemma (in MMIsar0) MMI_sub4t: 
   shows "( ( A    B   )  ( C    D   ) )  
 ( ( A \<ca> B ) \<cs> ( C \<ca> D ) ) = 
 ( ( A \<cs> C ) \<ca> ( B \<cs> D ) )"
proof -
   have S1: "( C    D   )  
 ( \<cn> ( C \<ca> D ) ) = 
 ( ( \<cn> C ) \<ca> ( \<cn> D ) )" by (rule MMI_negdit)
   from S1 have S2: "( ( A    B   )  ( C    D   ) )  
 ( \<cn> ( C \<ca> D ) ) = 
 ( ( \<cn> C ) \<ca> ( \<cn> D ) )" by (rule MMI_adantl)
   from S2 have S3: "( ( A    B   )  ( C    D   ) )  
 ( ( A \<ca> B ) \<ca> ( \<cn> ( C \<ca> D ) ) ) = 
 ( ( A \<ca> B ) \<ca> ( ( \<cn> C ) \<ca> ( \<cn> D ) ) )" 
     by (rule MMI_opreq2d)
   have S4: 
     "( ( A    B   )  ( ( \<cn> C )    ( \<cn> D )   ) )  
 ( ( A \<ca> B ) \<ca> ( ( \<cn> C ) \<ca> ( \<cn> D ) ) ) = 
 ( ( A \<ca> ( \<cn> C ) ) \<ca> ( B \<ca> ( \<cn> D ) ) )" by (rule MMI_add4t)
   have S5: "C    ( \<cn> C )  " by (rule MMI_negclt)
   have S6: "D    ( \<cn> D )  " by (rule MMI_negclt)
   from S5 S6 have S7: "( C    D   )  
 ( ( \<cn> C )    ( \<cn> D )   )" by (rule MMI_anim12i)
   from S4 S7 have S8: "( ( A    B   )  ( C    D   ) )  
 ( ( A \<ca> B ) \<ca> ( ( \<cn> C ) \<ca> ( \<cn> D ) ) ) = 
 ( ( A \<ca> ( \<cn> C ) ) \<ca> ( B \<ca> ( \<cn> D ) ) )" by (rule MMI_sylan2)
   from S3 S8 have S9: "( ( A    B   )  ( C    D   ) )  
 ( ( A \<ca> B ) \<ca> ( \<cn> ( C \<ca> D ) ) ) = 
 ( ( A \<ca> ( \<cn> C ) ) \<ca> ( B \<ca> ( \<cn> D ) ) )" by (rule MMI_eqtrd)
   have S10: "( ( A \<ca> B )    ( C \<ca> D )   )  
 ( ( A \<ca> B ) \<ca> ( \<cn> ( C \<ca> D ) ) ) = 
 ( ( A \<ca> B ) \<cs> ( C \<ca> D ) )" by (rule MMI_negsubt)
   have S11: "( A    B   )  ( A \<ca> B )  " by (rule MMI_axaddcl)
   have S12: "( C    D   )  ( C \<ca> D )  " by (rule MMI_axaddcl)
   from S10 S11 S12 have S13: 
     "( ( A    B   )  ( C    D   ) )  
 ( ( A \<ca> B ) \<ca> ( \<cn> ( C \<ca> D ) ) ) = 
 ( ( A \<ca> B ) \<cs> ( C \<ca> D ) )" by (rule MMI_syl2an)
   have S14: "( A    C   )  
 ( A \<ca> ( \<cn> C ) ) = ( A \<cs> C )" by (rule MMI_negsubt)
   from S14 have S15: "( ( A    B   )  ( C    D   ) )  
 ( A \<ca> ( \<cn> C ) ) = ( A \<cs> C )" by (rule MMI_ad2ant2r)
   have S16: "( B    D   )  
 ( B \<ca> ( \<cn> D ) ) = ( B \<cs> D )" by (rule MMI_negsubt)
   from S16 have S17: "( ( A    B   )  ( C    D   ) )  
 ( B \<ca> ( \<cn> D ) ) = ( B \<cs> D )" by (rule MMI_ad2ant2l)
   from S15 S17 have S18: "( ( A    B   )  ( C    D   ) )  
 ( ( A \<ca> ( \<cn> C ) ) \<ca> ( B \<ca> ( \<cn> D ) ) ) = 
 ( ( A \<cs> C ) \<ca> ( B \<cs> D ) )" by (rule MMI_opreq12d)
   from S9 S13 S18 show "( ( A    B   )  ( C    D   ) )  
 ( ( A \<ca> B ) \<cs> ( C \<ca> D ) ) = 
 ( ( A \<cs> C ) \<ca> ( B \<cs> D ) )" by (rule MMI_3eqtr3d)
qed

lemma (in MMIsar0) MMI_sub4: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  " and
    A4: "D  "   
   shows "( ( A \<ca> B ) \<cs> ( C \<ca> D ) ) = 
 ( ( A \<cs> C ) \<ca> ( B \<cs> D ) )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from S1 S2 have S3: "A    B  " by (rule MMI_pm3_2i)
   from A3 have S4: "C  ".
   from A4 have S5: "D  ".
   from S4 S5 have S6: "C    D  " by (rule MMI_pm3_2i)
   have S7: "( ( A    B   )  ( C    D   ) )  
 ( ( A \<ca> B ) \<cs> ( C \<ca> D ) ) = 
 ( ( A \<cs> C ) \<ca> ( B \<cs> D ) )" by (rule MMI_sub4t)
   from S3 S6 S7 show "( ( A \<ca> B ) \<cs> ( C \<ca> D ) ) = 
 ( ( A \<cs> C ) \<ca> ( B \<cs> D ) )" by (rule MMI_mp2an)
qed

lemma (in MMIsar0) MMI_mulsubt: 
   shows "( ( A    B   )  ( C    D   ) )  
 ( ( A \<cs> B )  ( C \<cs> D ) ) = 
 ( ( ( A  C ) \<ca> ( D  B ) ) \<cs> ( ( A  D ) \<ca> ( C  B ) ) )"
proof -
   have S1: "( A    B   )  
 ( A \<ca> ( (\<cn>  B) ) ) = ( A \<cs> B )" by (rule MMI_negsubt)
   have S2: "( C    D   )  
 ( C \<ca> ( \<cn> D ) ) = ( C \<cs> D )" by (rule MMI_negsubt)
   from S1 S2 have S3: "( ( A    B   )  ( C    D   ) )  
 ( ( A \<ca> ( (\<cn>  B) ) )  ( C \<ca> ( \<cn> D ) ) ) = 
 ( ( A \<cs> B )  ( C \<cs> D ) )" by (rule MMI_opreqan12d)
   have S4: "( ( A    ( (\<cn>  B) )   )  ( C    ( \<cn> D )   ) )  
 ( ( A \<ca> ( (\<cn>  B) ) )  ( C \<ca> ( \<cn> D ) ) ) = 
 ( ( ( A  C ) \<ca> ( ( \<cn> D )  ( (\<cn>  B) ) ) ) \<ca> ( ( A  ( \<cn> D ) ) \<ca> ( C  ( (\<cn>  B) ) ) ) )" by (rule MMI_muladdt)
   have S5: "D    ( \<cn> D )  " by (rule MMI_negclt)
   from S4 S5 have S6: "( ( A    ( (\<cn>  B) )   )  ( C    D   ) )  
 ( ( A \<ca> ( (\<cn>  B) ) )  ( C \<ca> ( \<cn> D ) ) ) = 
 ( ( ( A  C ) \<ca> ( ( \<cn> D )  ( (\<cn>  B) ) ) ) \<ca> 
     ( ( A  ( \<cn> D ) ) \<ca> ( C  ( (\<cn>  B) ) ) ) )" by (rule MMI_sylanr2)
   have S7: "B    ( (\<cn>  B) )  " by (rule MMI_negclt)
   from S6 S7 have S8: "( ( A    B   )  ( C    D   ) )  
 ( ( A \<ca> ( (\<cn>  B) ) )  ( C \<ca> ( \<cn> D ) ) ) = 
 ( ( ( A  C ) \<ca> ( ( \<cn> D )  ( (\<cn>  B) ) ) ) 
     \<ca> ( ( A  ( \<cn> D ) ) \<ca> ( C  ( (\<cn>  B) ) ) ) )" 
     by (rule MMI_sylanl2)
   have S9: "( D    B   )  
 ( ( \<cn> D )  ( (\<cn>  B) ) ) = ( D  B )" by (rule MMI_mul2negt)
   from S9 have S10: "( B    D   )  
 ( ( \<cn> D )  ( (\<cn>  B) ) ) = ( D  B )" by (rule MMI_ancoms)
   from S10 have S11: "( B    D   )  
 ( ( A  C ) \<ca> ( ( \<cn> D )  ( (\<cn>  B) ) ) ) = 
 ( ( A  C ) \<ca> ( D  B ) )" by (rule MMI_opreq2d)
   from S11 have S12: "( ( A    B   )  ( C    D   ) )  
 ( ( A  C ) \<ca> ( ( \<cn> D )  ( (\<cn>  B) ) ) ) = 
 ( ( A  C ) \<ca> ( D  B ) )" by (rule MMI_ad2ant2l)
   have S13: "( A    D   )  
 ( A  ( \<cn> D ) ) = ( \<cn> ( A  D ) )" by (rule MMI_mulneg2t)
   have S14: "( C    B   )  
 ( C  ( (\<cn>  B) ) ) = ( \<cn> ( C  B ) )" by (rule MMI_mulneg2t)
   from S13 S14 have S15: "( ( A    D   )  ( C    B   ) )  
 ( ( A  ( \<cn> D ) ) \<ca> ( C  ( (\<cn>  B) ) ) ) = 
 ( ( \<cn> ( A  D ) ) \<ca> ( \<cn> ( C  B ) ) )" by (rule MMI_opreqan12d)
   have S16: "( ( A  D )    ( C  B )   )  
 ( \<cn> ( ( A  D ) \<ca> ( C  B ) ) ) = 
 ( ( \<cn> ( A  D ) ) \<ca> ( \<cn> ( C  B ) ) )" by (rule MMI_negdit)
   have S17: "( A    D   )  ( A  D )  " by (rule MMI_axmulcl)
   have S18: "( C    B   )  ( C  B )  " by (rule MMI_axmulcl)
   from S16 S17 S18 have S19: 
     "( ( A    D   )  ( C    B   ) )  
 ( \<cn> ( ( A  D ) \<ca> ( C  B ) ) ) = 
 ( ( \<cn> ( A  D ) ) \<ca> ( \<cn> ( C  B ) ) )" by (rule MMI_syl2an)
   from S15 S19 have S20: "( ( A    D   )  ( C    B   ) )  
 ( ( A  ( \<cn> D ) ) \<ca> ( C  ( (\<cn>  B) ) ) ) = 
 ( \<cn> ( ( A  D ) \<ca> ( C  B ) ) )" by (rule MMI_eqtr4d)
   from S20 have S21: "( ( A    D   )  ( B    C   ) )  
 ( ( A  ( \<cn> D ) ) \<ca> ( C  ( (\<cn>  B) ) ) ) = 
 ( \<cn> ( ( A  D ) \<ca> ( C  B ) ) )" by (rule MMI_ancom2s)
   from S21 have S22: "( ( A    B   )  ( C    D   ) )  
 ( ( A  ( \<cn> D ) ) \<ca> ( C  ( (\<cn>  B) ) ) ) = 
 ( \<cn> ( ( A  D ) \<ca> ( C  B ) ) )" by (rule MMI_an42s)
   from S12 S22 have S23: "( ( A    B   )  ( C    D   ) )  
 ( ( ( A  C ) \<ca> ( ( \<cn> D )  ( (\<cn>  B) ) ) ) \<ca> 
     ( ( A  ( \<cn> D ) ) \<ca> ( C  ( (\<cn>  B) ) ) ) ) = 
 ( ( ( A  C ) \<ca> ( D  B ) ) \<ca> ( \<cn> ( ( A  D ) \<ca> 
     ( C  B ) ) ) )" by (rule MMI_opreq12d)
   have S24: "( ( ( A  C ) \<ca> ( D  B ) )    ( ( A  D ) \<ca> 
     ( C  B ) )   )  
 ( ( ( A  C ) \<ca> ( D  B ) ) \<ca> ( \<cn> ( ( A  D ) \<ca> ( C  B ) ) ) ) = 
 ( ( ( A  C ) \<ca> ( D  B ) ) \<cs> ( ( A  D ) \<ca> ( C  B ) ) )" 
     by (rule MMI_negsubt)
   have S25: "( ( A  C )    ( D  B )   )  
 ( ( A  C ) \<ca> ( D  B ) )  " by (rule MMI_axaddcl)
   have S26: "( A    C   )  ( A  C )  " by (rule MMI_axmulcl)
   have S27: "( D    B   )  ( D  B )  " by (rule MMI_axmulcl)
   from S27 have S28: "( B    D   )  ( D  B )  " 
     by (rule MMI_ancoms)
   from S25 S26 S28 have S29: 
     "( ( A    C   )  ( B    D   ) )  
 ( ( A  C ) \<ca> ( D  B ) )  " by (rule MMI_syl2an)
   from S29 have S30: "( ( A    B   )  ( C    D   ) )  
 ( ( A  C ) \<ca> ( D  B ) )  " by (rule MMI_an4s)
   have S31: "( ( A  D )    ( C  B )   )  
 ( ( A  D ) \<ca> ( C  B ) )  " by (rule MMI_axaddcl)
   from S17 have S32: "( A    D   )  ( A  D )  " .
   from S18 have S33: "( C    B   )  ( C  B )  " .
   from S33 have S34: "( B    C   )  ( C  B )  " 
     by (rule MMI_ancoms)
   from S31 S32 S34 have S35: 
     "( ( A    D   )  ( B    C   ) )  
 ( ( A  D ) \<ca> ( C  B ) )  " by (rule MMI_syl2an)
   from S35 have S36: "( ( A    B   )  ( C    D   ) )  
 ( ( A  D ) \<ca> ( C  B ) )  " by (rule MMI_an42s)
   from S24 S30 S36 have S37: 
     "( ( A    B   )  ( C    D   ) )  
 ( ( ( A  C ) \<ca> ( D  B ) ) \<ca> ( \<cn> ( ( A  D ) \<ca> ( C  B ) ) ) ) = 
 ( ( ( A  C ) \<ca> ( D  B ) ) \<cs> ( ( A  D ) \<ca> ( C  B ) ) )" 
     by (rule MMI_sylanc)
   from S8 S23 S37 have S38: "( ( A    B   )  ( C    D   ) )  
 ( ( A \<ca> ( (\<cn>  B) ) )  ( C \<ca> ( \<cn> D ) ) ) = 
 ( ( ( A  C ) \<ca> ( D  B ) ) \<cs> ( ( A  D ) \<ca> ( C  B ) ) )" 
     by (rule MMI_3eqtrd)
   from S3 S38 show "( ( A    B   )  ( C    D   ) )  
 ( ( A \<cs> B )  ( C \<cs> D ) ) = 
 ( ( ( A  C ) \<ca> ( D  B ) ) \<cs> ( ( A  D ) \<ca> ( C  B ) ) )" 
     by (rule MMI_eqtr3d)
qed

lemma (in MMIsar0) MMI_pnpcant: 
   shows "( A    B    C   )  
 ( ( A \<ca> B ) \<cs> ( A \<ca> C ) ) = ( B \<cs> C )"
proof -
   have S1: "( ( A    B   )  ( A    C   ) )  
 ( ( A \<ca> B ) \<cs> ( A \<ca> C ) ) = 
 ( ( A \<cs> A ) \<ca> ( B \<cs> C ) )" by (rule MMI_sub4t)
   from S1 have S2: "( A    ( B    C   ) )  
 ( ( A \<ca> B ) \<cs> ( A \<ca> C ) ) = 
 ( ( A \<cs> A ) \<ca> ( B \<cs> C ) )" by (rule MMI_anandis)
   have S3: "A    ( A \<cs> A ) = 𝟬" by (rule MMI_subidt)
   from S3 have S4: "A    
 ( ( A \<cs> A ) \<ca> ( B \<cs> C ) ) = 
 ( 𝟬 \<ca> ( B \<cs> C ) )" by (rule MMI_opreq1d)
   have S5: "( B    C   )  ( B \<cs> C )  " by (rule MMI_subclt)
   have S6: "( B \<cs> C )    
 ( 𝟬 \<ca> ( B \<cs> C ) ) = ( B \<cs> C )" by (rule MMI_addid2t)
   from S5 S6 have S7: "( B    C   )  
 ( 𝟬 \<ca> ( B \<cs> C ) ) = ( B \<cs> C )" by (rule MMI_syl)
   from S4 S7 have S8: "( A    ( B    C   ) )  
 ( ( A \<cs> A ) \<ca> ( B \<cs> C ) ) = ( B \<cs> C )" by (rule MMI_sylan9eq)
   from S2 S8 have S9: "( A    ( B    C   ) )  
 ( ( A \<ca> B ) \<cs> ( A \<ca> C ) ) = ( B \<cs> C )" by (rule MMI_eqtrd)
   from S9 show "( A    B    C   )  
 ( ( A \<ca> B ) \<cs> ( A \<ca> C ) ) = ( B \<cs> C )" by (rule MMI_3impb)
qed

lemma (in MMIsar0) MMI_pnpcan2t: 
   shows "( A    B    C   )  
 ( ( A \<ca> C ) \<cs> ( B \<ca> C ) ) = ( A \<cs> B )"
proof -
   have S1: "( A    C   )  
 ( A \<ca> C ) = ( C \<ca> A )" by (rule MMI_axaddcom)
   from S1 have S2: "( A    B    C   )  
 ( A \<ca> C ) = ( C \<ca> A )" by (rule MMI_3adant2)
   have S3: "( B    C   )  
 ( B \<ca> C ) = ( C \<ca> B )" by (rule MMI_axaddcom)
   from S3 have S4: "( A    B    C   )  
 ( B \<ca> C ) = ( C \<ca> B )" by (rule MMI_3adant1)
   from S2 S4 have S5: "( A    B    C   )  
 ( ( A \<ca> C ) \<cs> ( B \<ca> C ) ) = 
 ( ( C \<ca> A ) \<cs> ( C \<ca> B ) )" by (rule MMI_opreq12d)
   have S6: "( C    A    B   )  
 ( ( C \<ca> A ) \<cs> ( C \<ca> B ) ) = ( A \<cs> B )" by (rule MMI_pnpcant)
   from S6 have S7: "( A    B    C   )  
 ( ( C \<ca> A ) \<cs> ( C \<ca> B ) ) = ( A \<cs> B )" by (rule MMI_3coml)
   from S5 S7 show "( A    B    C   )  
 ( ( A \<ca> C ) \<cs> ( B \<ca> C ) ) = ( A \<cs> B )" by (rule MMI_eqtrd)
qed

(*******141-150*********************************)
lemma (in MMIsar0) MMI_pnncant: 
   shows "( A    B    C   )  
 ( ( A \<ca> B ) \<cs> ( A \<cs> C ) ) = ( B \<ca> C )"
proof -
   have S1: "( A    B    ( \<cn> C )   )  
 ( ( A \<ca> B ) \<cs> ( A \<ca> ( \<cn> C ) ) ) = 
 ( B \<cs> ( \<cn> C ) )" by (rule MMI_pnpcant)
   have S2: "C    ( \<cn> C )  " by (rule MMI_negclt)
   from S1 S2 have S3: "( A    B    C   )  
 ( ( A \<ca> B ) \<cs> ( A \<ca> ( \<cn> C ) ) ) = 
 ( B \<cs> ( \<cn> C ) )" by (rule MMI_syl3an3)
   have S4: "( A    C   )  
 ( A \<ca> ( \<cn> C ) ) = ( A \<cs> C )" by (rule MMI_negsubt)
   from S4 have S5: "( A    B    C   )  
 ( A \<ca> ( \<cn> C ) ) = ( A \<cs> C )" by (rule MMI_3adant2)
   from S5 have S6: "( A    B    C   )  
 ( ( A \<ca> B ) \<cs> ( A \<ca> ( \<cn> C ) ) ) = 
 ( ( A \<ca> B ) \<cs> ( A \<cs> C ) )" by (rule MMI_opreq2d)
   have S7: "( B    C   )  
 ( B \<cs> ( \<cn> C ) ) = ( B \<ca> C )" by (rule MMI_subnegt)
   from S7 have S8: "( A    B    C   )  
 ( B \<cs> ( \<cn> C ) ) = ( B \<ca> C )" by (rule MMI_3adant1)
   from S3 S6 S8 show "( A    B    C   )  
 ( ( A \<ca> B ) \<cs> ( A \<cs> C ) ) = ( B \<ca> C )" by (rule MMI_3eqtr3d)
qed

lemma (in MMIsar0) MMI_ppncant: 
   shows "( A    B    C   )  
 ( ( A \<ca> B ) \<ca> ( C \<cs> B ) ) = ( A \<ca> C )"
proof -
   have S1: "( A    B   )  
 ( A \<ca> B ) = ( B \<ca> A )" by (rule MMI_axaddcom)
   from S1 have S2: "( A    B    C   )  
 ( A \<ca> B ) = ( B \<ca> A )" by (rule MMI_3adant3)
   from S2 have S3: "( A    B    C   )  
 ( ( A \<ca> B ) \<cs> ( B \<cs> C ) ) = 
 ( ( B \<ca> A ) \<cs> ( B \<cs> C ) )" by (rule MMI_opreq1d)
   have S4: "( ( A \<ca> B )    B    C   )  
 ( ( A \<ca> B ) \<cs> ( B \<cs> C ) ) = 
 ( ( A \<ca> B ) \<ca> ( C \<cs> B ) )" by (rule MMI_subsub2t)
   have S5: "( A    B   )  ( A \<ca> B )  " by (rule MMI_axaddcl)
   from S5 have S6: "( A    B    C   )  
 ( A \<ca> B )  " by (rule MMI_3adant3)
   have S7: "( A    B    C   )  B  " by (rule MMI_3simp2)
   have S8: "( A    B    C   )  C  " by (rule MMI_3simp3)
   from S4 S6 S7 S8 have S9: "( A    B    C   )  
 ( ( A \<ca> B ) \<cs> ( B \<cs> C ) ) = 
 ( ( A \<ca> B ) \<ca> ( C \<cs> B ) )" by (rule MMI_syl3anc)
   have S10: "( B    A    C   )  
 ( ( B \<ca> A ) \<cs> ( B \<cs> C ) ) = ( A \<ca> C )" by (rule MMI_pnncant)
   from S10 have S11: "( A    B    C   )  
 ( ( B \<ca> A ) \<cs> ( B \<cs> C ) ) = ( A \<ca> C )" by (rule MMI_3com12)
   from S3 S9 S11 show "( A    B    C   )  
 ( ( A \<ca> B ) \<ca> ( C \<cs> B ) ) = ( A \<ca> C )" by (rule MMI_3eqtr3d)
qed

lemma (in MMIsar0) MMI_pnncan: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "( ( A \<ca> B ) \<cs> ( A \<cs> C ) ) = ( B \<ca> C )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A3 have S3: "C  ".
   have S4: "( A    B    C   )  
 ( ( A \<ca> B ) \<cs> ( A \<cs> C ) ) = ( B \<ca> C )" by (rule MMI_pnncant)
   from S1 S2 S3 S4 show "( ( A \<ca> B ) \<cs> ( A \<cs> C ) ) = ( B \<ca> C )" by (rule MMI_mp3an)
qed

lemma (in MMIsar0) MMI_mulcan: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  " and
    A4: "A  𝟬"   
   shows "( A  B ) = ( A  C )  B = C"
proof -
   from A1 have S1: "A  ".
   from A4 have S2: "A  𝟬".
   from S1 S2 have S3: " x   . ( A  x ) = 𝟭" by (rule MMI_recex)
   from A1 have S4: "A  ".
   from A2 have S5: "B  ".
   { fix x
     have S6: "( x    A    B   )  
       ( ( x  A )  B ) = ( x  ( A  B ) )" by (rule MMI_axmulass)
     from S5 S6 have S7: "( x    A   )  
       ( ( x  A )  B ) = ( x  ( A  B ) )" by (rule MMI_mp3an3)
     from A3 have S8: "C  ".
     have S9: "( x    A    C   )  
       ( ( x  A )  C ) = ( x  ( A  C ) )" by (rule MMI_axmulass)
     from S8 S9 have S10: "( x    A   )  
       ( ( x  A )  C ) = ( x  ( A  C ) )" by (rule MMI_mp3an3)
     from S7 S10 have S11: "( x    A   )  
       ( ( ( x  A )  B ) = 
       ( ( x  A )  C )  
       ( x  ( A  B ) ) = 
       ( x  ( A  C ) ) )" by (rule MMI_eqeq12d)
     from S4 S11 have S12: "x    
       ( ( ( x  A )  B ) = 
       ( ( x  A )  C )  
       ( x  ( A  B ) ) = 
       ( x  ( A  C ) ) )" by (rule MMI_mpan2)
     have S13: 
       "( A  B ) =  ( A  C )  
       ( x  ( A  B ) ) = ( x  ( A  C ) )" by (rule MMI_opreq2)
     from S12 S13 have S14: "x     
       ( ( A  B ) =  ( A  C )   ( ( x  A )  B ) = 
       ( ( x  A )  C ) )" by (rule MMI_syl5bir)
     from S14 have S15: 
       "( x    ( A  x ) =  𝟭 )   ( ( A  B ) = 
       ( A  C )   ( ( x  A )  B ) = 
       ( ( x  A )  C ) )" by (rule MMI_adantr)
     from A1 have S16: "A  ".
     have S17: "( A    x   )  
       ( A  x ) = ( x  A )" by (rule MMI_axmulcom)
     from S16 S17 have S18: "x    ( A  x ) = ( x  A )" 
       by (rule MMI_mpan)
     from S18 have S19: "x    
       ( ( A  x ) = 𝟭  ( x  A ) = 𝟭 )" by (rule MMI_eqeq1d)
     have S20: "( x  A ) = 
       𝟭  ( ( x  A )  B ) = ( 𝟭  B )" by (rule MMI_opreq1)
     from A2 have S21: "B  ".
     from S21 have S22: "( 𝟭  B ) = B" by (rule MMI_mulid2)
     from S20 S22 have S23: "( x  A ) = 𝟭  ( ( x  A )  B ) = B" 
       by (rule MMI_syl6eq)
     have S24: "( x  A ) = 
       𝟭  ( ( x  A )  C ) = ( 𝟭  C )" by (rule MMI_opreq1)
     from A3 have S25: "C  ".
     from S25 have S26: "( 𝟭  C ) = C" by (rule MMI_mulid2)
     from S24 S26 have S27: "( x  A ) = 𝟭  ( ( x  A )  C ) = C" 
       by (rule MMI_syl6eq)
     from S23 S27 have S28: "( x  A ) =  𝟭  
       ( ( ( x  A )  B ) = 
       ( ( x  A )  C )  B = C )" by (rule MMI_eqeq12d)
     from S19 S28 have S29: "x    
       ( ( A  x ) =  𝟭  
       ( ( ( x  A )  B ) = 
       ( ( x  A )  C )  B = C ) )" by (rule MMI_syl6bi)
     from S29 have S30: 
       "( x    ( A  x ) = 𝟭 )  
       ( ( ( x  A )  B ) = 
       ( ( x  A )  C )  B = C )" by (rule MMI_imp)
     from S15 S30 have S31: 
       "( x    ( A  x ) = 𝟭 )  
       ( ( A  B ) = ( A  C )  B = C )" by (rule MMI_sylibd)
     from S31 have "x    
       ( ( A  x ) = 𝟭   ( ( A  B ) = ( A  C )  B = C ) )" 
       by (rule MMI_ex)
     } then have  S32: " x. x    
       ( ( A  x ) = 𝟭   ( ( A  B ) = ( A  C )  B = C ) )" 
       by auto
     from S32 have S33: "(  x   . ( A  x ) =  𝟭 )  
       ( ( A  B ) = ( A  C )  B = C )" by (rule MMI_r19_23aiv)
     from S3 S33 have S34: "( A  B ) = ( A  C )  B = C" 
       by (rule MMI_ax_mp)
     have S35: "B = C  ( A  B ) = ( A  C )" by (rule MMI_opreq2)
     from S34 S35 show "( A  B ) = ( A  C )  B = C" by (rule MMI_impbi)
qed

lemma (in MMIsar0) MMI_mulcant2: assumes A1: "A  𝟬"   
   shows "( A    B    C   )  
 ( ( A  B ) = ( A  C )  B = C )"
proof -
   have S1: "A = 
 if ( A   , A , 𝟭 )  
 ( A  B ) = 
 ( if ( A   , A , 𝟭 )  B )" by (rule MMI_opreq1)
   have S2: "A = 
 if ( A   , A , 𝟭 )  
 ( A  C ) = 
 ( if ( A   , A , 𝟭 )  C )" by (rule MMI_opreq1)
   from S1 S2 have S3: "A = 
 if ( A   , A , 𝟭 )  
 ( ( A  B ) = 
 ( A  C )  
 ( if ( A   , A , 𝟭 )  B ) = 
 ( if ( A   , A , 𝟭 )  C ) )" by (rule MMI_eqeq12d)
   from S3 have S4: "A = 
 if ( A   , A , 𝟭 )  
 ( ( ( A  B ) = ( A  C )  B = C )  
 ( ( if ( A   , A , 𝟭 )  B ) = 
 ( if ( A   , A , 𝟭 )  C )  
 B = C ) )" by (rule MMI_bibi1d)
   have S5: "B = 
 if ( B   , B , 𝟭 )  
 ( if ( A   , A , 𝟭 )  B ) = 
 ( if ( A   , A , 𝟭 )  if ( B   , B , 𝟭 ) )" by (rule MMI_opreq2)
   from S5 have S6: "B = 
 if ( B   , B , 𝟭 )  
 ( ( if ( A   , A , 𝟭 )  B ) = 
 ( if ( A   , A , 𝟭 )  C )  
 ( if ( A   , A , 𝟭 )  if ( B   , B , 𝟭 ) ) = 
 ( if ( A   , A , 𝟭 )  C ) )" by (rule MMI_eqeq1d)
   have S7: "B = 
 if ( B   , B , 𝟭 )  
 ( B = C  if ( B   , B , 𝟭 ) = C )" by (rule MMI_eqeq1)
   from S6 S7 have S8: "B = 
 if ( B   , B , 𝟭 )  
 ( ( ( if ( A   , A , 𝟭 )  B ) = ( if ( A   , A , 𝟭 )  C )  B = C )  
 ( ( if ( A   , A , 𝟭 )  if ( B   , B , 𝟭 ) ) = 
 ( if ( A   , A , 𝟭 )  C )  
 if ( B   , B , 𝟭 ) = C ) )" by (rule MMI_bibi12d)
   have S9: "C = 
 if ( C   , C , 𝟭 )  
 ( if ( A   , A , 𝟭 )  C ) = 
 ( if ( A   , A , 𝟭 )  if ( C   , C , 𝟭 ) )" by (rule MMI_opreq2)
   from S9 have S10: "C = 
 if ( C   , C , 𝟭 )  
 ( ( if ( A   , A , 𝟭 )  if ( B   , B , 𝟭 ) ) = 
 ( if ( A   , A , 𝟭 )  C )  
 ( if ( A   , A , 𝟭 )  if ( B   , B , 𝟭 ) ) = 
 ( if ( A   , A , 𝟭 )  if ( C   , C , 𝟭 ) ) )" by (rule MMI_eqeq2d)
   have S11: "C = 
 if ( C   , C , 𝟭 )  
 ( if ( B   , B , 𝟭 ) = 
 C  
 if ( B   , B , 𝟭 ) = 
 if ( C   , C , 𝟭 ) )" by (rule MMI_eqeq2)
   from S10 S11 have S12: "C = 
 if ( C   , C , 𝟭 )  
 ( ( ( if ( A   , A , 𝟭 )  if ( B   , B , 𝟭 ) ) = ( if ( A   , A , 𝟭 )  C )  if ( B   , B , 𝟭 ) = C )  
 ( ( if ( A   , A , 𝟭 )  if ( B   , B , 𝟭 ) ) = 
 ( if ( A   , A , 𝟭 )  if ( C   , C , 𝟭 ) )  
 if ( B   , B , 𝟭 ) = 
 if ( C   , C , 𝟭 ) ) )" by (rule MMI_bibi12d)
   have S13: "𝟭  " by (rule MMI_1cn)
   from S13 have S14: "if ( A   , A , 𝟭 )  " by (rule MMI_elimel)
   have S15: "𝟭  " by (rule MMI_1cn)
   from S15 have S16: "if ( B   , B , 𝟭 )  " by (rule MMI_elimel)
   have S17: "𝟭  " by (rule MMI_1cn)
   from S17 have S18: "if ( C   , C , 𝟭 )  " by (rule MMI_elimel)
   have S19: "A = 
 if ( A   , A , 𝟭 )  
 ( A  𝟬  if ( A   , A , 𝟭 )  𝟬 )" by (rule MMI_neeq1)
   have S20: "𝟭 = 
 if ( A   , A , 𝟭 )  
 ( 𝟭  𝟬  if ( A   , A , 𝟭 )  𝟬 )" by (rule MMI_neeq1)
   from A1 have S21: "A  𝟬".
   have S22: "𝟭  𝟬" by (rule MMI_ax1ne0)
   from S19 S20 S21 S22 have S23: "if ( A   , A , 𝟭 )  𝟬" by (rule MMI_keephyp)
   from S14 S16 S18 S23 have S24: "( if ( A   , A , 𝟭 )  if ( B   , B , 𝟭 ) ) = 
 ( if ( A   , A , 𝟭 )  if ( C   , C , 𝟭 ) )  
 if ( B   , B , 𝟭 ) = 
 if ( C   , C , 𝟭 )" by (rule MMI_mulcan)
   from S4 S8 S12 S24 show "( A    B    C   )  
 ( ( A  B ) = ( A  C )  B = C )" by (rule MMI_dedth3h)
qed

lemma (in MMIsar0) MMI_mulcant: 
   shows "( ( A    B    C   )  A  𝟬 )  
 ( ( A  B ) = ( A  C )  B = C )"
proof -
   have S1: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 ( A    if ( A  𝟬 , A , 𝟭 )   )" by (rule MMI_eleq1)
   have S2: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 ( B    B   )" by (rule MMI_pm4_2i)
   have S3: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 ( C    C   )" by (rule MMI_pm4_2i)
   from S1 S2 S3 have S4: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 ( ( A    B    C   )  
 ( if ( A  𝟬 , A , 𝟭 )    B    C   ) )" by (rule MMI_3anbi123d)
   have S5: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 ( A  B ) = 
 ( if ( A  𝟬 , A , 𝟭 )  B )" by (rule MMI_opreq1)
   have S6: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 ( A  C ) = 
 ( if ( A  𝟬 , A , 𝟭 )  C )" by (rule MMI_opreq1)
   from S5 S6 have S7: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 ( ( A  B ) = 
 ( A  C )  
 ( if ( A  𝟬 , A , 𝟭 )  B ) = 
 ( if ( A  𝟬 , A , 𝟭 )  C ) )" by (rule MMI_eqeq12d)
   from S7 have S8: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 ( ( ( A  B ) = ( A  C )  B = C )  
 ( ( if ( A  𝟬 , A , 𝟭 )  B ) = 
 ( if ( A  𝟬 , A , 𝟭 )  C )  
 B = C ) )" by (rule MMI_bibi1d)
   from S4 S8 have S9: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 ( ( ( A    B    C   )  ( ( A  B ) = ( A  C )  B = C ) )  
 ( ( if ( A  𝟬 , A , 𝟭 )    B    C   )  
 ( ( if ( A  𝟬 , A , 𝟭 )  B ) = 
 ( if ( A  𝟬 , A , 𝟭 )  C )  
 B = C ) ) )" by (rule MMI_imbi12d)
   have S10: "if ( A  𝟬 , A , 𝟭 )  𝟬" by (rule MMI_elimne0)
   from S10 have S11: "( if ( A  𝟬 , A , 𝟭 )    B    C   )  
 ( ( if ( A  𝟬 , A , 𝟭 )  B ) = 
 ( if ( A  𝟬 , A , 𝟭 )  C )  B = C )" by (rule MMI_mulcant2)
   from S9 S11 have S12: "A  𝟬  
 ( ( A    B    C   )  
 ( ( A  B ) = ( A  C )  B = C ) )" by (rule MMI_dedth)
   from S12 show "( ( A    B    C   )  A  𝟬 )  
 ( ( A  B ) = ( A  C )  B = C )" by (rule MMI_impcom)
qed

lemma (in MMIsar0) MMI_mulcan2t: 
   shows "( ( A    B    C   )  C  𝟬 )  
 ( ( A  C ) = ( B  C )  A = B )"
proof -
   have S1: "( A    C   )  
 ( A  C ) = ( C  A )" by (rule MMI_axmulcom)
   from S1 have S2: "( A    B    C   )  
 ( A  C ) = ( C  A )" by (rule MMI_3adant2)
   have S3: "( B    C   )  
 ( B  C ) = ( C  B )" by (rule MMI_axmulcom)
   from S3 have S4: "( A    B    C   )  
 ( B  C ) = ( C  B )" by (rule MMI_3adant1)
   from S2 S4 have S5: "( A    B    C   )  
 ( ( A  C ) = 
 ( B  C )  ( C  A ) = ( C  B ) )" by (rule MMI_eqeq12d)
   from S5 have S6: "( ( A    B    C   )  C  𝟬 )  
 ( ( A  C ) = 
 ( B  C )  ( C  A ) = ( C  B ) )" by (rule MMI_adantr)
   have S7: "( ( C    A    B   )  C  𝟬 )  
 ( ( C  A ) = ( C  B )  A = B )" by (rule MMI_mulcant)
   from S7 have S8: "( C    A    B   )  
 ( C  𝟬  
 ( ( C  A ) = ( C  B )  A = B ) )" by (rule MMI_ex)
   from S8 have S9: "( A    B    C   )  
 ( C  𝟬  
 ( ( C  A ) = ( C  B )  A = B ) )" by (rule MMI_3coml)
   from S9 have S10: "( ( A    B    C   )  C  𝟬 )  
 ( ( C  A ) = ( C  B )  A = B )" by (rule MMI_imp)
   from S6 S10 show "( ( A    B    C   )  C  𝟬 )  
 ( ( A  C ) = ( B  C )  A = B )" by (rule MMI_bitrd)
qed

lemma (in MMIsar0) MMI_mul0or: assumes A1: "A  " and
    A2: "B  "   
   shows "( A  B ) = 𝟬  ( A = 𝟬  B = 𝟬 )"
proof -
   have S1: "A  𝟬  ¬ ( A = 𝟬 )" by (rule MMI_df_ne)
   from A1 have S2: "A  ".
   from A2 have S3: "B  ".
   have S4: "𝟬  " by (rule MMI_0cn)
   from S2 S3 S4 have S5: "A    B    𝟬  " by (rule MMI_3pm3_2i)
   have S6: "( ( A    B    𝟬   )  A  𝟬 )  
 ( ( A  B ) = ( A  𝟬 )  B = 𝟬 )" by (rule MMI_mulcant)
   from S5 S6 have S7: "A  𝟬  
 ( ( A  B ) = ( A  𝟬 )  B = 𝟬 )" by (rule MMI_mpan)
   from A1 have S8: "A  ".
   from S8 have S9: "( A  𝟬 ) = 𝟬" by (rule MMI_mul01)
   from S9 have S10: "( A  B ) = ( A  𝟬 )  ( A  B ) = 𝟬" by (rule MMI_eqeq2i)
   from S7 S10 have S11: "A  𝟬  ( ( A  B ) = 𝟬  B = 𝟬 )" by (rule MMI_syl5bbr)
   from S11 have S12: "A  𝟬  ( ( A  B ) = 𝟬  B = 𝟬 )" by (rule MMI_biimpd)
   from S1 S12 have S13: "¬ ( A = 
 𝟬 )  ( ( A  B ) = 𝟬  B = 𝟬 )" by (rule MMI_sylbir)
   from S13 have S14: "( A  B ) = 
 𝟬  ( ¬ ( A = 𝟬 )  B = 𝟬 )" by (rule MMI_com12)
   from S14 have S15: "( A  B ) = 𝟬  ( A = 𝟬  B = 𝟬 )" by (rule MMI_orrd)
   have S16: "A = 𝟬  ( A  B ) = ( 𝟬  B )" by (rule MMI_opreq1)
   from A2 have S17: "B  ".
   from S17 have S18: "( 𝟬  B ) = 𝟬" by (rule MMI_mul02)
   from S16 S18 have S19: "A = 𝟬  ( A  B ) = 𝟬" by (rule MMI_syl6eq)
   have S20: "B = 𝟬  ( A  B ) = ( A  𝟬 )" by (rule MMI_opreq2)
   from S9 have S21: "( A  𝟬 ) = 𝟬" .
   from S20 S21 have S22: "B = 𝟬  ( A  B ) = 𝟬" by (rule MMI_syl6eq)
   from S19 S22 have S23: "( A = 𝟬  B = 𝟬 )  ( A  B ) = 𝟬" by (rule MMI_jaoi)
   from S15 S23 show "( A  B ) = 𝟬  ( A = 𝟬  B = 𝟬 )" by (rule MMI_impbi)
qed

lemma (in MMIsar0) MMI_msq0: assumes A1: "A  "   
   shows "( A  A ) = 𝟬  A = 𝟬"
proof -
   from A1 have S1: "A  ".
   from A1 have S2: "A  ".
   from S1 S2 have S3: "( A  A ) = 𝟬  ( A = 𝟬  A = 𝟬 )" by (rule MMI_mul0or)
   have S4: "( A = 𝟬  A = 𝟬 )  A = 𝟬" by (rule MMI_oridm)
   from S3 S4 show "( A  A ) = 𝟬  A = 𝟬" by (rule MMI_bitr)
qed

lemma (in MMIsar0) MMI_mul0ort: 
   shows "( A    B   )  
 ( ( A  B ) = 𝟬  ( A = 𝟬  B = 𝟬 ) )"
proof -
   have S1: "A = 
 if ( A   , A , 𝟬 )  
 ( A  B ) = 
 ( if ( A   , A , 𝟬 )  B )" by (rule MMI_opreq1)
   from S1 have S2: "A = 
 if ( A   , A , 𝟬 )  
 ( ( A  B ) = 
 𝟬  ( if ( A   , A , 𝟬 )  B ) = 𝟬 )" by (rule MMI_eqeq1d)
   have S3: "A = 
 if ( A   , A , 𝟬 )  
 ( A = 𝟬  if ( A   , A , 𝟬 ) = 𝟬 )" by (rule MMI_eqeq1)
   from S3 have S4: "A = 
 if ( A   , A , 𝟬 )  
 ( ( A = 𝟬  B = 𝟬 )  
 ( if ( A   , A , 𝟬 ) = 𝟬  B = 𝟬 ) )" by (rule MMI_orbi1d)
   from S2 S4 have S5: "A = 
 if ( A   , A , 𝟬 )  
 ( ( ( A  B ) = 𝟬  ( A = 𝟬  B = 𝟬 ) )  
 ( ( if ( A   , A , 𝟬 )  B ) = 
 𝟬  
 ( if ( A   , A , 𝟬 ) = 
 𝟬  B = 𝟬 ) ) )" by (rule MMI_bibi12d)
   have S6: "B = 
 if ( B   , B , 𝟬 )  
 ( if ( A   , A , 𝟬 )  B ) = 
 ( if ( A   , A , 𝟬 )  if ( B   , B , 𝟬 ) )" by (rule MMI_opreq2)
   from S6 have S7: "B = 
 if ( B   , B , 𝟬 )  
 ( ( if ( A   , A , 𝟬 )  B ) = 
 𝟬  
 ( if ( A   , A , 𝟬 )  if ( B   , B , 𝟬 ) ) = 
 𝟬 )" by (rule MMI_eqeq1d)
   have S8: "B = 
 if ( B   , B , 𝟬 )  
 ( B = 𝟬  if ( B   , B , 𝟬 ) = 𝟬 )" by (rule MMI_eqeq1)
   from S8 have S9: "B = 
 if ( B   , B , 𝟬 )  
 ( ( if ( A   , A , 𝟬 ) = 𝟬  B = 𝟬 )  
 ( if ( A   , A , 𝟬 ) = 
 𝟬  if ( B   , B , 𝟬 ) = 𝟬 ) )" by (rule MMI_orbi2d)
   from S7 S9 have S10: "B = 
 if ( B   , B , 𝟬 )  
 ( ( ( if ( A   , A , 𝟬 )  B ) = 𝟬  ( if ( A   , A , 𝟬 ) = 𝟬  B = 𝟬 ) )  
 ( ( if ( A   , A , 𝟬 )  if ( B   , B , 𝟬 ) ) = 
 𝟬  
 ( if ( A   , A , 𝟬 ) = 
 𝟬  if ( B   , B , 𝟬 ) = 𝟬 ) ) )" by (rule MMI_bibi12d)
   have S11: "𝟬  " by (rule MMI_0cn)
   from S11 have S12: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   have S13: "𝟬  " by (rule MMI_0cn)
   from S13 have S14: "if ( B   , B , 𝟬 )  " by (rule MMI_elimel)
   from S12 S14 have S15: "( if ( A   , A , 𝟬 )  if ( B   , B , 𝟬 ) ) = 
 𝟬  
 ( if ( A   , A , 𝟬 ) = 
 𝟬  if ( B   , B , 𝟬 ) = 𝟬 )" by (rule MMI_mul0or)
   from S5 S10 S15 show "( A    B   )  
 ( ( A  B ) = 𝟬  ( A = 𝟬  B = 𝟬 ) )" by (rule MMI_dedth2h)
qed

(********* 151-153**************************)

lemma (in MMIsar0) MMI_muln0bt: 
   shows "( A    B   )  
 ( ( A  𝟬  B  𝟬 )  ( A  B )  𝟬 )"
proof -
   have S1: "( A    B   )  
 ( ( A  B ) = 𝟬  ( A = 𝟬  B = 𝟬 ) )" by (rule MMI_mul0ort)
   from S1 have S2: "( A    B   )  
 ( ¬ ( ( A  B ) = 𝟬 )  
 ¬ ( ( A = 𝟬  B = 𝟬 ) ) )" by (rule MMI_negbid)
   have S3: "¬ ( ( A = 𝟬  B = 𝟬 ) )  
 ( ¬ ( A = 𝟬 )  ¬ ( B = 𝟬 ) )" by (rule MMI_ioran)
   from S2 S3 have S4: "( A    B   )  
 ( ( ¬ ( A = 𝟬 )  ¬ ( B = 𝟬 ) )  
 ¬ ( ( A  B ) = 𝟬 ) )" by (rule MMI_syl6rbb)
   have S5: "A  𝟬  ¬ ( A = 𝟬 )" by (rule MMI_df_ne)
   have S6: "B  𝟬  ¬ ( B = 𝟬 )" by (rule MMI_df_ne)
   from S5 S6 have S7: "( A  𝟬  B  𝟬 )  
 ( ¬ ( A = 𝟬 )  ¬ ( B = 𝟬 ) )" by (rule MMI_anbi12i)
   have S8: "( A  B )  𝟬  ¬ ( ( A  B ) = 𝟬 )" by (rule MMI_df_ne)
   from S4 S7 S8 show "( A    B   )  
 ( ( A  𝟬  B  𝟬 )  ( A  B )  𝟬 )" by (rule MMI_3bitr4g)
qed

lemma (in MMIsar0) MMI_muln0: assumes A1: "A  " and
    A2: "B  " and
    A3: "A  𝟬" and
    A4: "B  𝟬"   
   shows "( A  B )  𝟬"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A3 have S3: "A  𝟬".
   from A4 have S4: "B  𝟬".
   from S3 S4 have S5: "A  𝟬  B  𝟬" by (rule MMI_pm3_2i)
   have S6: "( A    B   )  
 ( ( A  𝟬  B  𝟬 )  ( A  B )  𝟬 )" by (rule MMI_muln0bt)
   from S5 S6 have S7: "( A    B   )  ( A  B )  𝟬" by (rule MMI_mpbii)
   from S1 S2 S7 show "( A  B )  𝟬" by (rule MMI_mp2an)
qed

lemma (in MMIsar0) MMI_receu: assumes A1: "A  " and
    A2: "B  " and
    A3: "A  𝟬"   
   shows "∃! x . x    ( A  x ) = B"
proof -
  { fix x y
    have S1: "x = y  ( A  x ) = ( A  y )" by (rule MMI_opreq2)
    from S1 have S2: "x = y  ( ( A  x ) = B  ( A  y ) = B )" 
      by (rule MMI_eqeq1d)
  } then have S2: " x y. x = y  ( ( A  x ) = B  ( A  y ) = B )"
    by simp
    from S2 have S3: 
      "( ∃! x . x    ( A  x ) =  B )  
      ( (  x   . ( A  x ) = B )  
      (  x   .  y   . ( ( ( A  x ) = B  ( A  y ) = B )  x = y ) ) )" 
      by (rule MMI_reu4)
    from A1 have S4: "A  ".
    from A3 have S5: "A  𝟬".
   from S4 S5 have S6: " y   . ( A  y ) = 𝟭" by (rule MMI_recex)
   from A2 have S7: "B  ".
   { fix y
     have S8: "( y    B   )  ( y  B )  " by (rule MMI_axmulcl)
     from S7 S8 have S9: "y    ( y  B )  " by (rule MMI_mpan2)
     have S10: "( y  B )    
       (  x   . x = ( y  B ) )" by (rule MMI_risset)
     from S9 S10 have S11: "y    (  x   . x = ( y  B ) )" 
       by (rule MMI_sylib)
     { fix x
       have S12: "x =  ( y  B )  
	 ( A  x ) = ( A  ( y  B ) )" by (rule MMI_opreq2)
       from A1 have S13: "A  ".
       from A2 have S14: "B  ".
       have S15: "( A    y    B   )  
	 ( ( A  y )  B ) = ( A  ( y  B ) )" by (rule MMI_axmulass)
       from S13 S14 S15 have S16: "y    
	 ( ( A  y )  B ) = ( A  ( y  B ) )" by (rule MMI_mp3an13)
       from S16 have S17: "y    
	 ( A  ( y  B ) ) = ( ( A  y )  B )" by (rule MMI_eqcomd)
       from S12 S17 have S18: "( y    x = 
	 ( y  B ) )  
	 ( A  x ) = ( ( A  y )  B )" by (rule MMI_sylan9eqr)
       have S19: "( A  y ) = 
	 𝟭  ( ( A  y )  B ) = ( 𝟭  B )" by (rule MMI_opreq1)
       from A2 have S20: "B  ".
       from S20 have S21: "( 𝟭  B ) = B" by (rule MMI_mulid2)
       from S19 S21 have S22: "( A  y ) = 𝟭  ( ( A  y )  B ) = B" 
	 by (rule MMI_syl6eq)
       from S18 S22 have S23: 
	 "( ( A  y ) = 𝟭  ( y    x = 
	 ( y  B ) ) )  ( A  x ) = B" by (rule MMI_sylan9eqr)
       from S23 have S24: 
	 "( A  y ) = 𝟭   ( y    
	 ( x = ( y  B )  ( A  x ) = B ) )" by (rule MMI_exp32)
       from S24 have S25: "( y    ( A  y ) = 
	 𝟭 )  
	 ( x = ( y  B )  ( A  x ) = B )" by (rule MMI_impcom)
       from S25 have
	 "( y    ( A  y ) = 𝟭 )  ( x    
	 ( x = ( y  B )  ( A  x ) = B ) )" by (rule MMI_a1d)
       } then have S26: 
	 " x . ( y    ( A  y ) = 𝟭 )  ( x    
	 ( x = ( y  B )  ( A  x ) = B ) )" by simp
       from S26 have S27: 
	 "( y    ( A  y ) = 𝟭 )  
	 (  x   . ( x = ( y  B )  ( A  x ) = B ) )" by (rule MMI_r19_21aiv)
       from S27 have S28: "y    
	 ( ( A  y ) =	𝟭  
	 (  x   . ( x = ( y  B )  ( A  x ) = B ) ) )" by (rule MMI_ex)
       have S29: "(  x   . ( x = ( y  B )  ( A  x ) = B ) )  
	 ( (  x   . x = ( y  B ) )  
	 (  x   . ( A  x ) = B ) )" by (rule MMI_r19_22)
       from S28 S29 have S30: 
	 "y    ( ( A  y ) =  𝟭  
	 ( (  x   . x = ( y  B ) )  
	 (  x   . ( A  x ) = B ) ) )" by (rule MMI_syl6)
       from S11 S30 have 
	 "y     ( ( A  y ) =  𝟭  (  x   . ( A  x ) = B ) )" 
	 by (rule MMI_mpid)
       } then have S31: 
	   " y . y     ( ( A  y ) =  𝟭  (  x   . ( A  x ) = B ) )" 
	 by simp
       from S31 have S32: "(  y   . ( A  y ) = 
	 𝟭 )  (  x   . ( A  x ) = B )" by (rule MMI_r19_23aiv)
       from S6 S32 have S33: " x   . ( A  x ) = B" by (rule MMI_ax_mp)
       from A1 have S34: "A  ".
       from A3 have S35: "A  𝟬".
       { fix x y
	 from S35 have S36: "( A    x    y   )  
	   ( ( A  x ) = ( A  y )  x = y )" by (rule MMI_mulcant2)
	 have S37: 
	   "( ( A  x ) =   B  ( A  y ) = 
	   B )  ( A  x ) = ( A  y )" by (rule MMI_eqtr3t)
	 from S36 S37 have S38: "( A    x    y   )  
	   ( ( ( A  x ) = B  ( A  y ) = B )  
	   x = y )" by (rule MMI_syl5bi)
	 from S34 S38 have "( x    y   )  
	   ( ( ( A  x ) = B  ( A  y ) = B )  
	   x = y )" by (rule MMI_mp3an1)
       } then have  S39: " x y. ( x    y   )  
	   ( ( ( A  x ) = B  ( A  y ) = B )  
	   x = y )" by auto
       from S39 have S40: 
	 " x   .  y   . ( ( ( A  x ) = B  ( A  y ) = B )  
	 x = y )" by (rule MMI_rgen2)
       from S3 S33 S40 show "∃! x . x    ( A  x ) = B" by (rule MMI_mpbir2an)
qed

(** this is proven by definition rather than importing the Metamath proof **)

lemma (in MMIsar0) MMI_divval: assumes "A  "  "B  " "B  𝟬"
  shows "A \<cdiv> B =   { x   . B  x = A }"
  using cdiv_def by simp

(****** 154-160***********************************)


lemma (in MMIsar0) MMI_divmul: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  " and
    A4: "B  𝟬"   
   shows "( A \<cdiv> B ) = C  ( B  C ) = A"
proof -
   from A3 have S1: "C  ".
   { fix x
     have S2: "x = 
       C  ( ( A \<cdiv> B ) = x  ( A \<cdiv> B ) = C )" by (rule MMI_eqeq2)
     have S3: "x = C  ( B  x ) = ( B  C )" by (rule MMI_opreq2)
     from S3 have S4: "x = 
       C  ( ( B  x ) = A  ( B  C ) = A )" by (rule MMI_eqeq1d)
     from S2 S4 have  
       "x = C  
       ( ( ( A \<cdiv> B ) = x  ( B  x ) = A )  
       ( ( A \<cdiv> B ) = C  ( B  C ) = A ) )" by (rule MMI_bibi12d)
   } then have S5: "x. x = C  
       ( ( ( A \<cdiv> B ) = x  ( B  x ) = A )  
       ( ( A \<cdiv> B ) = C  ( B  C ) = A ) )"
     by simp
   from A2 have S6: "B  ".
   from A1 have S7: "A  ".
   from A4 have S8: "B  𝟬".
   from S6 S7 S8 have S9: "∃! x . x    ( B  x ) = A" by (rule MMI_receu)
   { fix x
     have S10: "( x    ( ∃! x . x    ( B  x ) = A ) )  
       ( ( B  x ) = 
       A   { x   . ( B  x ) = A } = x )" by (rule MMI_reuuni1)
     from S9 S10 have  
       "x    ( ( B  x ) =  A   { x   . ( B  x ) = A } = x )" 
       by (rule MMI_mpan2)
   } then have S11: 
       " x. x    ( ( B  x ) =  A   { x   . ( B  x ) = A } = x )" 
     by blast
   from A1 have S12: "A  ".
   from A2 have S13: "B  ".
   from A4 have S14: "B  𝟬".
   from S12 S13 S14 have S15: "( A \<cdiv> B ) = 
      { x   . ( B  x ) = A }" by (rule MMI_divval)
   from S15 have S16: " x. ( A \<cdiv> B ) = 
     x   { x   . ( B  x ) = A } = x" by simp(*rule MMI_eqeq1i*)
   from S11 S16 have S17: " x. x    
     ( ( A \<cdiv> B ) = x  ( B  x ) = A )" by (rule MMI_syl6rbbr)
   from S5 S17 have S18: "C    
     ( ( A \<cdiv> B ) = C  ( B  C ) = A )" by (rule MMI_vtoclga)
   from S1 S18 show "( A \<cdiv> B ) = C  ( B  C ) = A" by (rule MMI_ax_mp)
qed

lemma (in MMIsar0) MMI_divmulz: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "B  𝟬  
 ( ( A \<cdiv> B ) = C  ( B  C ) = A )"
proof -
   have S1: "B = 
 if ( B  𝟬 , B , 𝟭 )  
 ( A \<cdiv> B ) = 
 ( A \<cdiv> if ( B  𝟬 , B , 𝟭 ) )" by (rule MMI_opreq2)
   from S1 have S2: "B = 
 if ( B  𝟬 , B , 𝟭 )  
 ( ( A \<cdiv> B ) = 
 C  ( A \<cdiv> if ( B  𝟬 , B , 𝟭 ) ) = C )" by (rule MMI_eqeq1d)
   have S3: "B = 
 if ( B  𝟬 , B , 𝟭 )  
 ( B  C ) = 
 ( if ( B  𝟬 , B , 𝟭 )  C )" by (rule MMI_opreq1)
   from S3 have S4: "B = 
 if ( B  𝟬 , B , 𝟭 )  
 ( ( B  C ) = 
 A  ( if ( B  𝟬 , B , 𝟭 )  C ) = A )" by (rule MMI_eqeq1d)
   from S2 S4 have S5: "B = 
 if ( B  𝟬 , B , 𝟭 )  
 ( ( ( A \<cdiv> B ) = C  ( B  C ) = A )  
 ( ( A \<cdiv> if ( B  𝟬 , B , 𝟭 ) ) = 
 C  
 ( if ( B  𝟬 , B , 𝟭 )  C ) = A ) )" by (rule MMI_bibi12d)
   from A1 have S6: "A  ".
   from A2 have S7: "B  ".
   have S8: "𝟭  " by (rule MMI_1cn)
   from S7 S8 have S9: "if ( B  𝟬 , B , 𝟭 )  " by (rule MMI_keepel)
   from A3 have S10: "C  ".
   have S11: "if ( B  𝟬 , B , 𝟭 )  𝟬" by (rule MMI_elimne0)
   from S6 S9 S10 S11 have S12: "( A \<cdiv> if ( B  𝟬 , B , 𝟭 ) ) = 
 C  ( if ( B  𝟬 , B , 𝟭 )  C ) = A" by (rule MMI_divmul)
   from S5 S12 show "B  𝟬  
 ( ( A \<cdiv> B ) = C  ( B  C ) = A )" by (rule MMI_dedth)
qed

lemma (in MMIsar0) MMI_divmult: 
   shows "( ( A    B    C   )  B  𝟬 )  
 ( ( A \<cdiv> B ) = C  ( B  C ) = A )"
proof -
   have S1: "A = 
 if ( A   , A , 𝟬 )  
 ( A \<cdiv> B ) = 
 ( if ( A   , A , 𝟬 ) \<cdiv> B )" by (rule MMI_opreq1)
   from S1 have S2: "A = 
 if ( A   , A , 𝟬 )  
 ( ( A \<cdiv> B ) = 
 C  ( if ( A   , A , 𝟬 ) \<cdiv> B ) = C )" by (rule MMI_eqeq1d)
   have S3: "A = 
 if ( A   , A , 𝟬 )  
 ( ( B  C ) = 
 A  ( B  C ) = if ( A   , A , 𝟬 ) )" by (rule MMI_eqeq2)
   from S2 S3 have S4: "A = 
 if ( A   , A , 𝟬 )  
 ( ( ( A \<cdiv> B ) = C  ( B  C ) = A )  
 ( ( if ( A   , A , 𝟬 ) \<cdiv> B ) = 
 C  
 ( B  C ) = if ( A   , A , 𝟬 ) ) )" by (rule MMI_bibi12d)
   from S4 have S5: "A = 
 if ( A   , A , 𝟬 )  
 ( ( B  𝟬  ( ( A \<cdiv> B ) = C  ( B  C ) = A ) )  
 ( B  𝟬  
 ( ( if ( A   , A , 𝟬 ) \<cdiv> B ) = 
 C  
 ( B  C ) = if ( A   , A , 𝟬 ) ) ) )" by (rule MMI_imbi2d)
   have S6: "B = 
 if ( B   , B , 𝟬 )  
 ( B  𝟬  if ( B   , B , 𝟬 )  𝟬 )" by (rule MMI_neeq1)
   have S7: "B = 
 if ( B   , B , 𝟬 )  
 ( if ( A   , A , 𝟬 ) \<cdiv> B ) = 
 ( if ( A   , A , 𝟬 ) \<cdiv> if ( B   , B , 𝟬 ) )" by (rule MMI_opreq2)
   from S7 have S8: "B = 
 if ( B   , B , 𝟬 )  
 ( ( if ( A   , A , 𝟬 ) \<cdiv> B ) = 
 C  
 ( if ( A   , A , 𝟬 ) \<cdiv> if ( B   , B , 𝟬 ) ) = 
 C )" by (rule MMI_eqeq1d)
   have S9: "B = 
 if ( B   , B , 𝟬 )  
 ( B  C ) = 
 ( if ( B   , B , 𝟬 )  C )" by (rule MMI_opreq1)
   from S9 have S10: "B = 
 if ( B   , B , 𝟬 )  
 ( ( B  C ) = 
 if ( A   , A , 𝟬 )  
 ( if ( B   , B , 𝟬 )  C ) = 
 if ( A   , A , 𝟬 ) )" by (rule MMI_eqeq1d)
   from S8 S10 have S11: "B = 
 if ( B   , B , 𝟬 )  
 ( ( ( if ( A   , A , 𝟬 ) \<cdiv> B ) = C  ( B  C ) = if ( A   , A , 𝟬 ) )  
 ( ( if ( A   , A , 𝟬 ) \<cdiv> if ( B   , B , 𝟬 ) ) = 
 C  
 ( if ( B   , B , 𝟬 )  C ) = 
 if ( A   , A , 𝟬 ) ) )" by (rule MMI_bibi12d)
   from S6 S11 have S12: "B = 
 if ( B   , B , 𝟬 )  
 ( ( B  𝟬  ( ( if ( A   , A , 𝟬 ) \<cdiv> B ) = C  ( B  C ) = if ( A   , A , 𝟬 ) ) )  
 ( if ( B   , B , 𝟬 )  𝟬  
 ( ( if ( A   , A , 𝟬 ) \<cdiv> if ( B   , B , 𝟬 ) ) = 
 C  
 ( if ( B   , B , 𝟬 )  C ) = 
 if ( A   , A , 𝟬 ) ) ) )" by (rule MMI_imbi12d)
   have S13: "C = 
 if ( C   , C , 𝟬 )  
 ( ( if ( A   , A , 𝟬 ) \<cdiv> if ( B   , B , 𝟬 ) ) = 
 C  
 ( if ( A   , A , 𝟬 ) \<cdiv> if ( B   , B , 𝟬 ) ) = 
 if ( C   , C , 𝟬 ) )" by (rule MMI_eqeq2)
   have S14: "C = 
 if ( C   , C , 𝟬 )  
 ( if ( B   , B , 𝟬 )  C ) = 
 ( if ( B   , B , 𝟬 )  if ( C   , C , 𝟬 ) )" by (rule MMI_opreq2)
   from S14 have S15: "C = 
 if ( C   , C , 𝟬 )  
 ( ( if ( B   , B , 𝟬 )  C ) = 
 if ( A   , A , 𝟬 )  
 ( if ( B   , B , 𝟬 )  if ( C   , C , 𝟬 ) ) = 
 if ( A   , A , 𝟬 ) )" by (rule MMI_eqeq1d)
   from S13 S15 have S16: "C = 
 if ( C   , C , 𝟬 )  
 ( ( ( if ( A   , A , 𝟬 ) \<cdiv> if ( B   , B , 𝟬 ) ) = C  ( if ( B   , B , 𝟬 )  C ) = if ( A   , A , 𝟬 ) )  
 ( ( if ( A   , A , 𝟬 ) \<cdiv> if ( B   , B , 𝟬 ) ) = 
 if ( C   , C , 𝟬 )  
 ( if ( B   , B , 𝟬 )  if ( C   , C , 𝟬 ) ) = 
 if ( A   , A , 𝟬 ) ) )" by (rule MMI_bibi12d)
   from S16 have S17: "C = 
 if ( C   , C , 𝟬 )  
 ( ( if ( B   , B , 𝟬 )  𝟬  ( ( if ( A   , A , 𝟬 ) \<cdiv> if ( B   , B , 𝟬 ) ) = C  ( if ( B   , B , 𝟬 )  C ) = if ( A   , A , 𝟬 ) ) )  
 ( if ( B   , B , 𝟬 )  𝟬  
 ( ( if ( A   , A , 𝟬 ) \<cdiv> if ( B   , B , 𝟬 ) ) = 
 if ( C   , C , 𝟬 )  
 ( if ( B   , B , 𝟬 )  if ( C   , C , 𝟬 ) ) = 
 if ( A   , A , 𝟬 ) ) ) )" by (rule MMI_imbi2d)
   have S18: "𝟬  " by (rule MMI_0cn)
   from S18 have S19: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   have S20: "𝟬  " by (rule MMI_0cn)
   from S20 have S21: "if ( B   , B , 𝟬 )  " by (rule MMI_elimel)
   have S22: "𝟬  " by (rule MMI_0cn)
   from S22 have S23: "if ( C   , C , 𝟬 )  " by (rule MMI_elimel)
   from S19 S21 S23 have S24: "if ( B   , B , 𝟬 )  𝟬  
 ( ( if ( A   , A , 𝟬 ) \<cdiv> if ( B   , B , 𝟬 ) ) = 
 if ( C   , C , 𝟬 )  
 ( if ( B   , B , 𝟬 )  if ( C   , C , 𝟬 ) ) = 
 if ( A   , A , 𝟬 ) )" by (rule MMI_divmulz)
   from S5 S12 S17 S24 have S25: "( A    B    C   )  
 ( B  𝟬  
 ( ( A \<cdiv> B ) = C  ( B  C ) = A ) )" by (rule MMI_dedth3h)
   from S25 show "( ( A    B    C   )  B  𝟬 )  
 ( ( A \<cdiv> B ) = C  ( B  C ) = A )" by (rule MMI_imp)
qed

lemma (in MMIsar0) MMI_divmul2t: 
   shows "( ( A    B    C   )  B  𝟬 )  
 ( ( A \<cdiv> B ) = C  A = ( B  C ) )"
proof -
   have S1: "( ( A    B    C   )  B  𝟬 )  
 ( ( A \<cdiv> B ) = C  ( B  C ) = A )" by (rule MMI_divmult)
   have S2: "( B  C ) = A  A = ( B  C )" by (rule MMI_eqcom)
   from S1 S2 show "( ( A    B    C   )  B  𝟬 )  
 ( ( A \<cdiv> B ) = C  A = ( B  C ) )" by (rule MMI_syl6bb)
qed

lemma (in MMIsar0) MMI_divmul3t: 
   shows "( ( A    B    C   )  B  𝟬 )  
 ( ( A \<cdiv> B ) = C  A = ( C  B ) )"
proof -
   have S1: "( ( A    B    C   )  B  𝟬 )  
 ( ( A \<cdiv> B ) = C  A = ( B  C ) )" by (rule MMI_divmul2t)
   have S2: "( B    C   )  
 ( B  C ) = ( C  B )" by (rule MMI_axmulcom)
   from S2 have S3: "( B    C   )  
 ( A = ( B  C )  A = ( C  B ) )" by (rule MMI_eqeq2d)
   from S3 have S4: "( A    B    C   )  
 ( A = ( B  C )  A = ( C  B ) )" by (rule MMI_3adant1)
   from S4 have S5: "( ( A    B    C   )  B  𝟬 )  
 ( A = ( B  C )  A = ( C  B ) )" by (rule MMI_adantr)
   from S1 S5 show "( ( A    B    C   )  B  𝟬 )  
 ( ( A \<cdiv> B ) = C  A = ( C  B ) )" by (rule MMI_bitrd)
qed

lemma (in MMIsar0) MMI_divcl: assumes A1: "A  " and
    A2: "B  " and
    A3: "B  𝟬"   
   shows "( A \<cdiv> B )  "
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A3 have S3: "B  𝟬".
   from S1 S2 S3 have S4: "( A \<cdiv> B ) = 
  { x   . ( B  x ) = A }" by (rule MMI_divval)
   from A2 have S5: "B  ".
   from A1 have S6: "A  ".
   from A3 have S7: "B  𝟬".
   from S5 S6 S7 have S8: "∃! x . x    ( B  x ) = A" by (rule MMI_receu)
   have S9: "( ∃! x . x    ( B  x ) = 
 A )   { x   . ( B  x ) = A }  " by (rule MMI_reucl)
   from S8 S9 have S10: " { x   . ( B  x ) = A }  " by (rule MMI_ax_mp)
   from S4 S10 show "( A \<cdiv> B )  " by (rule MMI_eqeltr)
qed

lemma (in MMIsar0) MMI_divclz: assumes A1: "A  " and
    A2: "B  "   
   shows "B  𝟬  ( A \<cdiv> B )  "
proof -
   have S1: "B = 
 if ( B  𝟬 , B , 𝟭 )  
 ( A \<cdiv> B ) = 
 ( A \<cdiv> if ( B  𝟬 , B , 𝟭 ) )" by (rule MMI_opreq2)
   from S1 have S2: "B = 
 if ( B  𝟬 , B , 𝟭 )  
 ( ( A \<cdiv> B )    
 ( A \<cdiv> if ( B  𝟬 , B , 𝟭 ) )   )" by (rule MMI_eleq1d)
   from A1 have S3: "A  ".
   from A2 have S4: "B  ".
   have S5: "𝟭  " by (rule MMI_1cn)
   from S4 S5 have S6: "if ( B  𝟬 , B , 𝟭 )  " by (rule MMI_keepel)
   have S7: "if ( B  𝟬 , B , 𝟭 )  𝟬" by (rule MMI_elimne0)
   from S3 S6 S7 have S8: "( A \<cdiv> if ( B  𝟬 , B , 𝟭 ) )  " by (rule MMI_divcl)
   from S2 S8 show "B  𝟬  ( A \<cdiv> B )  " by (rule MMI_dedth)
qed

(************** 161-170 *****************************)


lemma (in MMIsar0) MMI_divclt: 
   shows "( A    B    B  𝟬 )  
 ( A \<cdiv> B )  "
proof -
   have S1: "A = 
 if ( A   , A , 𝟬 )  
 ( A \<cdiv> B ) = 
 ( if ( A   , A , 𝟬 ) \<cdiv> B )" by (rule MMI_opreq1)
   from S1 have S2: "A = 
 if ( A   , A , 𝟬 )  
 ( ( A \<cdiv> B )    
 ( if ( A   , A , 𝟬 ) \<cdiv> B )   )" by (rule MMI_eleq1d)
   from S2 have S3: "A = 
 if ( A   , A , 𝟬 )  
 ( ( B  𝟬  ( A \<cdiv> B )   )  
 ( B  𝟬  
 ( if ( A   , A , 𝟬 ) \<cdiv> B )   ) )" by (rule MMI_imbi2d)
   have S4: "B = 
 if ( B   , B , 𝟬 )  
 ( B  𝟬  if ( B   , B , 𝟬 )  𝟬 )" by (rule MMI_neeq1)
   have S5: "B = 
 if ( B   , B , 𝟬 )  
 ( if ( A   , A , 𝟬 ) \<cdiv> B ) = 
 ( if ( A   , A , 𝟬 ) \<cdiv> if ( B   , B , 𝟬 ) )" by (rule MMI_opreq2)
   from S5 have S6: "B = 
 if ( B   , B , 𝟬 )  
 ( ( if ( A   , A , 𝟬 ) \<cdiv> B )    
 ( if ( A   , A , 𝟬 ) \<cdiv> if ( B   , B , 𝟬 ) )   )" by (rule MMI_eleq1d)
   from S4 S6 have S7: "B = 
 if ( B   , B , 𝟬 )  
 ( ( B  𝟬  ( if ( A   , A , 𝟬 ) \<cdiv> B )   )  
 ( if ( B   , B , 𝟬 )  𝟬  
 ( if ( A   , A , 𝟬 ) \<cdiv> if ( B   , B , 𝟬 ) )   ) )" by (rule MMI_imbi12d)
   have S8: "𝟬  " by (rule MMI_0cn)
   from S8 have S9: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   have S10: "𝟬  " by (rule MMI_0cn)
   from S10 have S11: "if ( B   , B , 𝟬 )  " by (rule MMI_elimel)
   from S9 S11 have S12: "if ( B   , B , 𝟬 )  𝟬  
 ( if ( A   , A , 𝟬 ) \<cdiv> if ( B   , B , 𝟬 ) )  " by (rule MMI_divclz)
   from S3 S7 S12 have S13: "( A    B   )  
 ( B  𝟬  ( A \<cdiv> B )   )" by (rule MMI_dedth2h)
   from S13 show "( A    B    B  𝟬 )  
 ( A \<cdiv> B )  " by (rule MMI_3impia)
qed

lemma (in MMIsar0) MMI_reccl: assumes A1: "A  " and
    A2: "A  𝟬"   
   shows "( 𝟭 \<cdiv> A )  "
proof -
   have S1: "𝟭  " by (rule MMI_1cn)
   from A1 have S2: "A  ".
   from A2 have S3: "A  𝟬".
   from S1 S2 S3 show "( 𝟭 \<cdiv> A )  " by (rule MMI_divcl)
qed

lemma (in MMIsar0) MMI_recclz: assumes A1: "A  "   
   shows "A  𝟬  ( 𝟭 \<cdiv> A )  "
proof -
   have S1: "𝟭  " by (rule MMI_1cn)
   from A1 have S2: "A  ".
   from S1 S2 show "A  𝟬  ( 𝟭 \<cdiv> A )  " by (rule MMI_divclz)
qed

lemma (in MMIsar0) MMI_recclt: 
   shows "( A    A  𝟬 )  ( 𝟭 \<cdiv> A )  "
proof -
   have S1: "𝟭  " by (rule MMI_1cn)
   have S2: "( 𝟭    A    A  𝟬 )  
 ( 𝟭 \<cdiv> A )  " by (rule MMI_divclt)
   from S1 S2 show "( A    A  𝟬 )  ( 𝟭 \<cdiv> A )  " by (rule MMI_mp3an1)
qed

lemma (in MMIsar0) MMI_divcan2: assumes A1: "A  " and
    A2: "B  " and
    A3: "A  𝟬"   
   shows "( A  ( B \<cdiv> A ) ) = B"
proof -
   have S1: "( B \<cdiv> A ) = ( B \<cdiv> A )" by (rule MMI_eqid)
   from A2 have S2: "B  ".
   from A1 have S3: "A  ".
   from A2 have S4: "B  ".
   from A1 have S5: "A  ".
   from A3 have S6: "A  𝟬".
   from S4 S5 S6 have S7: "( B \<cdiv> A )  " by (rule MMI_divcl)
   from A3 have S8: "A  𝟬".
   from S2 S3 S7 S8 have S9: "( B \<cdiv> A ) = 
 ( B \<cdiv> A )  ( A  ( B \<cdiv> A ) ) = B" by (rule MMI_divmul)
   from S1 S9 show "( A  ( B \<cdiv> A ) ) = B" by (rule MMI_mpbi)
qed

lemma (in MMIsar0) MMI_divcan1: assumes A1: "A  " and
    A2: "B  " and
    A3: "A  𝟬"   
   shows "( ( B \<cdiv> A )  A ) = B"
proof -
   from A2 have S1: "B  ".
   from A1 have S2: "A  ".
   from A3 have S3: "A  𝟬".
   from S1 S2 S3 have S4: "( B \<cdiv> A )  " by (rule MMI_divcl)
   from A1 have S5: "A  ".
   from S4 S5 have S6: "( ( B \<cdiv> A )  A ) = ( A  ( B \<cdiv> A ) )" by (rule MMI_mulcom)
   from A1 have S7: "A  ".
   from A2 have S8: "B  ".
   from A3 have S9: "A  𝟬".
   from S7 S8 S9 have S10: "( A  ( B \<cdiv> A ) ) = B" by (rule MMI_divcan2)
   from S6 S10 show "( ( B \<cdiv> A )  A ) = B" by (rule MMI_eqtr)
qed

lemma (in MMIsar0) MMI_divcan1z: assumes A1: "A  " and
    A2: "B  "   
   shows "A  𝟬  ( ( B \<cdiv> A )  A ) = B"
proof -
   have S1: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 ( B \<cdiv> A ) = 
 ( B \<cdiv> if ( A  𝟬 , A , 𝟭 ) )" by (rule MMI_opreq2)
   have S2: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 A = if ( A  𝟬 , A , 𝟭 )" by (rule MMI_id)
   from S1 S2 have S3: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 ( ( B \<cdiv> A )  A ) = 
 ( ( B \<cdiv> if ( A  𝟬 , A , 𝟭 ) )  if ( A  𝟬 , A , 𝟭 ) )" by (rule MMI_opreq12d)
   from S3 have S4: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 ( ( ( B \<cdiv> A )  A ) = 
 B  
 ( ( B \<cdiv> if ( A  𝟬 , A , 𝟭 ) )  if ( A  𝟬 , A , 𝟭 ) ) = 
 B )" by (rule MMI_eqeq1d)
   from A1 have S5: "A  ".
   have S6: "𝟭  " by (rule MMI_1cn)
   from S5 S6 have S7: "if ( A  𝟬 , A , 𝟭 )  " by (rule MMI_keepel)
   from A2 have S8: "B  ".
   have S9: "if ( A  𝟬 , A , 𝟭 )  𝟬" by (rule MMI_elimne0)
   from S7 S8 S9 have S10: "( ( B \<cdiv> if ( A  𝟬 , A , 𝟭 ) )  if ( A  𝟬 , A , 𝟭 ) ) = 
 B" by (rule MMI_divcan1)
   from S4 S10 show "A  𝟬  ( ( B \<cdiv> A )  A ) = B" by (rule MMI_dedth)
qed

lemma (in MMIsar0) MMI_divcan2z: assumes A1: "A  " and
    A2: "B  "   
   shows "A  𝟬  ( A  ( B \<cdiv> A ) ) = B"
proof -
   have S1: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 A = if ( A  𝟬 , A , 𝟭 )" by (rule MMI_id)
   have S2: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 ( B \<cdiv> A ) = 
 ( B \<cdiv> if ( A  𝟬 , A , 𝟭 ) )" by (rule MMI_opreq2)
   from S1 S2 have S3: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 ( A  ( B \<cdiv> A ) ) = 
 ( if ( A  𝟬 , A , 𝟭 )  ( B \<cdiv> if ( A  𝟬 , A , 𝟭 ) ) )" by (rule MMI_opreq12d)
   from S3 have S4: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 ( ( A  ( B \<cdiv> A ) ) = 
 B  
 ( if ( A  𝟬 , A , 𝟭 )  ( B \<cdiv> if ( A  𝟬 , A , 𝟭 ) ) ) = 
 B )" by (rule MMI_eqeq1d)
   from A1 have S5: "A  ".
   have S6: "𝟭  " by (rule MMI_1cn)
   from S5 S6 have S7: "if ( A  𝟬 , A , 𝟭 )  " by (rule MMI_keepel)
   from A2 have S8: "B  ".
   have S9: "if ( A  𝟬 , A , 𝟭 )  𝟬" by (rule MMI_elimne0)
   from S7 S8 S9 have S10: "( if ( A  𝟬 , A , 𝟭 )  ( B \<cdiv> if ( A  𝟬 , A , 𝟭 ) ) ) = 
 B" by (rule MMI_divcan2)
   from S4 S10 show "A  𝟬  ( A  ( B \<cdiv> A ) ) = B" by (rule MMI_dedth)
qed

lemma (in MMIsar0) MMI_divcan1t: 
   shows "( A    B    A  𝟬 )  
 ( ( B \<cdiv> A )  A ) = B"
proof -
   have S1: "A = 
 if ( A   , A , 𝟬 )  
 ( A  𝟬  if ( A   , A , 𝟬 )  𝟬 )" by (rule MMI_neeq1)
   have S2: "A = 
 if ( A   , A , 𝟬 )  
 ( B \<cdiv> A ) = 
 ( B \<cdiv> if ( A   , A , 𝟬 ) )" by (rule MMI_opreq2)
   have S3: "A = 
 if ( A   , A , 𝟬 )  
 A = if ( A   , A , 𝟬 )" by (rule MMI_id)
   from S2 S3 have S4: "A = 
 if ( A   , A , 𝟬 )  
 ( ( B \<cdiv> A )  A ) = 
 ( ( B \<cdiv> if ( A   , A , 𝟬 ) )  if ( A   , A , 𝟬 ) )" by (rule MMI_opreq12d)
   from S4 have S5: "A = 
 if ( A   , A , 𝟬 )  
 ( ( ( B \<cdiv> A )  A ) = 
 B  
 ( ( B \<cdiv> if ( A   , A , 𝟬 ) )  if ( A   , A , 𝟬 ) ) = 
 B )" by (rule MMI_eqeq1d)
   from S1 S5 have S6: "A = 
 if ( A   , A , 𝟬 )  
 ( ( A  𝟬  ( ( B \<cdiv> A )  A ) = B )  
 ( if ( A   , A , 𝟬 )  𝟬  
 ( ( B \<cdiv> if ( A   , A , 𝟬 ) )  if ( A   , A , 𝟬 ) ) = 
 B ) )" by (rule MMI_imbi12d)
   have S7: "B = 
 if ( B   , B , 𝟬 )  
 ( B \<cdiv> if ( A   , A , 𝟬 ) ) = 
 ( if ( B   , B , 𝟬 ) \<cdiv> if ( A   , A , 𝟬 ) )" by (rule MMI_opreq1)
   from S7 have S8: "B = 
 if ( B   , B , 𝟬 )  
 ( ( B \<cdiv> if ( A   , A , 𝟬 ) )  if ( A   , A , 𝟬 ) ) = 
 ( ( if ( B   , B , 𝟬 ) \<cdiv> if ( A   , A , 𝟬 ) )  if ( A   , A , 𝟬 ) )" by (rule MMI_opreq1d)
   have S9: "B = 
 if ( B   , B , 𝟬 )  
 B = if ( B   , B , 𝟬 )" by (rule MMI_id)
   from S8 S9 have S10: "B = 
 if ( B   , B , 𝟬 )  
 ( ( ( B \<cdiv> if ( A   , A , 𝟬 ) )  if ( A   , A , 𝟬 ) ) = 
 B  
 ( ( if ( B   , B , 𝟬 ) \<cdiv> if ( A   , A , 𝟬 ) )  if ( A   , A , 𝟬 ) ) = 
 if ( B   , B , 𝟬 ) )" by (rule MMI_eqeq12d)
   from S10 have S11: "B = 
 if ( B   , B , 𝟬 )  
 ( ( if ( A   , A , 𝟬 )  𝟬  ( ( B \<cdiv> if ( A   , A , 𝟬 ) )  if ( A   , A , 𝟬 ) ) = B )  
 ( if ( A   , A , 𝟬 )  𝟬  
 ( ( if ( B   , B , 𝟬 ) \<cdiv> if ( A   , A , 𝟬 ) )  if ( A   , A , 𝟬 ) ) = 
 if ( B   , B , 𝟬 ) ) )" by (rule MMI_imbi2d)
   have S12: "𝟬  " by (rule MMI_0cn)
   from S12 have S13: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   have S14: "𝟬  " by (rule MMI_0cn)
   from S14 have S15: "if ( B   , B , 𝟬 )  " by (rule MMI_elimel)
   from S13 S15 have S16: "if ( A   , A , 𝟬 )  𝟬  
 ( ( if ( B   , B , 𝟬 ) \<cdiv> if ( A   , A , 𝟬 ) )  if ( A   , A , 𝟬 ) ) = 
 if ( B   , B , 𝟬 )" by (rule MMI_divcan1z)
   from S6 S11 S16 have S17: "( A    B   )  
 ( A  𝟬  ( ( B \<cdiv> A )  A ) = B )" by (rule MMI_dedth2h)
   from S17 show "( A    B    A  𝟬 )  
 ( ( B \<cdiv> A )  A ) = B" by (rule MMI_3impia)
qed

lemma (in MMIsar0) MMI_divcan2t: 
   shows "( A    B    A  𝟬 )  
 ( A  ( B \<cdiv> A ) ) = B"
proof -
   have S1: "A = 
 if ( A   , A , 𝟬 )  
 ( A  𝟬  if ( A   , A , 𝟬 )  𝟬 )" by (rule MMI_neeq1)
   have S2: "A = 
 if ( A   , A , 𝟬 )  
 A = if ( A   , A , 𝟬 )" by (rule MMI_id)
   have S3: "A = 
 if ( A   , A , 𝟬 )  
 ( B \<cdiv> A ) = 
 ( B \<cdiv> if ( A   , A , 𝟬 ) )" by (rule MMI_opreq2)
   from S2 S3 have S4: "A = 
 if ( A   , A , 𝟬 )  
 ( A  ( B \<cdiv> A ) ) = 
 ( if ( A   , A , 𝟬 )  ( B \<cdiv> if ( A   , A , 𝟬 ) ) )" by (rule MMI_opreq12d)
   from S4 have S5: "A = 
 if ( A   , A , 𝟬 )  
 ( ( A  ( B \<cdiv> A ) ) = 
 B  
 ( if ( A   , A , 𝟬 )  ( B \<cdiv> if ( A   , A , 𝟬 ) ) ) = 
 B )" by (rule MMI_eqeq1d)
   from S1 S5 have S6: "A = 
 if ( A   , A , 𝟬 )  
 ( ( A  𝟬  ( A  ( B \<cdiv> A ) ) = B )  
 ( if ( A   , A , 𝟬 )  𝟬  
 ( if ( A   , A , 𝟬 )  ( B \<cdiv> if ( A   , A , 𝟬 ) ) ) = 
 B ) )" by (rule MMI_imbi12d)
   have S7: "B = 
 if ( B   , B , 𝟬 )  
 ( B \<cdiv> if ( A   , A , 𝟬 ) ) = 
 ( if ( B   , B , 𝟬 ) \<cdiv> if ( A   , A , 𝟬 ) )" by (rule MMI_opreq1)
   from S7 have S8: "B = 
 if ( B   , B , 𝟬 )  
 ( if ( A   , A , 𝟬 )  ( B \<cdiv> if ( A   , A , 𝟬 ) ) ) = 
 ( if ( A   , A , 𝟬 )  ( if ( B   , B , 𝟬 ) \<cdiv> if ( A   , A , 𝟬 ) ) )" by (rule MMI_opreq2d)
   have S9: "B = 
 if ( B   , B , 𝟬 )  
 B = if ( B   , B , 𝟬 )" by (rule MMI_id)
   from S8 S9 have S10: "B = 
 if ( B   , B , 𝟬 )  
 ( ( if ( A   , A , 𝟬 )  ( B \<cdiv> if ( A   , A , 𝟬 ) ) ) = 
 B  
 ( if ( A   , A , 𝟬 )  ( if ( B   , B , 𝟬 ) \<cdiv> if ( A   , A , 𝟬 ) ) ) = 
 if ( B   , B , 𝟬 ) )" by (rule MMI_eqeq12d)
   from S10 have S11: "B = 
 if ( B   , B , 𝟬 )  
 ( ( if ( A   , A , 𝟬 )  𝟬  ( if ( A   , A , 𝟬 )  ( B \<cdiv> if ( A   , A , 𝟬 ) ) ) = B )  
 ( if ( A   , A , 𝟬 )  𝟬  
 ( if ( A   , A , 𝟬 )  ( if ( B   , B , 𝟬 ) \<cdiv> if ( A   , A , 𝟬 ) ) ) = 
 if ( B   , B , 𝟬 ) ) )" by (rule MMI_imbi2d)
   have S12: "𝟬  " by (rule MMI_0cn)
   from S12 have S13: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   have S14: "𝟬  " by (rule MMI_0cn)
   from S14 have S15: "if ( B   , B , 𝟬 )  " by (rule MMI_elimel)
   from S13 S15 have S16: "if ( A   , A , 𝟬 )  𝟬  
 ( if ( A   , A , 𝟬 )  ( if ( B   , B , 𝟬 ) \<cdiv> if ( A   , A , 𝟬 ) ) ) = 
 if ( B   , B , 𝟬 )" by (rule MMI_divcan2z)
   from S6 S11 S16 have S17: "( A    B   )  
 ( A  𝟬  ( A  ( B \<cdiv> A ) ) = B )" by (rule MMI_dedth2h)
   from S17 show "( A    B    A  𝟬 )  
 ( A  ( B \<cdiv> A ) ) = B" by (rule MMI_3impia)
qed

(************** 171-180**************************)

lemma (in MMIsar0) MMI_divne0bt: 
   shows "( A    B    B  𝟬 )  
 ( A  𝟬  ( A \<cdiv> B )  𝟬 )"
proof -
   have S1: "B    ( B  𝟬 ) = 𝟬" by (rule MMI_mul01t)
   from S1 have S2: "B    ( ( B  𝟬 ) = A  𝟬 = A )" by (rule MMI_eqeq1d)
   have S3: "A = 𝟬  𝟬 = A" by (rule MMI_eqcom)
   from S2 S3 have S4: "B    ( A = 𝟬  ( B  𝟬 ) = A )" by (rule MMI_syl6rbbrA)
   from S4 have S5: "( A    B    B  𝟬 )  
 ( A = 𝟬  ( B  𝟬 ) = A )" by (rule MMI_3ad2ant2)
   have S6: "𝟬  " by (rule MMI_0cn)
   have S7: "( ( A    B    𝟬   )  B  𝟬 )  
 ( ( A \<cdiv> B ) = 𝟬  ( B  𝟬 ) = A )" by (rule MMI_divmult)
   from S6 S7 have S8: "( ( A    B   )  B  𝟬 )  
 ( ( A \<cdiv> B ) = 𝟬  ( B  𝟬 ) = A )" by (rule MMI_mp3anl3)
   from S8 have S9: "( A    B    B  𝟬 )  
 ( ( A \<cdiv> B ) = 𝟬  ( B  𝟬 ) = A )" by (rule MMI_3impa)
   from S5 S9 have S10: "( A    B    B  𝟬 )  
 ( A = 𝟬  ( A \<cdiv> B ) = 𝟬 )" by (rule MMI_bitr4d)
   from S10 show "( A    B    B  𝟬 )  
 ( A  𝟬  ( A \<cdiv> B )  𝟬 )" by (rule MMI_eqneqd)
qed

lemma (in MMIsar0) MMI_divne0: assumes A1: "A  " and
    A2: "B  " and
    A3: "A  𝟬" and
    A4: "B  𝟬"   
   shows "( A \<cdiv> B )  𝟬"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A4 have S3: "B  𝟬".
   from A3 have S4: "A  𝟬".
   have S5: "( A    B    B  𝟬 )  
 ( A  𝟬  ( A \<cdiv> B )  𝟬 )" by (rule MMI_divne0bt)
   from S4 S5 have S6: "( A    B    B  𝟬 )  
 ( A \<cdiv> B )  𝟬" by (rule MMI_mpbii)
   from S1 S2 S3 S6 show "( A \<cdiv> B )  𝟬" by (rule MMI_mp3an)
qed

lemma (in MMIsar0) MMI_recne0z: assumes A1: "A  "   
   shows "A  𝟬  ( 𝟭 \<cdiv> A )  𝟬"
proof -
   have S1: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 ( 𝟭 \<cdiv> A ) = 
 ( 𝟭 \<cdiv> if ( A  𝟬 , A , 𝟭 ) )" by (rule MMI_opreq2)
   from S1 have S2: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 ( ( 𝟭 \<cdiv> A )  𝟬  
 ( 𝟭 \<cdiv> if ( A  𝟬 , A , 𝟭 ) )  𝟬 )" by (rule MMI_neeq1d)
   have S3: "𝟭  " by (rule MMI_1cn)
   from A1 have S4: "A  ".
   have S5: "𝟭  " by (rule MMI_1cn)
   from S4 S5 have S6: "if ( A  𝟬 , A , 𝟭 )  " by (rule MMI_keepel)
   have S7: "𝟭  𝟬" by (rule MMI_ax1ne0)
   have S8: "if ( A  𝟬 , A , 𝟭 )  𝟬" by (rule MMI_elimne0)
   from S3 S6 S7 S8 have S9: "( 𝟭 \<cdiv> if ( A  𝟬 , A , 𝟭 ) )  𝟬" by (rule MMI_divne0)
   from S2 S9 show "A  𝟬  ( 𝟭 \<cdiv> A )  𝟬" by (rule MMI_dedth)
qed

lemma (in MMIsar0) MMI_recne0t: 
   shows "( A    A  𝟬 )  ( 𝟭 \<cdiv> A )  𝟬"
proof -
   have S1: "A = 
 if ( A   , A , 𝟬 )  
 ( A  𝟬  if ( A   , A , 𝟬 )  𝟬 )" by (rule MMI_neeq1)
   have S2: "A = 
 if ( A   , A , 𝟬 )  
 ( 𝟭 \<cdiv> A ) = 
 ( 𝟭 \<cdiv> if ( A   , A , 𝟬 ) )" by (rule MMI_opreq2)
   from S2 have S3: "A = 
 if ( A   , A , 𝟬 )  
 ( ( 𝟭 \<cdiv> A )  𝟬  
 ( 𝟭 \<cdiv> if ( A   , A , 𝟬 ) )  𝟬 )" by (rule MMI_neeq1d)
   from S1 S3 have S4: "A = 
 if ( A   , A , 𝟬 )  
 ( ( A  𝟬  ( 𝟭 \<cdiv> A )  𝟬 )  
 ( if ( A   , A , 𝟬 )  𝟬  
 ( 𝟭 \<cdiv> if ( A   , A , 𝟬 ) )  𝟬 ) )" by (rule MMI_imbi12d)
   have S5: "𝟬  " by (rule MMI_0cn)
   from S5 have S6: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   from S6 have S7: "if ( A   , A , 𝟬 )  𝟬  
 ( 𝟭 \<cdiv> if ( A   , A , 𝟬 ) )  𝟬" by (rule MMI_recne0z)
   from S4 S7 have S8: "A    ( A  𝟬  ( 𝟭 \<cdiv> A )  𝟬 )" by (rule MMI_dedth)
   from S8 show "( A    A  𝟬 )  ( 𝟭 \<cdiv> A )  𝟬" by (rule MMI_imp)
qed

lemma (in MMIsar0) MMI_recid: assumes A1: "A  " and
    A2: "A  𝟬"   
   shows "( A  ( 𝟭 \<cdiv> A ) ) = 𝟭"
proof -
   from A1 have S1: "A  ".
   have S2: "𝟭  " by (rule MMI_1cn)
   from A2 have S3: "A  𝟬".
   from S1 S2 S3 show "( A  ( 𝟭 \<cdiv> A ) ) = 𝟭" by (rule MMI_divcan2)
qed

lemma (in MMIsar0) MMI_recidz: assumes A1: "A  "   
   shows "A  𝟬  ( A  ( 𝟭 \<cdiv> A ) ) = 𝟭"
proof -
   from A1 have S1: "A  ".
   have S2: "𝟭  " by (rule MMI_1cn)
   from S1 S2 show "A  𝟬  ( A  ( 𝟭 \<cdiv> A ) ) = 𝟭" by (rule MMI_divcan2z)
qed

lemma (in MMIsar0) MMI_recidt: 
   shows "( A    A  𝟬 )  
 ( A  ( 𝟭 \<cdiv> A ) ) = 𝟭"
proof -
   have S1: "A = 
 if ( A   , A , 𝟬 )  
 ( A  𝟬  if ( A   , A , 𝟬 )  𝟬 )" by (rule MMI_neeq1)
   have S2: "A = 
 if ( A   , A , 𝟬 )  
 A = if ( A   , A , 𝟬 )" by (rule MMI_id)
   have S3: "A = 
 if ( A   , A , 𝟬 )  
 ( 𝟭 \<cdiv> A ) = 
 ( 𝟭 \<cdiv> if ( A   , A , 𝟬 ) )" by (rule MMI_opreq2)
   from S2 S3 have S4: "A = 
 if ( A   , A , 𝟬 )  
 ( A  ( 𝟭 \<cdiv> A ) ) = 
 ( if ( A   , A , 𝟬 )  ( 𝟭 \<cdiv> if ( A   , A , 𝟬 ) ) )" by (rule MMI_opreq12d)
   from S4 have S5: "A = 
 if ( A   , A , 𝟬 )  
 ( ( A  ( 𝟭 \<cdiv> A ) ) = 
 𝟭  
 ( if ( A   , A , 𝟬 )  ( 𝟭 \<cdiv> if ( A   , A , 𝟬 ) ) ) = 
 𝟭 )" by (rule MMI_eqeq1d)
   from S1 S5 have S6: "A = 
 if ( A   , A , 𝟬 )  
 ( ( A  𝟬  ( A  ( 𝟭 \<cdiv> A ) ) = 𝟭 )  
 ( if ( A   , A , 𝟬 )  𝟬  
 ( if ( A   , A , 𝟬 )  ( 𝟭 \<cdiv> if ( A   , A , 𝟬 ) ) ) = 
 𝟭 ) )" by (rule MMI_imbi12d)
   have S7: "𝟬  " by (rule MMI_0cn)
   from S7 have S8: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   from S8 have S9: "if ( A   , A , 𝟬 )  𝟬  
 ( if ( A   , A , 𝟬 )  ( 𝟭 \<cdiv> if ( A   , A , 𝟬 ) ) ) = 
 𝟭" by (rule MMI_recidz)
   from S6 S9 have S10: "A    
 ( A  𝟬  ( A  ( 𝟭 \<cdiv> A ) ) = 𝟭 )" by (rule MMI_dedth)
   from S10 show "( A    A  𝟬 )  
 ( A  ( 𝟭 \<cdiv> A ) ) = 𝟭" by (rule MMI_imp)
qed

lemma (in MMIsar0) MMI_recid2t: 
   shows "( A    A  𝟬 )  
 ( ( 𝟭 \<cdiv> A )  A ) = 𝟭"
proof -
   have S1: "( ( 𝟭 \<cdiv> A )    A   )  
 ( ( 𝟭 \<cdiv> A )  A ) = ( A  ( 𝟭 \<cdiv> A ) )" by (rule MMI_axmulcom)
   have S2: "( A    A  𝟬 )  ( 𝟭 \<cdiv> A )  " by (rule MMI_recclt)
   have S3: "( A    A  𝟬 )  A  " by (rule MMI_pm3_26)
   from S1 S2 S3 have S4: "( A    A  𝟬 )  
 ( ( 𝟭 \<cdiv> A )  A ) = ( A  ( 𝟭 \<cdiv> A ) )" by (rule MMI_sylanc)
   have S5: "( A    A  𝟬 )  
 ( A  ( 𝟭 \<cdiv> A ) ) = 𝟭" by (rule MMI_recidt)
   from S4 S5 show "( A    A  𝟬 )  
 ( ( 𝟭 \<cdiv> A )  A ) = 𝟭" by (rule MMI_eqtrd)
qed

lemma (in MMIsar0) MMI_divrec: assumes A1: "A  " and
    A2: "B  " and
    A3: "B  𝟬"   
   shows "( A \<cdiv> B ) = ( A  ( 𝟭 \<cdiv> B ) )"
proof -
   from A2 have S1: "B  ".
   from A1 have S2: "A  ".
   from A2 have S3: "B  ".
   from A3 have S4: "B  𝟬".
   from S3 S4 have S5: "( 𝟭 \<cdiv> B )  " by (rule MMI_reccl)
   from S2 S5 have S6: "( A  ( 𝟭 \<cdiv> B ) )  " by (rule MMI_mulcl)
   from S1 S6 have S7: "( B  ( A  ( 𝟭 \<cdiv> B ) ) ) = 
 ( ( A  ( 𝟭 \<cdiv> B ) )  B )" by (rule MMI_mulcom)
   from A1 have S8: "A  ".
   from S5 have S9: "( 𝟭 \<cdiv> B )  " .
   from A2 have S10: "B  ".
   from S8 S9 S10 have S11: "( ( A  ( 𝟭 \<cdiv> B ) )  B ) = 
 ( A  ( ( 𝟭 \<cdiv> B )  B ) )" by (rule MMI_mulass)
   from A2 have S12: "B  ".
   have S13: "𝟭  " by (rule MMI_1cn)
   from A3 have S14: "B  𝟬".
   from S12 S13 S14 have S15: "( ( 𝟭 \<cdiv> B )  B ) = 𝟭" by (rule MMI_divcan1)
   from S15 have S16: "( A  ( ( 𝟭 \<cdiv> B )  B ) ) = ( A  𝟭 )" by (rule MMI_opreq2i)
   from A1 have S17: "A  ".
   from S17 have S18: "( A  𝟭 ) = A" by (rule MMI_mulid1)
   from S16 S18 have S19: "( A  ( ( 𝟭 \<cdiv> B )  B ) ) = A" by (rule MMI_eqtr)
   from S7 S11 S19 have S20: "( B  ( A  ( 𝟭 \<cdiv> B ) ) ) = A" by (rule MMI_3eqtr)
   from A1 have S21: "A  ".
   from A2 have S22: "B  ".
   from S6 have S23: "( A  ( 𝟭 \<cdiv> B ) )  " .
   from A3 have S24: "B  𝟬".
   from S21 S22 S23 S24 have S25: "( A \<cdiv> B ) = 
 ( A  ( 𝟭 \<cdiv> B ) )  
 ( B  ( A  ( 𝟭 \<cdiv> B ) ) ) = A" by (rule MMI_divmul)
   from S20 S25 show "( A \<cdiv> B ) = ( A  ( 𝟭 \<cdiv> B ) )" by (rule MMI_mpbir)
qed

lemma (in MMIsar0) MMI_divrecz: assumes A1: "A  " and
    A2: "B  "   
   shows "B  𝟬  ( A \<cdiv> B ) = ( A  ( 𝟭 \<cdiv> B ) )"
proof -
   have S1: "B = 
 if ( B  𝟬 , B , 𝟭 )  
 ( A \<cdiv> B ) = 
 ( A \<cdiv> if ( B  𝟬 , B , 𝟭 ) )" by (rule MMI_opreq2)
   have S2: "B = 
 if ( B  𝟬 , B , 𝟭 )  
 ( 𝟭 \<cdiv> B ) = 
 ( 𝟭 \<cdiv> if ( B  𝟬 , B , 𝟭 ) )" by (rule MMI_opreq2)
   from S2 have S3: "B = 
 if ( B  𝟬 , B , 𝟭 )  
 ( A  ( 𝟭 \<cdiv> B ) ) = 
 ( A  ( 𝟭 \<cdiv> if ( B  𝟬 , B , 𝟭 ) ) )" by (rule MMI_opreq2d)
   from S1 S3 have S4: "B = 
 if ( B  𝟬 , B , 𝟭 )  
 ( ( A \<cdiv> B ) = 
 ( A  ( 𝟭 \<cdiv> B ) )  
 ( A \<cdiv> if ( B  𝟬 , B , 𝟭 ) ) = 
 ( A  ( 𝟭 \<cdiv> if ( B  𝟬 , B , 𝟭 ) ) ) )" by (rule MMI_eqeq12d)
   from A1 have S5: "A  ".
   from A2 have S6: "B  ".
   have S7: "𝟭  " by (rule MMI_1cn)
   from S6 S7 have S8: "if ( B  𝟬 , B , 𝟭 )  " by (rule MMI_keepel)
   have S9: "if ( B  𝟬 , B , 𝟭 )  𝟬" by (rule MMI_elimne0)
   from S5 S8 S9 have S10: "( A \<cdiv> if ( B  𝟬 , B , 𝟭 ) ) = 
 ( A  ( 𝟭 \<cdiv> if ( B  𝟬 , B , 𝟭 ) ) )" by (rule MMI_divrec)
   from S4 S10 show "B  𝟬  ( A \<cdiv> B ) = ( A  ( 𝟭 \<cdiv> B ) )" 
     by (rule MMI_dedth)
qed

(**********181-190*************************************)

lemma (in MMIsar0) MMI_divrect: 
   shows "( A    B    B  𝟬 )  
 ( A \<cdiv> B ) = ( A  ( 𝟭 \<cdiv> B ) )"
proof -
   have S1: "A = 
 if ( A   , A , 𝟬 )  
 ( A \<cdiv> B ) = 
 ( if ( A   , A , 𝟬 ) \<cdiv> B )" by (rule MMI_opreq1)
   have S2: "A = 
 if ( A   , A , 𝟬 )  
 ( A  ( 𝟭 \<cdiv> B ) ) = 
 ( if ( A   , A , 𝟬 )  ( 𝟭 \<cdiv> B ) )" by (rule MMI_opreq1)
   from S1 S2 have S3: "A = 
 if ( A   , A , 𝟬 )  
 ( ( A \<cdiv> B ) = 
 ( A  ( 𝟭 \<cdiv> B ) )  
 ( if ( A   , A , 𝟬 ) \<cdiv> B ) = 
 ( if ( A   , A , 𝟬 )  ( 𝟭 \<cdiv> B ) ) )" by (rule MMI_eqeq12d)
   from S3 have S4: "A = 
 if ( A   , A , 𝟬 )  
 ( ( B  𝟬  ( A \<cdiv> B ) = ( A  ( 𝟭 \<cdiv> B ) ) )  
 ( B  𝟬  
 ( if ( A   , A , 𝟬 ) \<cdiv> B ) = 
 ( if ( A   , A , 𝟬 )  ( 𝟭 \<cdiv> B ) ) ) )" by (rule MMI_imbi2d)
   have S5: "B = 
 if ( B   , B , 𝟬 )  
 ( B  𝟬  if ( B   , B , 𝟬 )  𝟬 )" by (rule MMI_neeq1)
   have S6: "B = 
 if ( B   , B , 𝟬 )  
 ( if ( A   , A , 𝟬 ) \<cdiv> B ) = 
 ( if ( A   , A , 𝟬 ) \<cdiv> if ( B   , B , 𝟬 ) )" by (rule MMI_opreq2)
   have S7: "B = 
 if ( B   , B , 𝟬 )  
 ( 𝟭 \<cdiv> B ) = 
 ( 𝟭 \<cdiv> if ( B   , B , 𝟬 ) )" by (rule MMI_opreq2)
   from S7 have S8: "B = 
 if ( B   , B , 𝟬 )  
 ( if ( A   , A , 𝟬 )  ( 𝟭 \<cdiv> B ) ) = 
 ( if ( A   , A , 𝟬 )  ( 𝟭 \<cdiv> if ( B   , B , 𝟬 ) ) )" by (rule MMI_opreq2d)
   from S6 S8 have S9: "B = 
 if ( B   , B , 𝟬 )  
 ( ( if ( A   , A , 𝟬 ) \<cdiv> B ) = 
 ( if ( A   , A , 𝟬 )  ( 𝟭 \<cdiv> B ) )  
 ( if ( A   , A , 𝟬 ) \<cdiv> if ( B   , B , 𝟬 ) ) = 
 ( if ( A   , A , 𝟬 )  ( 𝟭 \<cdiv> if ( B   , B , 𝟬 ) ) ) )" by (rule MMI_eqeq12d)
   from S5 S9 have S10: "B = 
 if ( B   , B , 𝟬 )  
 ( ( B  𝟬  ( if ( A   , A , 𝟬 ) \<cdiv> B ) = ( if ( A   , A , 𝟬 )  ( 𝟭 \<cdiv> B ) ) )  
 ( if ( B   , B , 𝟬 )  𝟬  
 ( if ( A   , A , 𝟬 ) \<cdiv> if ( B   , B , 𝟬 ) ) = 
 ( if ( A   , A , 𝟬 )  ( 𝟭 \<cdiv> if ( B   , B , 𝟬 ) ) ) ) )" by (rule MMI_imbi12d)
   have S11: "𝟬  " by (rule MMI_0cn)
   from S11 have S12: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   have S13: "𝟬  " by (rule MMI_0cn)
   from S13 have S14: "if ( B   , B , 𝟬 )  " by (rule MMI_elimel)
   from S12 S14 have S15: "if ( B   , B , 𝟬 )  𝟬  
 ( if ( A   , A , 𝟬 ) \<cdiv> if ( B   , B , 𝟬 ) ) = 
 ( if ( A   , A , 𝟬 )  ( 𝟭 \<cdiv> if ( B   , B , 𝟬 ) ) )" by (rule MMI_divrecz)
   from S4 S10 S15 have S16: "( A    B   )  
 ( B  𝟬  
 ( A \<cdiv> B ) = ( A  ( 𝟭 \<cdiv> B ) ) )" by (rule MMI_dedth2h)
   from S16 show "( A    B    B  𝟬 )  
 ( A \<cdiv> B ) = ( A  ( 𝟭 \<cdiv> B ) )" by (rule MMI_3impia)
qed

lemma (in MMIsar0) MMI_divrec2t: 
   shows "( A    B    B  𝟬 )  
 ( A \<cdiv> B ) = ( ( 𝟭 \<cdiv> B )  A )"
proof -
   have S1: "( A    B    B  𝟬 )  
 ( A \<cdiv> B ) = ( A  ( 𝟭 \<cdiv> B ) )" by (rule MMI_divrect)
   have S2: "( A    ( 𝟭 \<cdiv> B )   )  
 ( A  ( 𝟭 \<cdiv> B ) ) = ( ( 𝟭 \<cdiv> B )  A )" by (rule MMI_axmulcom)
   have S3: "( A    B    B  𝟬 )  A  " by (rule MMI_3simp1)
   have S4: "( B    B  𝟬 )  ( 𝟭 \<cdiv> B )  " by (rule MMI_recclt)
   from S4 have S5: "( A    B    B  𝟬 )  
 ( 𝟭 \<cdiv> B )  " by (rule MMI_3adant1)
   from S2 S3 S5 have S6: "( A    B    B  𝟬 )  
 ( A  ( 𝟭 \<cdiv> B ) ) = ( ( 𝟭 \<cdiv> B )  A )" by (rule MMI_sylanc)
   from S1 S6 show "( A    B    B  𝟬 )  
 ( A \<cdiv> B ) = ( ( 𝟭 \<cdiv> B )  A )" by (rule MMI_eqtrd)
qed

lemma (in MMIsar0) MMI_divasst: 
   shows "( ( A    B    C   )  C  𝟬 )  
 ( ( A  B ) \<cdiv> C ) = ( A  ( B \<cdiv> C ) )"
proof -
   have S1: "A    A  " by (rule MMI_id)
   have S2: "B    B  " by (rule MMI_id)
   have S3: "( C    C  𝟬 )  ( 𝟭 \<cdiv> C )  " by (rule MMI_recclt)
   from S1 S2 S3 have S4: "( A    B    ( C    C  𝟬 ) )  
 ( A    B    ( 𝟭 \<cdiv> C )   )" by (rule MMI_3anim123i)
   from S4 have S5: "A    
 ( B    
 ( ( C    C  𝟬 )  
 ( A    B    ( 𝟭 \<cdiv> C )   ) ) )" by (rule MMI_3exp)
   from S5 have S6: "A    
 ( B    
 ( C    
 ( C  𝟬  
 ( A    B    ( 𝟭 \<cdiv> C )   ) ) ) )" by (rule MMI_exp4a)
   from S6 have S7: "( ( A    B    C   )  C  𝟬 )  
 ( A    B    ( 𝟭 \<cdiv> C )   )" by (rule MMI_3imp1)
   have S8: "( A    B    ( 𝟭 \<cdiv> C )   )  
 ( ( A  B )  ( 𝟭 \<cdiv> C ) ) = 
 ( A  ( B  ( 𝟭 \<cdiv> C ) ) )" by (rule MMI_axmulass)
   from S7 S8 have S9: "( ( A    B    C   )  C  𝟬 )  
 ( ( A  B )  ( 𝟭 \<cdiv> C ) ) = 
 ( A  ( B  ( 𝟭 \<cdiv> C ) ) )" by (rule MMI_syl)
   have S10: "( ( A  B )    C    C  𝟬 )  
 ( ( A  B ) \<cdiv> C ) = 
 ( ( A  B )  ( 𝟭 \<cdiv> C ) )" by (rule MMI_divrect)
   from S10 have S11: "( ( ( A  B )    C   )  C  𝟬 )  
 ( ( A  B ) \<cdiv> C ) = 
 ( ( A  B )  ( 𝟭 \<cdiv> C ) )" by (rule MMI_3expa)
   have S12: "( A    B   )  ( A  B )  " by (rule MMI_axmulcl)
   from S12 have S13: "( ( A    B   )  C   )  
 ( ( A  B )    C   )" by (rule MMI_anim1i)
   from S13 have S14: "( A    B    C   )  
 ( ( A  B )    C   )" by (rule MMI_3impa)
   from S11 S14 have S15: "( ( A    B    C   )  C  𝟬 )  
 ( ( A  B ) \<cdiv> C ) = 
 ( ( A  B )  ( 𝟭 \<cdiv> C ) )" by (rule MMI_sylan)
   have S16: "( B    C    C  𝟬 )  
 ( B \<cdiv> C ) = ( B  ( 𝟭 \<cdiv> C ) )" by (rule MMI_divrect)
   from S16 have S17: "( ( B    C   )  C  𝟬 )  
 ( B \<cdiv> C ) = ( B  ( 𝟭 \<cdiv> C ) )" by (rule MMI_3expa)
   from S17 have S18: "( ( A    B    C   )  C  𝟬 )  
 ( B \<cdiv> C ) = ( B  ( 𝟭 \<cdiv> C ) )" by (rule MMI_3adantl1)
   from S18 have S19: "( ( A    B    C   )  C  𝟬 )  
 ( A  ( B \<cdiv> C ) ) = 
 ( A  ( B  ( 𝟭 \<cdiv> C ) ) )" by (rule MMI_opreq2d)
   from S9 S15 S19 show "( ( A    B    C   )  C  𝟬 )  
 ( ( A  B ) \<cdiv> C ) = ( A  ( B \<cdiv> C ) )" by (rule MMI_3eqtr4d)
qed

lemma (in MMIsar0) MMI_div23t: 
   shows "( ( A    B    C   )  C  𝟬 )  
 ( ( A  B ) \<cdiv> C ) = ( ( A \<cdiv> C )  B )"
proof -
   have S1: "( A    B   )  
 ( A  B ) = ( B  A )" by (rule MMI_axmulcom)
   from S1 have S2: "( A    B    C   )  
 ( A  B ) = ( B  A )" by (rule MMI_3adant3)
   from S2 have S3: "( ( A    B    C   )  C  𝟬 )  
 ( A  B ) = ( B  A )" by (rule MMI_adantr)
   from S3 have S4: "( ( A    B    C   )  C  𝟬 )  
 ( ( A  B ) \<cdiv> C ) = ( ( B  A ) \<cdiv> C )" by (rule MMI_opreq1d)
   have S5: "( ( B    A    C   )  C  𝟬 )  
 ( ( B  A ) \<cdiv> C ) = ( B  ( A \<cdiv> C ) )" by (rule MMI_divasst)
   from S5 have S6: "( B    A    C   )  
 ( C  𝟬  
 ( ( B  A ) \<cdiv> C ) = 
 ( B  ( A \<cdiv> C ) ) )" by (rule MMI_ex)
   from S6 have S7: "( A    B    C   )  
 ( C  𝟬  
 ( ( B  A ) \<cdiv> C ) = 
 ( B  ( A \<cdiv> C ) ) )" by (rule MMI_3com12)
   from S7 have S8: "( ( A    B    C   )  C  𝟬 )  
 ( ( B  A ) \<cdiv> C ) = ( B  ( A \<cdiv> C ) )" by (rule MMI_imp)
   have S9: "( B    ( A \<cdiv> C )   )  
 ( B  ( A \<cdiv> C ) ) = ( ( A \<cdiv> C )  B )" by (rule MMI_axmulcom)
   have S10: "( A    B    C   )  B  " by (rule MMI_3simp2)
   from S10 have S11: "( ( A    B    C   )  C  𝟬 )  
 B  " by (rule MMI_adantr)
   have S12: "( A    C    C  𝟬 )  
 ( A \<cdiv> C )  " by (rule MMI_divclt)
   from S12 have S13: "( ( A    C   )  C  𝟬 )  
 ( A \<cdiv> C )  " by (rule MMI_3expa)
   from S13 have S14: "( ( A    B    C   )  C  𝟬 )  
 ( A \<cdiv> C )  " by (rule MMI_3adantl2)
   from S9 S11 S14 have S15: "( ( A    B    C   )  C  𝟬 )  
 ( B  ( A \<cdiv> C ) ) = ( ( A \<cdiv> C )  B )" by (rule MMI_sylanc)
   from S4 S8 S15 show "( ( A    B    C   )  C  𝟬 )  
 ( ( A  B ) \<cdiv> C ) = ( ( A \<cdiv> C )  B )" by (rule MMI_3eqtrd)
qed

lemma (in MMIsar0) MMI_div13t: 
   shows "( ( A    B    C   )  B  𝟬 )  
 ( ( A \<cdiv> B )  C ) = ( ( C \<cdiv> B )  A )"
proof -
   have S1: "( A    C   )  
 ( A  C ) = ( C  A )" by (rule MMI_axmulcom)
   from S1 have S2: "( A    C   )  
 ( ( A  C ) \<cdiv> B ) = ( ( C  A ) \<cdiv> B )" by (rule MMI_opreq1d)
   from S2 have S3: "( A    B    C   )  
 ( ( A  C ) \<cdiv> B ) = ( ( C  A ) \<cdiv> B )" by (rule MMI_3adant2)
   from S3 have S4: "( ( A    B    C   )  B  𝟬 )  
 ( ( A  C ) \<cdiv> B ) = ( ( C  A ) \<cdiv> B )" by (rule MMI_adantr)
   have S5: "( ( A    C    B   )  B  𝟬 )  
 ( ( A  C ) \<cdiv> B ) = ( ( A \<cdiv> B )  C )" by (rule MMI_div23t)
   from S5 have S6: "( A    C    B   )  
 ( B  𝟬  
 ( ( A  C ) \<cdiv> B ) = 
 ( ( A \<cdiv> B )  C ) )" by (rule MMI_ex)
   from S6 have S7: "( A    B    C   )  
 ( B  𝟬  
 ( ( A  C ) \<cdiv> B ) = 
 ( ( A \<cdiv> B )  C ) )" by (rule MMI_3com23)
   from S7 have S8: "( ( A    B    C   )  B  𝟬 )  
 ( ( A  C ) \<cdiv> B ) = ( ( A \<cdiv> B )  C )" by (rule MMI_imp)
   have S9: "( ( C    A    B   )  B  𝟬 )  
 ( ( C  A ) \<cdiv> B ) = ( ( C \<cdiv> B )  A )" by (rule MMI_div23t)
   from S9 have S10: "( C    A    B   )  
 ( B  𝟬  
 ( ( C  A ) \<cdiv> B ) = 
 ( ( C \<cdiv> B )  A ) )" by (rule MMI_ex)
   from S10 have S11: "( A    B    C   )  
 ( B  𝟬  
 ( ( C  A ) \<cdiv> B ) = 
 ( ( C \<cdiv> B )  A ) )" by (rule MMI_3coml)
   from S11 have S12: "( ( A    B    C   )  B  𝟬 )  
 ( ( C  A ) \<cdiv> B ) = ( ( C \<cdiv> B )  A )" by (rule MMI_imp)
   from S4 S8 S12 show "( ( A    B    C   )  B  𝟬 )  
 ( ( A \<cdiv> B )  C ) = ( ( C \<cdiv> B )  A )" by (rule MMI_3eqtr3d)
qed

lemma (in MMIsar0) MMI_div12t: 
   shows "( ( A    B    C   )  C  𝟬 )  
 ( A  ( B \<cdiv> C ) ) = ( B  ( A \<cdiv> C ) )"
proof -
   have S1: "( A    ( B \<cdiv> C )   )  
 ( A  ( B \<cdiv> C ) ) = ( ( B \<cdiv> C )  A )" by (rule MMI_axmulcom)
   have S2: "( A    B    C   )  A  " by (rule MMI_3simp1)
   from S2 have S3: "( ( A    B    C   )  C  𝟬 )  
 A  " by (rule MMI_adantr)
   have S4: "( B    C    C  𝟬 )  
 ( B \<cdiv> C )  " by (rule MMI_divclt)
   from S4 have S5: "( ( B    C   )  C  𝟬 )  
 ( B \<cdiv> C )  " by (rule MMI_3expa)
   from S5 have S6: "( ( A    B    C   )  C  𝟬 )  
 ( B \<cdiv> C )  " by (rule MMI_3adantl1)
   from S1 S3 S6 have S7: "( ( A    B    C   )  C  𝟬 )  
 ( A  ( B \<cdiv> C ) ) = ( ( B \<cdiv> C )  A )" by (rule MMI_sylanc)
   have S8: "( ( B    C    A   )  C  𝟬 )  
 ( ( B \<cdiv> C )  A ) = ( ( A \<cdiv> C )  B )" by (rule MMI_div13t)
   from S8 have S9: "( B    C    A   )  
 ( C  𝟬  
 ( ( B \<cdiv> C )  A ) = 
 ( ( A \<cdiv> C )  B ) )" by (rule MMI_ex)
   from S9 have S10: "( A    B    C   )  
 ( C  𝟬  
 ( ( B \<cdiv> C )  A ) = 
 ( ( A \<cdiv> C )  B ) )" by (rule MMI_3comr)
   from S10 have S11: "( ( A    B    C   )  C  𝟬 )  
 ( ( B \<cdiv> C )  A ) = ( ( A \<cdiv> C )  B )" by (rule MMI_imp)
   have S12: "( ( A \<cdiv> C )    B   )  
 ( ( A \<cdiv> C )  B ) = ( B  ( A \<cdiv> C ) )" by (rule MMI_axmulcom)
   have S13: "( A    C    C  𝟬 )  
 ( A \<cdiv> C )  " by (rule MMI_divclt)
   from S13 have S14: "( ( A    C   )  C  𝟬 )  
 ( A \<cdiv> C )  " by (rule MMI_3expa)
   from S14 have S15: "( ( A    B    C   )  C  𝟬 )  
 ( A \<cdiv> C )  " by (rule MMI_3adantl2)
   have S16: "( A    B    C   )  B  " by (rule MMI_3simp2)
   from S16 have S17: "( ( A    B    C   )  C  𝟬 )  
 B  " by (rule MMI_adantr)
   from S12 S15 S17 have S18: "( ( A    B    C   )  C  𝟬 )  
 ( ( A \<cdiv> C )  B ) = ( B  ( A \<cdiv> C ) )" by (rule MMI_sylanc)
   from S7 S11 S18 show "( ( A    B    C   )  C  𝟬 )  
 ( A  ( B \<cdiv> C ) ) = ( B  ( A \<cdiv> C ) )" by (rule MMI_3eqtrd)
qed

lemma (in MMIsar0) MMI_divassz: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "C  𝟬  
 ( ( A  B ) \<cdiv> C ) = ( A  ( B \<cdiv> C ) )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A3 have S3: "C  ".
   from S1 S2 S3 have S4: "A    B    C  " by (rule MMI_3pm3_2i)
   have S5: "( ( A    B    C   )  C  𝟬 )  
 ( ( A  B ) \<cdiv> C ) = ( A  ( B \<cdiv> C ) )" by (rule MMI_divasst)
   from S4 S5 show "C  𝟬  
 ( ( A  B ) \<cdiv> C ) = ( A  ( B \<cdiv> C ) )" by (rule MMI_mpan)
qed

lemma (in MMIsar0) MMI_divass: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  " and
    A4: "C  𝟬"   
   shows "( ( A  B ) \<cdiv> C ) = ( A  ( B \<cdiv> C ) )"
proof -
   from A4 have S1: "C  𝟬".
   from A1 have S2: "A  ".
   from A2 have S3: "B  ".
   from A3 have S4: "C  ".
   from S2 S3 S4 have S5: "C  𝟬  
 ( ( A  B ) \<cdiv> C ) = ( A  ( B \<cdiv> C ) )" by (rule MMI_divassz)
   from S1 S5 show "( ( A  B ) \<cdiv> C ) = ( A  ( B \<cdiv> C ) )" by (rule MMI_ax_mp)
qed

lemma (in MMIsar0) MMI_divdir: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  " and
    A4: "C  𝟬"   
   shows "( ( A \<ca> B ) \<cdiv> C ) = 
 ( ( A \<cdiv> C ) \<ca> ( B \<cdiv> C ) )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A3 have S3: "C  ".
   from A4 have S4: "C  𝟬".
   from S3 S4 have S5: "( 𝟭 \<cdiv> C )  " by (rule MMI_reccl)
   from S1 S2 S5 have S6: "( ( A \<ca> B )  ( 𝟭 \<cdiv> C ) ) = 
 ( ( A  ( 𝟭 \<cdiv> C ) ) \<ca> ( B  ( 𝟭 \<cdiv> C ) ) )" by (rule MMI_adddir)
   from A1 have S7: "A  ".
   from A2 have S8: "B  ".
   from S7 S8 have S9: "( A \<ca> B )  " by (rule MMI_addcl)
   from A3 have S10: "C  ".
   from A4 have S11: "C  𝟬".
   from S9 S10 S11 have S12: "( ( A \<ca> B ) \<cdiv> C ) = 
 ( ( A \<ca> B )  ( 𝟭 \<cdiv> C ) )" by (rule MMI_divrec)
   from A1 have S13: "A  ".
   from A3 have S14: "C  ".
   from A4 have S15: "C  𝟬".
   from S13 S14 S15 have S16: "( A \<cdiv> C ) = ( A  ( 𝟭 \<cdiv> C ) )" by (rule MMI_divrec)
   from A2 have S17: "B  ".
   from A3 have S18: "C  ".
   from A4 have S19: "C  𝟬".
   from S17 S18 S19 have S20: "( B \<cdiv> C ) = ( B  ( 𝟭 \<cdiv> C ) )" by (rule MMI_divrec)
   from S16 S20 have S21: "( ( A \<cdiv> C ) \<ca> ( B \<cdiv> C ) ) = 
 ( ( A  ( 𝟭 \<cdiv> C ) ) \<ca> ( B  ( 𝟭 \<cdiv> C ) ) )" by (rule MMI_opreq12i)
   from S6 S12 S21 show "( ( A \<ca> B ) \<cdiv> C ) = 
 ( ( A \<cdiv> C ) \<ca> ( B \<cdiv> C ) )" by (rule MMI_3eqtr4)
qed

lemma (in MMIsar0) MMI_div23: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  " and
    A4: "C  𝟬"   
   shows "( ( A  B ) \<cdiv> C ) = ( ( A \<cdiv> C )  B )"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from S1 S2 have S3: "( A  B ) = ( B  A )" by (rule MMI_mulcom)
   from S3 have S4: "( ( A  B ) \<cdiv> C ) = ( ( B  A ) \<cdiv> C )" 
     by (rule MMI_opreq1i)
   from A2 have S5: "B  ".
   from A1 have S6: "A  ".
   from A3 have S7: "C  ".
   from A4 have S8: "C  𝟬".
   from S5 S6 S7 S8 have 
     S9: "( ( B  A ) \<cdiv> C ) = ( B  ( A \<cdiv> C ) )" by (rule MMI_divass)
   from A2 have S10: "B  ".
   from A1 have S11: "A  ".
   from A3 have S12: "C  ".
   from A4 have S13: "C  𝟬".
   from S11 S12 S13 have S14: "( A \<cdiv> C )  " by (rule MMI_divcl)
   from S10 S14 have S15: "( B  ( A \<cdiv> C ) ) = ( ( A \<cdiv> C )  B )" 
     by (rule MMI_mulcom)
   from S4 S9 S15 show "( ( A  B ) \<cdiv> C ) = ( ( A \<cdiv> C )  B )" 
     by (rule MMI_3eqtr)
qed

(************* 191-200*************************************)


lemma (in MMIsar0) MMI_divdirz: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  "   
   shows "C  𝟬  
 ( ( A \<ca> B ) \<cdiv> C ) = 
 ( ( A \<cdiv> C ) \<ca> ( B \<cdiv> C ) )"
proof -
   have S1: "C = 
 if ( C  𝟬 , C , 𝟭 )  
 ( ( A \<ca> B ) \<cdiv> C ) = 
 ( ( A \<ca> B ) \<cdiv> if ( C  𝟬 , C , 𝟭 ) )" by (rule MMI_opreq2)
   have S2: "C = 
 if ( C  𝟬 , C , 𝟭 )  
 ( A \<cdiv> C ) = 
 ( A \<cdiv> if ( C  𝟬 , C , 𝟭 ) )" by (rule MMI_opreq2)
   have S3: "C = 
 if ( C  𝟬 , C , 𝟭 )  
 ( B \<cdiv> C ) = 
 ( B \<cdiv> if ( C  𝟬 , C , 𝟭 ) )" by (rule MMI_opreq2)
   from S2 S3 have S4: "C = 
 if ( C  𝟬 , C , 𝟭 )  
 ( ( A \<cdiv> C ) \<ca> ( B \<cdiv> C ) ) = 
 ( ( A \<cdiv> if ( C  𝟬 , C , 𝟭 ) ) \<ca> ( B \<cdiv> if ( C  𝟬 , C , 𝟭 ) ) )" by (rule MMI_opreq12d)
   from S1 S4 have S5: "C = 
 if ( C  𝟬 , C , 𝟭 )  
 ( ( ( A \<ca> B ) \<cdiv> C ) = 
 ( ( A \<cdiv> C ) \<ca> ( B \<cdiv> C ) )  
 ( ( A \<ca> B ) \<cdiv> if ( C  𝟬 , C , 𝟭 ) ) = 
 ( ( A \<cdiv> if ( C  𝟬 , C , 𝟭 ) ) \<ca> ( B \<cdiv> if ( C  𝟬 , C , 𝟭 ) ) ) )" by (rule MMI_eqeq12d)
   from A1 have S6: "A  ".
   from A2 have S7: "B  ".
   from A3 have S8: "C  ".
   have S9: "𝟭  " by (rule MMI_1cn)
   from S8 S9 have S10: "if ( C  𝟬 , C , 𝟭 )  " by (rule MMI_keepel)
   have S11: "if ( C  𝟬 , C , 𝟭 )  𝟬" by (rule MMI_elimne0)
   from S6 S7 S10 S11 have S12: "( ( A \<ca> B ) \<cdiv> if ( C  𝟬 , C , 𝟭 ) ) = 
 ( ( A \<cdiv> if ( C  𝟬 , C , 𝟭 ) ) \<ca> ( B \<cdiv> if ( C  𝟬 , C , 𝟭 ) ) )" by (rule MMI_divdir)
   from S5 S12 show "C  𝟬  
 ( ( A \<ca> B ) \<cdiv> C ) = 
 ( ( A \<cdiv> C ) \<ca> ( B \<cdiv> C ) )" by (rule MMI_dedth)
qed

lemma (in MMIsar0) MMI_divdirt: 
   shows "( ( A    B    C   )  C  𝟬 )  
 ( ( A \<ca> B ) \<cdiv> C ) = 
 ( ( A \<cdiv> C ) \<ca> ( B \<cdiv> C ) )"
proof -
   have S1: "A = 
 if ( A   , A , 𝟬 )  
 ( A \<ca> B ) = 
 ( if ( A   , A , 𝟬 ) \<ca> B )" by (rule MMI_opreq1)
   from S1 have S2: "A = 
 if ( A   , A , 𝟬 )  
 ( ( A \<ca> B ) \<cdiv> C ) = 
 ( ( if ( A   , A , 𝟬 ) \<ca> B ) \<cdiv> C )" by (rule MMI_opreq1d)
   have S3: "A = 
 if ( A   , A , 𝟬 )  
 ( A \<cdiv> C ) = 
 ( if ( A   , A , 𝟬 ) \<cdiv> C )" by (rule MMI_opreq1)
   from S3 have S4: "A = 
 if ( A   , A , 𝟬 )  
 ( ( A \<cdiv> C ) \<ca> ( B \<cdiv> C ) ) = 
 ( ( if ( A   , A , 𝟬 ) \<cdiv> C ) \<ca> ( B \<cdiv> C ) )" by (rule MMI_opreq1d)
   from S2 S4 have S5: "A = 
 if ( A   , A , 𝟬 )  
 ( ( ( A \<ca> B ) \<cdiv> C ) = 
 ( ( A \<cdiv> C ) \<ca> ( B \<cdiv> C ) )  
 ( ( if ( A   , A , 𝟬 ) \<ca> B ) \<cdiv> C ) = 
 ( ( if ( A   , A , 𝟬 ) \<cdiv> C ) \<ca> ( B \<cdiv> C ) ) )" by (rule MMI_eqeq12d)
   from S5 have S6: "A = 
 if ( A   , A , 𝟬 )  
 ( ( C  𝟬  ( ( A \<ca> B ) \<cdiv> C ) = ( ( A \<cdiv> C ) \<ca> ( B \<cdiv> C ) ) )  
 ( C  𝟬  
 ( ( if ( A   , A , 𝟬 ) \<ca> B ) \<cdiv> C ) = 
 ( ( if ( A   , A , 𝟬 ) \<cdiv> C ) \<ca> ( B \<cdiv> C ) ) ) )" by (rule MMI_imbi2d)
   have S7: "B = 
 if ( B   , B , 𝟬 )  
 ( if ( A   , A , 𝟬 ) \<ca> B ) = 
 ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) )" by (rule MMI_opreq2)
   from S7 have S8: "B = 
 if ( B   , B , 𝟬 )  
 ( ( if ( A   , A , 𝟬 ) \<ca> B ) \<cdiv> C ) = 
 ( ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) ) \<cdiv> C )" by (rule MMI_opreq1d)
   have S9: "B = 
 if ( B   , B , 𝟬 )  
 ( B \<cdiv> C ) = 
 ( if ( B   , B , 𝟬 ) \<cdiv> C )" by (rule MMI_opreq1)
   from S9 have S10: "B = 
 if ( B   , B , 𝟬 )  
 ( ( if ( A   , A , 𝟬 ) \<cdiv> C ) \<ca> ( B \<cdiv> C ) ) = 
 ( ( if ( A   , A , 𝟬 ) \<cdiv> C ) \<ca> ( if ( B   , B , 𝟬 ) \<cdiv> C ) )" by (rule MMI_opreq2d)
   from S8 S10 have S11: "B = 
 if ( B   , B , 𝟬 )  
 ( ( ( if ( A   , A , 𝟬 ) \<ca> B ) \<cdiv> C ) = 
 ( ( if ( A   , A , 𝟬 ) \<cdiv> C ) \<ca> ( B \<cdiv> C ) )  
 ( ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) ) \<cdiv> C ) = 
 ( ( if ( A   , A , 𝟬 ) \<cdiv> C ) \<ca> ( if ( B   , B , 𝟬 ) \<cdiv> C ) ) )" by (rule MMI_eqeq12d)
   from S11 have S12: "B = 
 if ( B   , B , 𝟬 )  
 ( ( C  𝟬  ( ( if ( A   , A , 𝟬 ) \<ca> B ) \<cdiv> C ) = ( ( if ( A   , A , 𝟬 ) \<cdiv> C ) \<ca> ( B \<cdiv> C ) ) )  
 ( C  𝟬  
 ( ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) ) \<cdiv> C ) = 
 ( ( if ( A   , A , 𝟬 ) \<cdiv> C ) \<ca> ( if ( B   , B , 𝟬 ) \<cdiv> C ) ) ) )" by (rule MMI_imbi2d)
   have S13: "C = 
 if ( C   , C , 𝟬 )  
 ( C  𝟬  if ( C   , C , 𝟬 )  𝟬 )" by (rule MMI_neeq1)
   have S14: "C = 
 if ( C   , C , 𝟬 )  
 ( ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) ) \<cdiv> C ) = 
 ( ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) ) \<cdiv> if ( C   , C , 𝟬 ) )" by (rule MMI_opreq2)
   have S15: "C = 
 if ( C   , C , 𝟬 )  
 ( if ( A   , A , 𝟬 ) \<cdiv> C ) = 
 ( if ( A   , A , 𝟬 ) \<cdiv> if ( C   , C , 𝟬 ) )" by (rule MMI_opreq2)
   have S16: "C = 
 if ( C   , C , 𝟬 )  
 ( if ( B   , B , 𝟬 ) \<cdiv> C ) = 
 ( if ( B   , B , 𝟬 ) \<cdiv> if ( C   , C , 𝟬 ) )" by (rule MMI_opreq2)
   from S15 S16 have S17: "C = 
 if ( C   , C , 𝟬 )  
 ( ( if ( A   , A , 𝟬 ) \<cdiv> C ) \<ca> ( if ( B   , B , 𝟬 ) \<cdiv> C ) ) = 
 ( ( if ( A   , A , 𝟬 ) \<cdiv> if ( C   , C , 𝟬 ) ) \<ca> ( if ( B   , B , 𝟬 ) \<cdiv> if ( C   , C , 𝟬 ) ) )" by (rule MMI_opreq12d)
   from S14 S17 have S18: "C = 
 if ( C   , C , 𝟬 )  
 ( ( ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) ) \<cdiv> C ) = 
 ( ( if ( A   , A , 𝟬 ) \<cdiv> C ) \<ca> ( if ( B   , B , 𝟬 ) \<cdiv> C ) )  
 ( ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) ) \<cdiv> if ( C   , C , 𝟬 ) ) = 
 ( ( if ( A   , A , 𝟬 ) \<cdiv> if ( C   , C , 𝟬 ) ) \<ca> ( if ( B   , B , 𝟬 ) \<cdiv> if ( C   , C , 𝟬 ) ) ) )" by (rule MMI_eqeq12d)
   from S13 S18 have S19: "C = 
 if ( C   , C , 𝟬 )  
 ( ( C  𝟬  ( ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) ) \<cdiv> C ) = ( ( if ( A   , A , 𝟬 ) \<cdiv> C ) \<ca> ( if ( B   , B , 𝟬 ) \<cdiv> C ) ) )  
 ( if ( C   , C , 𝟬 )  𝟬  
 ( ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) ) \<cdiv> if ( C   , C , 𝟬 ) ) = 
 ( ( if ( A   , A , 𝟬 ) \<cdiv> if ( C   , C , 𝟬 ) ) \<ca> ( if ( B   , B , 𝟬 ) \<cdiv> if ( C   , C , 𝟬 ) ) ) ) )" by (rule MMI_imbi12d)
   have S20: "𝟬  " by (rule MMI_0cn)
   from S20 have S21: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   have S22: "𝟬  " by (rule MMI_0cn)
   from S22 have S23: "if ( B   , B , 𝟬 )  " by (rule MMI_elimel)
   have S24: "𝟬  " by (rule MMI_0cn)
   from S24 have S25: "if ( C   , C , 𝟬 )  " by (rule MMI_elimel)
   from S21 S23 S25 have S26: "if ( C   , C , 𝟬 )  𝟬  
 ( ( if ( A   , A , 𝟬 ) \<ca> if ( B   , B , 𝟬 ) ) \<cdiv> if ( C   , C , 𝟬 ) ) = 
 ( ( if ( A   , A , 𝟬 ) \<cdiv> if ( C   , C , 𝟬 ) ) \<ca> ( if ( B   , B , 𝟬 ) \<cdiv> if ( C   , C , 𝟬 ) ) )" by (rule MMI_divdirz)
   from S6 S12 S19 S26 have S27: "( A    B    C   )  
 ( C  𝟬  
 ( ( A \<ca> B ) \<cdiv> C ) = 
 ( ( A \<cdiv> C ) \<ca> ( B \<cdiv> C ) ) )" by (rule MMI_dedth3h)
   from S27 show "( ( A    B    C   )  C  𝟬 )  
 ( ( A \<ca> B ) \<cdiv> C ) = 
 ( ( A \<cdiv> C ) \<ca> ( B \<cdiv> C ) )" by (rule MMI_imp)
qed

lemma (in MMIsar0) MMI_divcan3: assumes A1: "A  " and
    A2: "B  " and
    A3: "A  𝟬"   
   shows "( ( A  B ) \<cdiv> A ) = B"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from A1 have S3: "A  ".
   from A3 have S4: "A  𝟬".
   from S1 S2 S3 S4 have S5: "( ( A  B ) \<cdiv> A ) = ( A  ( B \<cdiv> A ) )" by (rule MMI_divass)
   from A1 have S6: "A  ".
   from A2 have S7: "B  ".
   from A3 have S8: "A  𝟬".
   from S6 S7 S8 have S9: "( A  ( B \<cdiv> A ) ) = B" by (rule MMI_divcan2)
   from S5 S9 show "( ( A  B ) \<cdiv> A ) = B" by (rule MMI_eqtr)
qed

lemma (in MMIsar0) MMI_divcan4: assumes A1: "A  " and
    A2: "B  " and
    A3: "A  𝟬"   
   shows "( ( B  A ) \<cdiv> A ) = B"
proof -
   from A2 have S1: "B  ".
   from A1 have S2: "A  ".
   from S1 S2 have S3: "( B  A ) = ( A  B )" by (rule MMI_mulcom)
   from S3 have S4: "( ( B  A ) \<cdiv> A ) = ( ( A  B ) \<cdiv> A )" by (rule MMI_opreq1i)
   from A1 have S5: "A  ".
   from A2 have S6: "B  ".
   from A3 have S7: "A  𝟬".
   from S5 S6 S7 have S8: "( ( A  B ) \<cdiv> A ) = B" by (rule MMI_divcan3)
   from S4 S8 show "( ( B  A ) \<cdiv> A ) = B" by (rule MMI_eqtr)
qed

lemma (in MMIsar0) MMI_divcan3z: assumes A1: "A  " and
    A2: "B  "   
   shows "A  𝟬  ( ( A  B ) \<cdiv> A ) = B"
proof -
   have S1: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 ( A  B ) = 
 ( if ( A  𝟬 , A , 𝟭 )  B )" by (rule MMI_opreq1)
   have S2: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 A = if ( A  𝟬 , A , 𝟭 )" by (rule MMI_id)
   from S1 S2 have S3: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 ( ( A  B ) \<cdiv> A ) = 
 ( ( if ( A  𝟬 , A , 𝟭 )  B ) \<cdiv> if ( A  𝟬 , A , 𝟭 ) )" by (rule MMI_opreq12d)
   from S3 have S4: "A = 
 if ( A  𝟬 , A , 𝟭 )  
 ( ( ( A  B ) \<cdiv> A ) = 
 B  
 ( ( if ( A  𝟬 , A , 𝟭 )  B ) \<cdiv> if ( A  𝟬 , A , 𝟭 ) ) = 
 B )" by (rule MMI_eqeq1d)
   from A1 have S5: "A  ".
   have S6: "𝟭  " by (rule MMI_1cn)
   from S5 S6 have S7: "if ( A  𝟬 , A , 𝟭 )  " by (rule MMI_keepel)
   from A2 have S8: "B  ".
   have S9: "if ( A  𝟬 , A , 𝟭 )  𝟬" by (rule MMI_elimne0)
   from S7 S8 S9 have S10: "( ( if ( A  𝟬 , A , 𝟭 )  B ) \<cdiv> if ( A  𝟬 , A , 𝟭 ) ) = 
 B" by (rule MMI_divcan3)
   from S4 S10 show "A  𝟬  ( ( A  B ) \<cdiv> A ) = B" by (rule MMI_dedth)
qed

lemma (in MMIsar0) MMI_divcan4z: assumes A1: "A  " and
    A2: "B  "   
   shows "A  𝟬  ( ( B  A ) \<cdiv> A ) = B"
proof -
   from A1 have S1: "A  ".
   from A2 have S2: "B  ".
   from S1 S2 have S3: "A  𝟬  ( ( A  B ) \<cdiv> A ) = B" by (rule MMI_divcan3z)
   from A2 have S4: "B  ".
   from A1 have S5: "A  ".
   from S4 S5 have S6: "( B  A ) = ( A  B )" by (rule MMI_mulcom)
   from S6 have S7: "( ( B  A ) \<cdiv> A ) = ( ( A  B ) \<cdiv> A )" by (rule MMI_opreq1i)
   from S3 S7 show "A  𝟬  ( ( B  A ) \<cdiv> A ) = B" by (rule MMI_syl5eq)
qed

lemma (in MMIsar0) MMI_divcan3t: 
   shows "( A    B    A  𝟬 )  
 ( ( A  B ) \<cdiv> A ) = B"
proof -
   have S1: "A = 
 if ( A   , A , 𝟬 )  
 ( A  𝟬  if ( A   , A , 𝟬 )  𝟬 )" by (rule MMI_neeq1)
   have S2: "A = 
 if ( A   , A , 𝟬 )  
 ( A  B ) = 
 ( if ( A   , A , 𝟬 )  B )" by (rule MMI_opreq1)
   have S3: "A = 
 if ( A   , A , 𝟬 )  
 A = if ( A   , A , 𝟬 )" by (rule MMI_id)
   from S2 S3 have S4: "A = 
 if ( A   , A , 𝟬 )  
 ( ( A  B ) \<cdiv> A ) = 
 ( ( if ( A   , A , 𝟬 )  B ) \<cdiv> if ( A   , A , 𝟬 ) )" by (rule MMI_opreq12d)
   from S4 have S5: "A = 
 if ( A   , A , 𝟬 )  
 ( ( ( A  B ) \<cdiv> A ) = 
 B  
 ( ( if ( A   , A , 𝟬 )  B ) \<cdiv> if ( A   , A , 𝟬 ) ) = 
 B )" by (rule MMI_eqeq1d)
   from S1 S5 have S6: "A = 
 if ( A   , A , 𝟬 )  
 ( ( A  𝟬  ( ( A  B ) \<cdiv> A ) = B )  
 ( if ( A   , A , 𝟬 )  𝟬  
 ( ( if ( A   , A , 𝟬 )  B ) \<cdiv> if ( A   , A , 𝟬 ) ) = 
 B ) )" by (rule MMI_imbi12d)
   have S7: "B = 
 if ( B   , B , 𝟬 )  
 ( if ( A   , A , 𝟬 )  B ) = 
 ( if ( A   , A , 𝟬 )  if ( B   , B , 𝟬 ) )" by (rule MMI_opreq2)
   from S7 have S8: "B = 
 if ( B   , B , 𝟬 )  
 ( ( if ( A   , A , 𝟬 )  B ) \<cdiv> if ( A   , A , 𝟬 ) ) = 
 ( ( if ( A   , A , 𝟬 )  if ( B   , B , 𝟬 ) ) \<cdiv> if ( A   , A , 𝟬 ) )" by (rule MMI_opreq1d)
   have S9: "B = 
 if ( B   , B , 𝟬 )  
 B = if ( B   , B , 𝟬 )" by (rule MMI_id)
   from S8 S9 have S10: "B = 
 if ( B   , B , 𝟬 )  
 ( ( ( if ( A   , A , 𝟬 )  B ) \<cdiv> if ( A   , A , 𝟬 ) ) = 
 B  
 ( ( if ( A   , A , 𝟬 )  if ( B   , B , 𝟬 ) ) \<cdiv> if ( A   , A , 𝟬 ) ) = 
 if ( B   , B , 𝟬 ) )" by (rule MMI_eqeq12d)
   from S10 have S11: "B = 
 if ( B   , B , 𝟬 )  
 ( ( if ( A   , A , 𝟬 )  𝟬  ( ( if ( A   , A , 𝟬 )  B ) \<cdiv> if ( A   , A , 𝟬 ) ) = B )  
 ( if ( A   , A , 𝟬 )  𝟬  
 ( ( if ( A   , A , 𝟬 )  if ( B   , B , 𝟬 ) ) \<cdiv> if ( A   , A , 𝟬 ) ) = 
 if ( B   , B , 𝟬 ) ) )" by (rule MMI_imbi2d)
   have S12: "𝟬  " by (rule MMI_0cn)
   from S12 have S13: "if ( A   , A , 𝟬 )  " by (rule MMI_elimel)
   have S14: "𝟬  " by (rule MMI_0cn)
   from S14 have S15: "if ( B   , B , 𝟬 )  " by (rule MMI_elimel)
   from S13 S15 have S16: "if ( A   , A , 𝟬 )  𝟬  
 ( ( if ( A   , A , 𝟬 )  if ( B   , B , 𝟬 ) ) \<cdiv> if ( A   , A , 𝟬 ) ) = 
 if ( B   , B , 𝟬 )" by (rule MMI_divcan3z)
   from S6 S11 S16 have S17: "( A    B   )  
 ( A  𝟬  ( ( A  B ) \<cdiv> A ) = B )" by (rule MMI_dedth2h)
   from S17 show "( A    B    A  𝟬 )  
 ( ( A  B ) \<cdiv> A ) = B" by (rule MMI_3impia)
qed

lemma (in MMIsar0) MMI_divcan4t: 
   shows "( A    B    A  𝟬 )  
 ( ( B  A ) \<cdiv> A ) = B"
proof -
   have S1: "( A    B   )  
 ( A  B ) = ( B  A )" by (rule MMI_axmulcom)
   from S1 have S2: "( A    B   )  
 ( ( A  B ) \<cdiv> A ) = ( ( B  A ) \<cdiv> A )" by (rule MMI_opreq1d)
   from S2 have S3: "( A    B    A  𝟬 )  
 ( ( A  B ) \<cdiv> A ) = ( ( B  A ) \<cdiv> A )" by (rule MMI_3adant3)
   have S4: "( A    B    A  𝟬 )  
 ( ( A  B ) \<cdiv> A ) = B" by (rule MMI_divcan3t)
   from S3 S4 show "( A    B    A  𝟬 )  
 ( ( B  A ) \<cdiv> A ) = B" by (rule MMI_eqtr3d)
qed

lemma (in MMIsar0) MMI_div11: assumes A1: "A  " and
    A2: "B  " and
    A3: "C  " and
    A4: "C  𝟬"   
   shows "( A \<cdiv> C ) = ( B \<cdiv> C )  A = B"
proof -
   from A3 have S1: "C  ".
   from A1 have S2: "A  ".
   from A3 have S3: "C  ".
   from A4 have S4: "C  𝟬".
   from S2 S3 S4 have S5: "( A \<cdiv> C )  " by (rule MMI_divcl)
   from A2 have S6: "B  ".
   from A3 have S7: "C  ".
   from A4 have S8: "C  𝟬".
   from S6 S7 S8 have S9: "( B \<cdiv> C )  " by (rule MMI_divcl)
   from A4 have S10: "C  𝟬".
   from S1 S5 S9 S10 have S11: "( C  ( A \<cdiv> C ) ) = 
 ( C  ( B \<cdiv> C ) )  
 ( A \<cdiv> C ) = ( B \<cdiv> C )" by (rule MMI_mulcan)
   from A3 have S12: "C  ".
   from A1 have S13: "A  ".
   from A4 have S14: "C  𝟬".
   from S12 S13 S14 have S15: "( C  ( A \<cdiv> C ) ) = A" by (rule MMI_divcan2)
   from A3 have S16: "C  ".
   from A2 have S17: "B  ".
   from A4 have S18: "C  𝟬".
   from S16 S17 S18 have S19: "( C  ( B \<cdiv> C ) ) = B" by (rule MMI_divcan2)
   from S15 S19 have S20: "( C  ( A \<cdiv> C ) ) = 
 ( C  ( B \<cdiv> C ) )  A = B" by (rule MMI_eqeq12i)
   from S11 S20 show "( A \<cdiv> C ) = ( B \<cdiv> C )  A = B" by (rule MMI_bitr3)
qed

lemma (in MMIsar0) MMI_div11t: 
   shows "( A    B    ( C    C  𝟬 ) )  
 ( ( A \<cdiv> C ) = ( B \<cdiv> C )  A = B )"
proof -
   have S1: "A = 
 if ( A   , A , 𝟭 )  
 ( A \<cdiv> C ) = 
 ( if ( A   , A , 𝟭 ) \<cdiv> C )" by (rule MMI_opreq1)
   from S1 have S2: "A = 
 if ( A   , A , 𝟭 )  
 ( ( A \<cdiv> C ) = 
 ( B \<cdiv> C )  
 ( if ( A   , A , 𝟭 ) \<cdiv> C ) = 
 ( B \<cdiv> C ) )" by (rule MMI_eqeq1d)
   have S3: "A = 
 if ( A   , A , 𝟭 )  
 ( A = B  if ( A   , A , 𝟭 ) = B )" by (rule MMI_eqeq1)
   from S2 S3 have S4: "A = 
 if ( A   , A , 𝟭 )  
 ( ( ( A \<cdiv> C ) = ( B \<cdiv> C )  A = B )  
 ( ( if ( A   , A , 𝟭 ) \<cdiv> C ) = 
 ( B \<cdiv> C )  
 if ( A   , A , 𝟭 ) = B ) )" by (rule MMI_bibi12d)
   have S5: "B = 
 if ( B   , B , 𝟭 )  
 ( B \<cdiv> C ) = 
 ( if ( B   , B , 𝟭 ) \<cdiv> C )" by (rule MMI_opreq1)
   from S5 have S6: "B = 
 if ( B   , B , 𝟭 )  
 ( ( if ( A   , A , 𝟭 ) \<cdiv> C ) = 
 ( B \<cdiv> C )  
 ( if ( A   , A , 𝟭 ) \<cdiv> C ) = 
 ( if ( B   , B , 𝟭 ) \<cdiv> C ) )" by (rule MMI_eqeq2d)
   have S7: "B = 
 if ( B   , B , 𝟭 )  
 ( if ( A   , A , 𝟭 ) = 
 B  
 if ( A   , A , 𝟭 ) = 
 if ( B   , B , 𝟭 ) )" by (rule MMI_eqeq2)
   from S6 S7 have S8: "B = 
 if ( B   , B , 𝟭 )  
 ( ( ( if ( A   , A , 𝟭 ) \<cdiv> C ) = ( B \<cdiv> C )  if ( A   , A , 𝟭 ) = B )  
 ( ( if ( A   , A , 𝟭 ) \<cdiv> C ) = 
 ( if ( B   , B , 𝟭 ) \<cdiv> C )  
 if ( A   , A , 𝟭 ) = 
 if ( B   , B , 𝟭 ) ) )" by (rule MMI_bibi12d)
   have S9: "C = 
 if ( ( C    C  𝟬 ) , C , 𝟭 )  
 ( if ( A   , A , 𝟭 ) \<cdiv> C ) = 
 ( if ( A   , A , 𝟭 ) \<cdiv> if ( ( C    C  𝟬 ) , C , 𝟭 ) )" by (rule MMI_opreq2)
   have S10: "C = 
 if ( ( C    C  𝟬 ) , C , 𝟭 )  
 ( if ( B   , B , 𝟭 ) \<cdiv> C ) = 
 ( if ( B   , B , 𝟭 ) \<cdiv> if ( ( C    C  𝟬 ) , C , 𝟭 ) )" by (rule MMI_opreq2)
   from S9 S10 have S11: "C = 
 if ( ( C    C  𝟬 ) , C , 𝟭 )  
 ( ( if ( A   , A , 𝟭 ) \<cdiv> C ) = 
 ( if ( B   , B , 𝟭 ) \<cdiv> C )  
 ( if ( A   , A , 𝟭 ) \<cdiv> if ( ( C    C  𝟬 ) , C , 𝟭 ) ) = 
 ( if ( B   , B , 𝟭 ) \<cdiv> if ( ( C    C  𝟬 ) , C , 𝟭 ) ) )" by (rule MMI_eqeq12d)
   from S11 have S12: "C = 
 if ( ( C    C  𝟬 ) , C , 𝟭 )  
 ( ( ( if ( A   , A , 𝟭 ) \<cdiv> C ) = ( if ( B   , B , 𝟭 ) \<cdiv> C )  if ( A   , A , 𝟭 ) = if ( B   , B , 𝟭 ) )  
 ( ( if ( A   , A , 𝟭 ) \<cdiv> if ( ( C    C  𝟬 ) , C , 𝟭 ) ) = 
 ( if ( B   , B , 𝟭 ) \<cdiv> if ( ( C    C  𝟬 ) , C , 𝟭 ) )  
 if ( A   , A , 𝟭 ) = 
 if ( B   , B , 𝟭 ) ) )" by (rule MMI_bibi1d)
   have S13: "𝟭  " by (rule MMI_1cn)
   from S13 have S14: "if ( A   , A , 𝟭 )  " by (rule MMI_elimel)
   have S15: "𝟭  " by (rule MMI_1cn)
   from S15 have S16: "if ( B   , B , 𝟭 )  " by (rule MMI_elimel)
   have S17: "C = 
 if ( ( C    C  𝟬 ) , C , 𝟭 )  
 ( C    
 if ( ( C    C  𝟬 ) , C , 𝟭 )   )" by (rule MMI_eleq1)
   have S18: "C = 
 if ( ( C    C  𝟬 ) , C , 𝟭 )  
 ( C  𝟬  
 if ( ( C    C  𝟬 ) , C , 𝟭 )  𝟬 )" by (rule MMI_neeq1)
   from S17 S18 have S19: "C = 
 if ( ( C    C  𝟬 ) , C , 𝟭 )  
 ( ( C    C  𝟬 )  
 ( if ( ( C    C  𝟬 ) , C , 𝟭 )    if ( ( C    C  𝟬 ) , C , 𝟭 )  𝟬 ) )" by (rule MMI_anbi12d)
   have S20: "𝟭 = 
 if ( ( C    C  𝟬 ) , C , 𝟭 )  
 ( 𝟭    
 if ( ( C    C  𝟬 ) , C , 𝟭 )   )" by (rule MMI_eleq1)
   have S21: "𝟭 = 
 if ( ( C    C  𝟬 ) , C , 𝟭 )  
 ( 𝟭  𝟬  
 if ( ( C    C  𝟬 ) , C , 𝟭 )  𝟬 )" by (rule MMI_neeq1)
   from S20 S21 have S22: "𝟭 = 
 if ( ( C    C  𝟬 ) , C , 𝟭 )  
 ( ( 𝟭    𝟭  𝟬 )  
 ( if ( ( C    C  𝟬 ) , C , 𝟭 )    if ( ( C    C  𝟬 ) , C , 𝟭 )  𝟬 ) )" by (rule MMI_anbi12d)
   have S23: "𝟭  " by (rule MMI_1cn)
   have S24: "𝟭  𝟬" by (rule MMI_ax1ne0)
   from S23 S24 have S25: "𝟭    𝟭  𝟬" by (rule MMI_pm3_2i)
   from S19 S22 S25 have S26: "if ( ( C    C  𝟬 ) , C , 𝟭 )    if ( ( C    C  𝟬 ) , C , 𝟭 )  𝟬" by (rule MMI_elimhyp)
   from S26 have S27: "if ( ( C    C  𝟬 ) , C , 𝟭 )  " by (rule MMI_pm3_26i)
   from S26 have S28: "if ( ( C    C  𝟬 ) , C , 𝟭 )    if ( ( C    C  𝟬 ) , C , 𝟭 )  𝟬" .
   from S28 have S29: "if ( ( C    C  𝟬 ) , C , 𝟭 )  𝟬" by (rule MMI_pm3_27i)
   from S14 S16 S27 S29 have S30: "( if ( A   , A , 𝟭 ) \<cdiv> if ( ( C    C  𝟬 ) , C , 𝟭 ) ) = 
 ( if ( B   , B , 𝟭 ) \<cdiv> if ( ( C    C  𝟬 ) , C , 𝟭 ) )  
 if ( A   , A , 𝟭 ) = 
 if ( B   , B , 𝟭 )" by (rule MMI_div11)
   from S4 S8 S12 S30 show "( A    B    ( C    C  𝟬 ) )  
 ( ( A \<cdiv> C ) = ( B \<cdiv> C )  A = B )" by (rule MMI_dedth3h)
qed


end