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 Th130:
   A is having_a_unity associative commutative having_an_inverseOp &
   M is commutative associative & len f <> 0
implies
  SignGenOp(f^<*d1*>^<*d2*>,M,A,Seg (2+len f)\{1}) =
    M.(SignGenOp(f^<*A.(d1,d2)*>,M,A,Seg (1+len f)\{1}),
     SignGenOp(f^<*A.((the_inverseOp_wrt A).d1,d2)*>,M,A,Seg (1+len f)\{1}))
proof
  set I=the_inverseOp_wrt A;
  assume that
A1:A is having_a_unity associative commutative having_an_inverseOp
  and
A2: M is commutative associative
  and
A3: len f<>0;
  set S = Seg (len f)\{1},F= bool S;
  set F1 = UNION(F,bool {len f+1});
  set F2 = UNION(F,bool {len f+1,len f+2});
  1<>1+len f by A3;
  then
A4: {1+len f}\{1} = {1+len f} by ZFMISC_1:14;
  1<>1+len f+1 by A3;
  then
A5: {2+len f}\{1} = {2+len f} by ZFMISC_1:14;
  Seg (len f+1) = Seg (len f) \/ {1+len f} by FINSEQ_1:9;
  then
A6: Seg (1+len f)\{1} = S \/ ({1+len f}) by A4,XBOOLE_1:42;
  then
A7: bool (Seg (1+len f)\{1}) = F1 by Th6;
  union F = Seg (len f)\{1} by ZFMISC_1:81;
  then union F c= Seg (len f) by XBOOLE_1:36;
  then union F c= dom f by FINSEQ_1:def 3;
  then consider E1,E2 be Enumeration of F1, E be Enumeration of F2 such that
A8: A "**" (SignGenOp(f^<*d1*>^<*d2*>,A,F2)*E) =
  (A"**" (SignGenOp(f^<*A.(d1,d2)*>,A,F1)*E1)) ^
  (A"**" (SignGenOp(f^<*A.(I.d1,d2)*>,A,F1)*E2)) by Th117,A1;
  set f1 = A"**" (SignGenOp(f^<*A.(d1,d2)*>,A,F1)*E1);
  set f2 = A"**" (SignGenOp(f^<*A.(I.d1,d2)*>,A,F1)*E2);
  rng f1 c= D;
  then reconsider G1= f1 as Function of dom f1,D by FUNCT_2:2;
  rng f2 c= D;
  then reconsider G2= f2 as Function of dom f2,D by FUNCT_2:2;
  rng (f1^f2) c= D;
  then reconsider G12= f1^f2 as Function of dom (f1^f2),D by FUNCT_2:2;
  dom (SignGenOp(f^<*A.(d1,d2)*>,A,F1)*E1) = dom f1 by FUNCT_2:def 1;
  then
A9: M$$([#]dom f1,G1)=
  SignGenOp(f^<*A.(d1,d2)*>,M,A,Seg (1+len f)\{1}) by A7,Def13,A2;
  dom (SignGenOp(f^<*A.(I.d1,d2)*>,A,F1)*E2) = dom f2 by FUNCT_2:def 1;
  then
A10: M$$([#]dom f2,G2)
  = SignGenOp(f^<*A.(I.d1,d2)*>,M,A,Seg (1+len f)\{1}) by A7,Def13,A2;
A11: dom (A "**" (SignGenOp(f^<*d1*>^<*d2*>,A,F2)*E)) =
  dom ((SignGenOp(f^<*d1*>^<*d2*>,A,F2)*E)) by FUNCT_2:def 1;
  Seg (1+len f+1) = Seg (1+len f) \/ {2+len f} by FINSEQ_1:9;
  then Seg (2+len f)\{1} = Seg (1+len f)\{1} \/ {2+len f} by A5,XBOOLE_1:42;
  then Seg (2+len f)\{1} = S \/ ({1+len f} \/ {2+len f}) by A6,XBOOLE_1:4;
  then Seg (2+len f)\{1} = S \/ ({1+len f,2+len f}) by ENUMSET1:1;
  then bool (Seg (2+len f)\{1}) = F2 by Th6;
  then SignGenOp(f^<*d1*>^<*d2*>,M,A,Seg (2+len f)\{1})=
  M$$ ([#]dom (f1^f2),G12) by Def13,A2,A11,A8;
  hence thesis by A2,Th64,A9,A10;
end;
