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 Th90:
  for E1 be Enumeration of F1,E2 be Enumeration of F2 st
    card F1 = card F2 &
    for i st i in dom E1 holds dom f /\ E1.i = dom f /\ E2.i holds
      SignGenOp(f,A,F1)*E1 = SignGenOp(f,A,F2)*E2
proof
  let E1 be Enumeration of F1,E2 be Enumeration of F2 such that
A1: card F1 = card F2 and
A2: for i st i in dom E1 holds dom f /\ E1.i = dom f /\ E2.i;
  set C1=SignGenOp(f,A,F1), C2=SignGenOp(f,A,F2);
A3: len (C1*E1)= len E1 = card F1 &
    len (C2*E2)= len E2 = card F2 by CARD_1:def 7;
  for i st 1<=i <= len E1  holds (C1*E1).i = (C2*E2).i
  proof
    let i;
    assume
A4:   1<= i <= len E1;
    then
A5:   i in dom E1 & i in dom E2 by A1,A3,FINSEQ_3:25;
    hence (C1*E1).i = SignGen(f,A,E1.i) by Th80
      .= SignGen(f,A,dom f /\E1.i) by Th89
      .= SignGen(f,A,dom f /\E2.i) by A4,A2,FINSEQ_3:25
      .= SignGen(f,A,E2.i) by Th89
      .= (C2*E2).i by Th80,A5;
  end;
  hence thesis by A1,A3;
end;
