reserve X for MetrSpace,
  x,y,z for Element of X,
  A for non empty set,
  G for Function of [:A,A:],REAL,
  f for Function,
  k,n,m,m1,m2 for Nat,
  q,r for Real;

theorem
  G is_metric_of A implies bounded_metric(A,G) is_metric_of A
proof
  assume
A1: G is_metric_of A;
A2: for a,b,c being Element of A holds (bounded_metric(A,G)).(a,c) <= (
  bounded_metric(A,G)).(a,b) + (bounded_metric(A,G)).(b,c)
  proof
    let a,b,c be Element of A;
    set a1 = G.(a,b);
    set a3 = G.(a,c);
    set a5 = G.(b,c);
A3: (bounded_metric(A,G)).(a,b) = G.(a,b)/(1 + G.(a,b)) & (bounded_metric
    (A,G)). (a,c) = G.(a,c)/(1 + G.(a,c)) by Def1;
A4: (bounded_metric(A,G)).(b,c) = G.(b,c)/(1 + G.(b,c)) by Def1;
A5: a3 >= 0 by A1,Th2;
A6: 0 <= G.(a,b) & 0 <= G.(b,c) by A1,Th2;
    then
A7: 0 <> (1 + a1)*(1 + a5) by XCMPLX_1:6;
A8: (a1/(1 + a1)) + (a5/(1 + a5)) = (a1*(1 + a5) + a5*(1 + a1))/((1 + a1)
    *(1 + a5)) by A6,XCMPLX_1:116
      .= ((a1*1 + a1*a5) + (a5*1 + a5*a1))/((1 + a1)*(1 + a5));
    0 <= G.(a,c) by A1,Th2;
    then
A9: (a1/(1 + a1)) + (a5/(1 + a5)) - (a3/(1 + a3)) = (((a1 + a1*a5) + (a5
+ a5*a1))*(1 + a3) - a3*((1 + a1)*(1 + a5)))/ (((1 + a1)*(1 + a5))*(1 + a3))
by A7,A8,XCMPLX_1:130;
A10: a1 >= 0 & a5 >= 0 by A1,Th2;
    a3 <= a1 + a5 by A1,PCOMPS_1:def 6;
    then (a1 + a5) - a3 >= 0 by XREAL_1:48;
    then ((a5 + a1) - a3) + (a1*a5 + (a5*a1 + (a5*a1)*a3)) >= 0 by A10,A5;
    hence thesis by A3,A4,A9,A10,A5,XREAL_1:49;
  end;
A11: for a,b being Element of A holds ((bounded_metric(A,G)).(a,b) = 0 iff a
  = b)
  proof
    let a,b be Element of A;
A12: (bounded_metric(A,G)).(a,b) = 0 implies a = b
    proof
      assume (bounded_metric(A,G)).(a,b) = 0;
      then
A13:  G.(a,b)/(1 + G.(a,b)) = 0 by Def1;
      0 <= G.(a,b) by A1,Th2;
      then G.(a,b) = 0 by A13,XCMPLX_1:50;
      hence thesis by A1,PCOMPS_1:def 6;
    end;
    a = b implies (bounded_metric(A,G)).(a,b) = 0
    proof
      assume a = b;
      then G.(a,b) = 0 by A1,PCOMPS_1:def 6;
      then G.(a,b)/(1 + G.(a,b)) = 0;
      hence thesis by Def1;
    end;
    hence thesis by A12;
  end;
  for a,b being Element of A holds (bounded_metric(A,G)).(a,b) = (
  bounded_metric(A,G)).(b,a)
  proof
    let a,b be Element of A;
    G.(a,b)/(1 + G.(a,b)) = G.(b,a)/(1 + G.(a,b)) by A1,PCOMPS_1:def 6
      .= G.(b,a)/(1 + G.(b,a)) by A1,PCOMPS_1:def 6
      .= (bounded_metric(A,G)).(b,a) by Def1;
    hence thesis by Def1;
  end;
  hence thesis by A11,A2,PCOMPS_1:def 6;
end;
