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 Th74:
  n+1 = len f & not n+1 in X implies
    SignGen(f,B,X) = SignGen(f|n,B,X)^<*f.(n+1)*>
proof
  set n1=n+1, I=f.n1;
  assume
A1: n1 = len f & not n1 in X;
  n <=n+1 by NAT_1:13;
  then
A2: len (f|n)=n by A1,FINSEQ_1:59;
  then
A3: len SignGen(f|n,B,X) = n & len <*I*> =1 & len SignGen(f,B,X) = len f
    by CARD_1:def 7;
A4: SignGen(f|n,B,X) = SignGen(f,B,X) |n by Th72;
  for i st 1<= i & i <= len SignGen(f,B,X) holds SignGen(f,B,X).i =
    (SignGen(f|n,B,X)^<*I*>).i
  proof
    let i such that
A5:   1<= i & i <= len SignGen(f,B,X);
    len (SignGen(f|n,B,X)^<*I*>)=n1 by A2,CARD_1:def 7;
    then
A6:   i in dom (SignGen(f|n,B,X)^<*I*>) & i in dom SignGen(f,B,X)
      by A1,A3,A5,FINSEQ_3:25;
    then per cases by FINSEQ_1:25;
    suppose
A7:     i in dom SignGen(f|n,B,X);
      hence (SignGen(f|n,B,X)^<*I*>).i = SignGen(f|n,B,X).i by FINSEQ_1:def 7
        .= SignGen(f,B,X).i by A4,A7,FUNCT_1:47;
    end;
    suppose ex j be Nat st j in dom <*I*> & i=len SignGen(f|n,B,X) + j;
      then consider j be Nat such that
A8:     j in dom <*I*> & i=len SignGen(f|n,B,X) + j;
      j in {1} by A8,FINSEQ_1:2,def 8;
      then j=1 by TARSKI:def 1;
      hence (SignGen(f|n,B,X)^<*I*>).i = SignGen(f,B,X).i by Def11,A6,A1,A8,A3;
    end;
  end;
  hence thesis by A1,A3,FINSEQ_1:22;
end;
