reserve q,th,r for Real,
  a,b,p for Real,
  w,z for Complex,
  k,l,m,n,n1,n2 for Nat,
  seq,seq1,seq2,cq1 for Complex_Sequence,
  rseq,rseq1,rseq2 for Real_Sequence,
  rr for set,
  hy1 for 0-convergent non-zero Real_Sequence;
reserve d for Real;
reserve th,th1,th2 for Real;

theorem Th38:
  n <= k implies n! <= k!
proof
  assume
A1: n <= k;
A2: for m holds 1<= m+1
  proof
    let m;
    0+1<= m+1 by XREAL_1:6;
    hence thesis;
  end;
  deffunc U(Nat) = $1!;
  consider rseq such that
A3: for l holds rseq.l=U(l) from SEQ_1:sch 1;
 for l holds rseq.l<=rseq.(l+1)& rseq.l>0
  proof
    let l;
    defpred X[Nat] means rseq.$1<=rseq.($1+1)& rseq.$1>0;
 rseq.(0+1)=(0+1)! by A3
      .=0!*1 by NEWTON:15
      .=1 by NEWTON:12; then
A4: X[0] by A3,NEWTON:12;
A5: for l st X[l] holds X[l+1]
    proof
      let l;
      assume
A6:   rseq.l<=rseq.(l+1) & rseq.l>0;
      rseq.(l+1+1)= (l+1+1)! by A3
        .=(l+1)!*(l+1+1) by NEWTON:15
        .=rseq.(l+1) *(l+1+1) by A3;
      hence thesis by A2,A6,XREAL_1:151;
    end;
 for l holds X[l] from NAT_1:sch 2(A4,A5);
    hence thesis;
  end;
then A7: rseq is non-decreasing;
 n!=rseq.n & k! = rseq.k by A3;
  hence thesis by A1,A7,SEQM_3:6;
end;
