reserve x,y for set;
reserve C,C9,D,D9,E for non empty set;
reserve c for Element of C;
reserve c9 for Element of C9;
reserve d,d1,d2,d3,d4,e for Element of D;
reserve d9 for Element of D9;
reserve i,j for natural Number;
reserve F for Function of [:D,D9:],E;
reserve p,q for FinSequence of D,
  p9,q9 for FinSequence of D9;
reserve f,f9 for Function of C,D,
  h for Function of D,E;
reserve T,T1,T2,T3 for Tuple of i,D;
reserve T9 for Tuple of i, D9;
reserve S for Tuple of j, D;
reserve S9 for Tuple of j, D9;

theorem
  F[;](d,p9^q9) = (F[;](d,p9))^(F[;](d,q9))
proof
  defpred P[FinSequence of D9] means F[;](d,p9^($1)) = (F[;](d,p9))^(F[;](d,$1
  ));
A1: for q9,d9 st P[q9] holds P[q9^<*d9*>]
  proof
    let q9,d9 such that
A2: F[;](d,p9^q9) = (F[;](d,p9))^(F[;](d,q9));
    thus F[;](d,p9^(q9^<*d9*>)) = F[;](d,(p9^q9)^<*d9*>) by FINSEQ_1:32
      .= (F[;](d,p9^q9))^<*F.(d,d9)*> by Th12
      .= (F[;](d,p9))^((F[;](d,q9))^<*F.(d,d9)*>) by A2,FINSEQ_1:32
      .= (F[;](d,p9))^(F[;](d,q9^<*d9*>)) by Th12;
  end;
  F[;](d,p9^(<*>D9)) = F[;](d,p9) by FINSEQ_1:34
    .= (F[;](d,p9))^(<*>E) by FINSEQ_1:34
    .= (F[;](d,p9))^(F[;](d,<*>D9)) by FINSEQ_2:79;
  then
A3: P[<*>D9];
  for q9 holds P[q9] from FINSEQ_2:sch 2(A3,A1);
  hence thesis;
end;
