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 Th72:
  SignGen(f|n,B,X) = SignGen(f,B,X) |n
proof
A1: len SignGen(f|n,B,X) = len (f|n) & len SignGen(f,B,X) = len f
    by CARD_1:def 7;
  per cases;
  suppose n >= len f;
    then f|n =f & SignGen(f,B,X) |n =SignGen(f,B,X) by FINSEQ_1:58,A1;
    hence thesis;
  end;
  suppose n <len f;
    then
A2:   len (f|n) = n & len SignGen(f|n,B,X) = n & len (SignGen(f,B,X) |n) =n
      by FINSEQ_1:59,A1;
    for i st 1<=i & i <= len SignGen(f|n,B,X) holds SignGen(f|n,B,X).i =
      (SignGen(f,B,X) |n).i
    proof
      let i such that
A3:     1<=i & i <= len SignGen(f|n,B,X);
A4:     i in dom SignGen(f|n,B,X) & i in dom (SignGen(f,B,X)|n)
        by A3,A2,FINSEQ_3:25;
      then
A5:     i in dom SignGen(f,B,X) by RELAT_1:57;
      per cases;
      suppose
A6:       i in X;
        hence SignGen(f|n,B,X).i = (the_inverseOp_wrt B).((f|n).i) by Def11,A4
          .= (the_inverseOp_wrt B).(f.i) by A2,A3,FINSEQ_3:112
          .= SignGen(f,B,X).i by Def11,A5,A6
          .= (SignGen(f,B,X)|n).i by A4,FUNCT_1:47;
      end;
      suppose
A7:       not i in X;
        hence SignGen(f|n,B,X).i = (f|n).i by Def11,A4
          .= f.i by A2,A3,FINSEQ_3:112
          .= SignGen(f,B,X).i by Def11,A5,A7
          .= (SignGen(f,B,X)|n).i by A4,FUNCT_1:47;
      end;
    end;
    hence thesis by A2;
  end;
end;
