reserve i,j,n,k,m for Nat,
     a,b,x,y,z for object,
     F,G for FinSequence-yielding FinSequence,
     f,g,p,q for FinSequence,
     X,Y for set,
     D for non empty set;
reserve
  B,A,M for BinOp of D,
  F,G for D* -valued FinSequence,
  f for FinSequence of D,
  d,d1,d2 for Element of D;
reserve
  F,G for non-empty non empty FinSequence of D*,
  f for non empty FinSequence of D;
reserve f,g for FinSequence of D,
        a,b,c for set,
        F,F1,F2 for finite set;

theorem Th86:
  for E be Enumeration of F st
    B is having_a_unity associative commutative having_an_inverseOp &
    1+len f in meet F & not 2+len f in union F
  holds
    B "**" (SignGenOp(f^<*d1*>^<*d2*>,B,F)*E) =
      B"**" (SignGenOp(f^<*B.(d1,(the_inverseOp_wrt B).d2)*>,B,F)*E)
proof
  set I=the_inverseOp_wrt B;
  let E be Enumeration of F such that
A1: B is having_a_unity associative commutative having_an_inverseOp and
A2: 1+len f in meet F & not 2+len f in union F;
A3: len (f^<*d1*>) = 1+len f by FINSEQ_2:16;
  then not 1+len (f^<*d1*>) in union F by A2;
  hence B "**" (SignGenOp(f^<*d1*>^<*d2*>,B,F)*E)
    = B[:](B "**" SignGenOp(f^<*d1*>,B,F)*E,d2) by NAT_1:11,Th82,A3
   .= B[:](B[:](B "**" SignGenOp(f,B,F)*E,I.d1),d2) by A1,Th83,A2
   .= B[:](B "**" SignGenOp(f,B,F)*E,B.(I.d1,d2)) by A1,FUNCOP_1:63
   .= B[:](B "**" SignGenOp(f,B,F)*E,I.(B.(d1,I.d2))) by Th2,A1
   .= B"**" (SignGenOp(f^<*(B.(d1,I.d2))*>,B,F)*E) by A1,Th83,A2;
end;
