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 Th117:
  A is having_a_unity associative commutative having_an_inverseOp
implies
  for F be finite non empty set st union F c= dom f
      for F1,F2 be finite set st F1 = UNION(F,bool {len f+1}) &
            F2 = UNION(F,bool {len f+1,len f+2}) holds
     ex E1,E2 be Enumeration of F1,
        E be Enumeration of F2 st
A "**" (SignGenOp(f^<*d1*>^<*d2*>,A,F2)*E) = (
     A"**" (SignGenOp(f^<*A.(d1,d2)*>,A,F1)*E1)) ^
    (A"**" (SignGenOp(f^<*A.((the_inverseOp_wrt A).d1,d2)*>,A,F1)*E2))
proof
  set I=the_inverseOp_wrt A;
  assume
A1: A is having_a_unity associative commutative having_an_inverseOp;
  let F be finite non empty set such that
A2: union F c= dom f;
  let F1,F2 be finite set such that
A3: F1 = UNION(F,bool {len f+1}) & F2 = UNION(F,bool {len f+1,len f+2});
  consider E1 be Enumeration of F1,E2 be Enumeration of F2 such that
A4: A "**" (SignGenOp(f^<*d1*>^<*d2*>,A,F2)*E2) =
    (A"**" (SignGenOp(f^<*A.(d1,d2)*>,A,F1)*E1)) ^
    (A"**" (SignGenOp(f^<*A.(d1,I.d2)*>,A,F1)*E1)) by A1,A2,A3,Th91;
  consider E3 be Enumeration of F1 such that
A5: SignGenOp(f^<* A.(d1,I.d2) *>,A,F1)*E1 =
  SignGenOp(f^<*I.(A.(d1,I.d2)) *>,A,F1)*E3 by A1,A2,A3,Th116;
  take E1,E3,E2;
  thus thesis by A4,A5,A1,Th2;
end;
