reserve r, r1, r2, x, y, z,
        x1, x2, x3, y1, y2, y3 for Real;
reserve R, R1, R2, R3 for Element of 3-tuples_on REAL;
reserve p, q, p1, p2, p3, q1, q2 for Element of REAL 3;
reserve f1, f2, f3, g1, g2, g3, h1, h2, h3 for PartFunc of REAL,REAL;
reserve t, t0, t1, t2 for Real;

theorem
  (f1 is_differentiable_in t0 & f2 is_differentiable_in t0 &
  f3 is_differentiable_in t0) & (g1 is_differentiable_in t0 &
  g2 is_differentiable_in t0 & g3 is_differentiable_in t0) &
  (g1.t0 <> 0 & g2.t0 <> 0 & g3.t0 <> 0) implies
  VFuncdiff(f1/g1,f2/g2,f3/g3,t0) =
  |[ (diff(f1,t0)*(g1.t0)-diff(g1,t0)*(f1.t0))/(g1.t0)^2,
  (diff(f2,t0)*(g2.t0)-diff(g2,t0)*(f2.t0))/(g2.t0)^2,
  (diff(f3,t0)*(g3.t0)-diff(g3,t0)*(f3.t0))/(g3.t0)^2  ]|
proof
    assume that
A1: f1 is_differentiable_in t0 & f2 is_differentiable_in t0 &
    f3 is_differentiable_in t0 and
A2: g1 is_differentiable_in t0 & g2 is_differentiable_in t0 &
    g3 is_differentiable_in t0 and
A3: g1.t0 <> 0 & g2.t0 <> 0 & g3.t0 <> 0;
    VFuncdiff(f1/g1,f2/g2,f3/g3,t0)
    = |[ (diff(f1,t0)*(g1.t0)-diff(g1,t0)*(f1.t0))/(g1.t0)^2,
      diff(f2/g2,t0),diff(f3/g3,t0) ]| by A1,A2,A3,FDIFF_2:14
   .= |[ (diff(f1,t0)*(g1.t0)-diff(g1,t0)*(f1.t0))/(g1.t0)^2,
      (diff(f2,t0)*(g2.t0)-diff(g2,t0)*(f2.t0))/(g2.t0)^2,
      diff(f3/g3,t0) ]| by A1,A2,A3,FDIFF_2:14
   .= |[ (diff(f1,t0)*(g1.t0)-diff(g1,t0)*(f1.t0))/(g1.t0)^2,
      (diff(f2,t0)*(g2.t0)-diff(g2,t0)*(f2.t0))/(g2.t0)^2,
      (diff(f3,t0)*(g3.t0)-diff(g3,t0)*(f3.t0))/(g3.t0)^2 ]|
      by A1,A2,A3,FDIFF_2:14;
    hence thesis;
end;
