reserve n,m for Nat,
  x,X,X1 for set,
  s,g,r,p for Real,
  S,T for RealNormSpace,
  f,f1,f2 for PartFunc of S, T,
  s1,s2,q1 for sequence of S,
  x0,x1, x2 for Point of S,
  Y for Subset of S;

theorem
  for X be RealBanachSpace for f be Function of X,X st
   ex n0 be Nat st iter(f,n0) is Contraction of X
   ex xp be Point of X st f.xp=xp &
  for x be Point of X st f.x=x holds xp=x
proof
  let X be RealBanachSpace;
  let f be Function of X, X;
  given n0 be Nat such that
A1: iter(f,n0) is Contraction of X;
  consider xp be Point of X such that
A2: (iter(f,n0)).xp=xp and
A3: for x be Point of X st iter(f,n0).x=x holds xp=x by A1,Th14;
A4: now
    let x be Point of X such that
A5: f.x=x;
    for n be Nat holds (iter(f,n)).x=x
    proof
      defpred P[Nat] means (iter(f,$1)).x=x;
A6:   now
        let n be Nat such that
A7:     P[n];
        (iter(f,n+1)).x =(f*iter(f,n)).x by FUNCT_7:71
          .=x by A5,A7,FUNCT_2:15;
        hence P[n+1];
      end;
      (iter(f,0)).x=(id the carrier of X).x by FUNCT_7:84
        .=x;
      then
A8:   P[0];
      for n be Nat holds P[n] from NAT_1:sch 2(A8,A6);
      hence thesis;
    end;
    then (iter(f,n0)).x=x;
    hence xp=x by A3;
  end;
  (iter(f,n0)).(f.xp) =(iter(f,n0)*f).xp by FUNCT_2:15
    .=(iter(f,n0+1)).xp by FUNCT_7:69
    .=(f*iter(f,n0)).xp by FUNCT_7:71
    .=f.xp by A2,FUNCT_2:15;
  then f.xp=xp by A3;
  hence thesis by A4;
end;
