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
  for E1 be Enumeration of F1,E2 be Enumeration of F2 st
    card F1 = card F2 holds
  doms (SignGenOp(f,A,F1)*E1) = doms (SignGenOp(f,A,F2)*E2)
proof
  let E1 be Enumeration of F1,E2 be Enumeration of F2 such that
A1: card F1= card F2;
A2: len (SignGenOp(f,A,F2)*E2) = len E2 = card F2 &
    len (SignGenOp(f,A,F1)*E1) = len E1 = card F1 by CARD_1:def 7;
A3: dom (SignGenOp(f,A,F1)*E1) = dom (SignGenOp(f,A,F2)*E2)
    by A1,A2,FINSEQ_3:29;
  thus doms (SignGenOp(f,A,F1)*E1) c= doms (SignGenOp(f,A,F2)*E2)
  proof
    let x such that
A4:   x in doms (SignGenOp(f,A,F1)*E1);
    reconsider x as FinSequence by A4;
A5:   len x = len (SignGenOp(f,A,F2)*E2) by A2,Th47,A4,A1;
    for i st i in dom x holds x.i in dom ((SignGenOp(f,A,F2)*E2).i)
    proof
      let i such that
A6:     i in dom x;
A7:     x.i in dom ((SignGenOp(f,A,F1)*E1).i) by A6,A4,Th47;
      (SignGenOp(f,A,F1)*E1).i<>{} by A6,A4,Th47;
      then i in dom (SignGenOp(f,A,F1)*E1) by FUNCT_1:def 2;
      then (SignGenOp(f,A,F2) * E2).i = SignGen(f,A,E2.i) &
      (SignGenOp(f,A,F1) * E1).i = SignGen(f,A,E1.i) by A3,Th80;
      then len ((SignGenOp(f,A,F2) * E2).i) = len f &
      len ((SignGenOp(f,A,F1) * E1).i) = len f by CARD_1:def 7;
      hence thesis by A7,FINSEQ_3:29;
    end;
    hence thesis by A5,Th47;
  end;
  let x such that
A8: x in doms (SignGenOp(f,A,F2)*E2);
  reconsider x as FinSequence by A8;
A9: len x = len (SignGenOp(f,A,F1)*E1) by A2,Th47,A8,A1;
  for i st i in dom x holds x.i in dom ((SignGenOp(f,A,F1)*E1).i)
  proof
    let i such that
A10:  i in dom x;
A11:  x.i in dom ((SignGenOp(f,A,F2)*E2).i) by A10,A8,Th47;
    (SignGenOp(f,A,F2)*E2).i<>{} by A10,A8,Th47;
    then i in dom (SignGenOp(f,A,F2)*E2) by FUNCT_1:def 2;
    then (SignGenOp(f,A,F2) * E2).i = SignGen(f,A,E2.i) &
      (SignGenOp(f,A,F1) * E1).i = SignGen(f,A,E1.i) by A3,Th80;
    then len ((SignGenOp(f,A,F2) * E2).i) = len f &
      len ((SignGenOp(f,A,F1) * E1).i) = len f by CARD_1:def 7;
    hence thesis by A11,FINSEQ_3:29;
  end;
  hence thesis by A9,Th47;
end;
