reserve i, k, m, n for Nat,
  r, s for Real,
  rn for Real,
  x, y , z, X for set,
  T, T1, T2 for non empty TopSpace,
  p, q for Point of T,
  A, B, C for Subset of T,
  A9 for non empty Subset of T,
  pq for Element of [:the carrier of T,the carrier of T:],
  pq9 for Point of [:T,T:],
  pmet,pmet1 for Function of [:the carrier of T,the carrier of T:],REAL,
  pmet9,pmet19 for RealMap of [:T,T:] ,
  f,f1 for RealMap of T,
  FS2 for Functional_Sequence of [:the carrier of T,the carrier of T:],REAL,
  seq for Real_Sequence;

theorem Th15:
  for s, FS2 st for n ex pmet st FS2.n=pmet & pmet
  is_a_pseudometric_of the carrier of T & (for pq holds pmet.pq<=s) & for pmet9
st pmet=pmet9 holds pmet9 is continuous for pmet st for pq holds pmet.pq=Sum((1
  /2)GeoSeq(#)(FS2#pq)) holds pmet is_a_pseudometric_of the carrier of T & for
  pmet9 st pmet=pmet9 holds pmet9 is continuous
proof
  set Geo=(1/2)GeoSeq;
  set cT=the carrier of T,cTT= the carrier of [:T,T:];
  let s, FS2 such that
A1: for n ex pmet st FS2.n=pmet & pmet is_a_pseudometric_of cT & (for pq
  holds pmet.pq<=s) & for pmet9 st pmet=pmet9 holds pmet9 is continuous;
  set SGeo=s(#)(Geo);
  deffunc GF(Nat)=(Geo.$1)(#)(FS2.$1);
  consider GeoF be Functional_Sequence of [:cT,cT:],REAL such that
A2: for n be Nat holds GeoF.n = GF(n) from SEQFUNC:sch 1;
  cTT = [:cT,cT:] by BORSUK_1:def 2;
  then reconsider GeoF9=GeoF as Functional_Sequence of cTT,REAL;
A3: for pq,k holds 0<=(GeoF#pq).k & (GeoF#pq).k<=SGeo.k
  proof
    let pq,k;
    consider x,y being object such that
A4: x in cT & y in cT and
A5: [x,y]=pq by ZFMISC_1:def 2;
    reconsider x,y as Point of T by A4;
    consider pmet1 such that
A6: FS2.k=pmet1 and
A7: pmet1 is_a_pseudometric_of cT and
A8: for pq holds pmet1.pq<=s and
    for pmet19 st pmet1=pmet19 holds pmet19 is continuous by A1;
A9: 0<=pmet1.(x,y) by A7,NAGATA_1:29;
    dom ((Geo.k)(#)(FS2.k))=[:cT,cT:] by A6,FUNCT_2:def 1;
    then
A10: (Geo.k)*(FS2.k).pq=((Geo.k)(#)(FS2.k)).pq by VALUED_1:def 5
      .=GeoF.k.pq by A2
      .=(GeoF#pq).k by SEQFUNC:def 10;
    (1/2)|^k>0 by NEWTON:83;
    then
A11: Geo.k>0 by PREPOWER:def 1;
    then (Geo.k)*(pmet1.pq)<=(Geo.k)*s by A8,XREAL_1:64;
    hence thesis by A6,A5,A10,A9,A11,SEQ_1:9;
  end;
A12: for n ex f be RealMap of [:T,T:] st (GeoF9.n=f & f is continuous & for
  pq9 holds f.pq9>=0)
  proof
    let n;
    consider pmet1 such that
A13: FS2.n=pmet1 and
    pmet1 is_a_pseudometric_of cT and
    for pq holds pmet1.pq<=s and
A14: for pmet19 st pmet1=pmet19 holds pmet19 is continuous by A1;
    cTT=[:cT,cT:] by BORSUK_1:def 2;
    then reconsider pmet19=pmet1 as RealMap of [:T,T:];
    reconsider pR=pmet19 as Function of [:T,T:],R^1 by TOPMETR:17;
    pmet19 is continuous by A14;
    then pR is continuous by JORDAN5A:27;
    then consider fR be Function of [:T,T:],R^1 such that
A15: for pq9 be Point of [:T,T:],rn st pR.pq9=rn holds fR.pq9= (Geo.n) *rn and
A16: fR is continuous by JGRAPH_2:23;
    reconsider f=fR as RealMap of [:T,T:] by TOPMETR:17;
A17: dom f=cTT by FUNCT_2:def 1;
    take f;
A18: dom pmet1=[:cT,cT:] by FUNCT_2:def 1;
A19: (GeoF9.n)=(Geo.n)(#)FS2.n by A2;
    then
A20: dom (FS2.n)=dom (GeoF9.n) by VALUED_1:def 5;
A21: [:cT,cT:]=cTT by BORSUK_1:def 2;
A22: now
      let pq9 such that
      pq9 in dom (GeoF9.n);
      (GeoF9.n).pq9=(Geo.n)*pmet1.pq9 by A13,A19,A20,A18,A21,VALUED_1:def 5;
      hence (GeoF9.n).pq9=f.pq9 by A15;
    end;
    now
      let pq9;
      reconsider pq=pq9 as Element of [:cT,cT:] by BORSUK_1:def 2;
      GeoF9.n.pq9=(GeoF#pq).n & (GeoF#pq).n >=0 by A3,SEQFUNC:def 10;
      hence f.pq9>=0 by A13,A20,A18,A22;
    end;
    hence thesis by A13,A16,A20,A18,A17,A21,A22,JORDAN5A:27,PARTFUN1:5;
  end;
  let pmet such that
A23: for pq holds pmet.pq=Sum(Geo(#)(FS2#pq));
A24: for pq holds pmet.pq=Sum(GeoF#pq)
  proof
    let pq;
    now
      let z be object;
      assume z in NAT;
      then reconsider k=z as Element of NAT;
      ex pmet1 st FS2.k=pmet1 & pmet1 is_a_pseudometric_of cT &( for pq
holds pmet1.pq<=s)& for pmet19 st pmet1=pmet19 holds pmet19 is continuous by A1
      ;
      then dom ((Geo.k)(#)(FS2.k))=[:cT,cT:] by FUNCT_2:def 1;
      then (Geo.k)*(FS2.k).pq=((Geo.k)(#)(FS2.k)).pq by VALUED_1:def 5
        .=GeoF.k.pq by A2
        .=(GeoF#pq).k by SEQFUNC:def 10;
      then (GeoF#pq).k=(Geo.k)*(FS2#pq).k by SEQFUNC:def 10
        .=(Geo(#)(FS2#pq)).k by SEQ_1:8;
      hence (Geo(#)(FS2#pq)).z=(GeoF#pq).z;
    end;
    then Geo(#)(FS2#pq)=(GeoF#pq);
    hence thesis by A23;
  end;
A25: for n ex pmet1 st GeoF.n=pmet1 & pmet1 is_a_pseudometric_of cT
  proof
    let n;
    consider pmet1 such that
A26: FS2.n=pmet1 and
A27: pmet1 is_a_pseudometric_of cT and
    for pq holds pmet1.pq<=s and
    for pmet19 st pmet1=pmet19 holds pmet19 is continuous by A1;
    deffunc F(Element of cT,Element of cT)=(Geo.n)*pmet1.($1,$2);
    consider GF be Function of [:cT,cT:],REAL such that
A28: for p for q holds GF.(p,q)=F(p,q) from BINOP_1:sch 4;
    now
      let a,b,c be Point of T;
      (1/2)|^n>0 by NEWTON:83;
      then
A29:  ((1/2)GeoSeq.n)>0 by PREPOWER:def 1;
      pmet1.(a,c)<=pmet1.(a,b)+pmet1.(c,b) by A27,NAGATA_1:28;
      then pmet1.(a,c)*((1/2)GeoSeq.n)<=(pmet1.(a,b)+ pmet1.(c,b))*(Geo.n) by
A29,XREAL_1:64;
      then
A30:  GF.(a,c)<=(Geo.n)*pmet1.(a,b)+(Geo.n)*pmet1.(c,b) by A28;
      GF.(a,a)=(Geo.n)*pmet1.(a,a) & pmet1.(a,a)=0 by A27,A28,NAGATA_1:28;
      hence GF.(a,a)=0;
      (Geo.n)*pmet1.(a,b)=GF.(a,b) by A28;
      hence GF.(a,c)<=GF.(a,b)+GF.(c,b) by A28,A30;
    end;
    then
A31: GF is_a_pseudometric_of cT by NAGATA_1:28;
A32: (GeoF.n)=(Geo.n)(#)FS2.n by A2;
    then
A33: dom (FS2.n)=dom (GeoF.n) by VALUED_1:def 5;
A34: now
      let x,y be object;
      assume
A35:  [x,y] in dom (GeoF.n);
      then reconsider x9=x,y9=y as Point of T by ZFMISC_1:87;
      GF.(x9,y9)= (Geo.n)*pmet1.(x9,y9) by A28;
      hence (GeoF.n).(x,y)=GF.(x,y) by A26,A32,A35,VALUED_1:def 5;
    end;
    dom pmet1=[:cT,cT:] & dom GF= [:cT,cT:] by FUNCT_2:def 1;
    hence thesis by A26,A33,A34,A31,BINOP_1:20;
  end;
  (1/2)<1;
  then |.1/2.|<1 by ABSVALUE:def 1;
  then
A36: Geo is summable by SERIES_1:24;
A37: for pq,pq9 st pq=pq9 holds GeoF#pq=GeoF9#pq9
  proof
    let pq,pq9 such that
A38: pq=pq9;
    now
      let x be Element of NAT;
      (GeoF#pq).x=GeoF.x.pq by SEQFUNC:def 10;
      hence (GeoF#pq).x=(GeoF9#pq9).x by A38,SEQFUNC:def 10;
    end;
    hence thesis;
  end;
A39: ex seq st seq is summable & for n,pq9 holds (GeoF9#pq9).n<=seq.n
  proof
    take SGeo;
    thus SGeo is summable by A36,SERIES_1:10;
    now
      let n,pq9;
      reconsider pq=pq9 as Element of [:cT,cT:] by BORSUK_1:def 2;
      (GeoF9#pq9).n =(GeoF#pq).n by A37;
      hence (GeoF9#pq9).n <=SGeo.n by A3;
    end;
    hence thesis;
  end;
A40: for pmet19 st pmet=pmet19 holds pmet19 is continuous
     by A12,A24,A39,Th14;
  for pq holds GeoF#pq is summable
  proof
    let pq;
    for k holds 0<=(GeoF#pq).k & (GeoF#pq).k<=SGeo.k & SGeo is summable
    by A3,A36,SERIES_1:10;
    hence thesis by SERIES_1:20;
  end;
  hence thesis by A25,A24,A40,Th11;
end;
