let f be PartFunc of (REAL 2),REAL ; :: thesis: for z0 being Element of REAL 2
for N being Neighbourhood of (proj 2,2) . z0 st f is_partial_differentiable_in z0,2 & N c= dom (SVF1 2,f,z0) holds
for h being convergent_to_0 Real_Sequence
for c being V20() Real_Sequence st rng c = {((proj 2,2) . z0)} & rng (h + c) c= N holds
( (h " ) (#) (((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c)) is convergent & partdiff f,z0,2 = lim ((h " ) (#) (((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c))) )

let z0 be Element of REAL 2; :: thesis: for N being Neighbourhood of (proj 2,2) . z0 st f is_partial_differentiable_in z0,2 & N c= dom (SVF1 2,f,z0) holds
for h being convergent_to_0 Real_Sequence
for c being V20() Real_Sequence st rng c = {((proj 2,2) . z0)} & rng (h + c) c= N holds
( (h " ) (#) (((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c)) is convergent & partdiff f,z0,2 = lim ((h " ) (#) (((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c))) )

let N be Neighbourhood of (proj 2,2) . z0; :: thesis: ( f is_partial_differentiable_in z0,2 & N c= dom (SVF1 2,f,z0) implies for h being convergent_to_0 Real_Sequence
for c being V20() Real_Sequence st rng c = {((proj 2,2) . z0)} & rng (h + c) c= N holds
( (h " ) (#) (((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c)) is convergent & partdiff f,z0,2 = lim ((h " ) (#) (((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c))) ) )

assume that
A1: f is_partial_differentiable_in z0,2 and
A2: N c= dom (SVF1 2,f,z0) ; :: thesis: for h being convergent_to_0 Real_Sequence
for c being V20() Real_Sequence st rng c = {((proj 2,2) . z0)} & rng (h + c) c= N holds
( (h " ) (#) (((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c)) is convergent & partdiff f,z0,2 = lim ((h " ) (#) (((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c))) )

consider x0, y0 being Real such that
A3: z0 = <*x0,y0*> and
A4: ex N1 being Neighbourhood of y0 st
( N1 c= dom (SVF1 2,f,z0) & ex L being LINEAR ex R being REST st
for y being Real st y in N1 holds
((SVF1 2,f,z0) . y) - ((SVF1 2,f,z0) . y0) = (L . (y - y0)) + (R . (y - y0)) ) by A1, Th10;
consider N1 being Neighbourhood of y0 such that
N1 c= dom (SVF1 2,f,z0) and
A5: ex L being LINEAR ex R being REST st
for y being Real st y in N1 holds
((SVF1 2,f,z0) . y) - ((SVF1 2,f,z0) . y0) = (L . (y - y0)) + (R . (y - y0)) by A4;
A6: (proj 2,2) . z0 = y0 by A3, Th2;
then consider N2 being Neighbourhood of y0 such that
A7: N2 c= N and
A8: N2 c= N1 by RCOMP_1:38;
A9: N2 c= dom (SVF1 2,f,z0) by A2, A7, XBOOLE_1:1;
let h be convergent_to_0 Real_Sequence; :: thesis: for c being V20() Real_Sequence st rng c = {((proj 2,2) . z0)} & rng (h + c) c= N holds
( (h " ) (#) (((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c)) is convergent & partdiff f,z0,2 = lim ((h " ) (#) (((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c))) )

let c be V20() Real_Sequence; :: thesis: ( rng c = {((proj 2,2) . z0)} & rng (h + c) c= N implies ( (h " ) (#) (((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c)) is convergent & partdiff f,z0,2 = lim ((h " ) (#) (((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c))) ) )
assume that
A10: rng c = {((proj 2,2) . z0)} and
A11: rng (h + c) c= N ; :: thesis: ( (h " ) (#) (((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c)) is convergent & partdiff f,z0,2 = lim ((h " ) (#) (((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c))) )
consider g being real number such that
A12: 0 < g and
A13: N2 = ].(y0 - g),(y0 + g).[ by RCOMP_1:def 7;
( y0 + 0 < y0 + g & y0 - g < y0 - 0 ) by A12, XREAL_1:10, XREAL_1:46;
then A14: y0 in N2 by A13;
A15: rng c c= dom (SVF1 2,f,z0)
proof
let y be set ; :: according to TARSKI:def 3 :: thesis: ( not y in rng c or y in dom (SVF1 2,f,z0) )
assume y in rng c ; :: thesis: y in dom (SVF1 2,f,z0)
then y = y0 by A10, A6, TARSKI:def 1;
then y in N by A7, A14;
hence y in dom (SVF1 2,f,z0) by A2; :: thesis: verum
end;
ex n being Element of NAT st
( rng (c ^\ n) c= N2 & rng ((h + c) ^\ n) c= N2 )
proof
y0 in rng c by A10, A6, TARSKI:def 1;
then A16: lim c = y0 by SEQ_4:40;
A17: h is convergent by FDIFF_1:def 1;
then A18: h + c is convergent by SEQ_2:19;
lim h = 0 by FDIFF_1:def 1;
then lim (h + c) = 0 + y0 by A16, A17, SEQ_2:20
.= y0 ;
then consider n being Element of NAT such that
A19: for m being Element of NAT st n <= m holds
abs (((h + c) . m) - y0) < g by A12, A18, SEQ_2:def 7;
take n ; :: thesis: ( rng (c ^\ n) c= N2 & rng ((h + c) ^\ n) c= N2 )
A20: rng (c ^\ n) = {y0} by A10, A6, VALUED_0:26;
thus rng (c ^\ n) c= N2 :: thesis: rng ((h + c) ^\ n) c= N2
proof
let y be set ; :: according to TARSKI:def 3 :: thesis: ( not y in rng (c ^\ n) or y in N2 )
assume y in rng (c ^\ n) ; :: thesis: y in N2
hence y in N2 by A14, A20, TARSKI:def 1; :: thesis: verum
end;
let y be set ; :: according to TARSKI:def 3 :: thesis: ( not y in rng ((h + c) ^\ n) or y in N2 )
assume y in rng ((h + c) ^\ n) ; :: thesis: y in N2
then consider m being Element of NAT such that
A21: y = ((h + c) ^\ n) . m by FUNCT_2:190;
n + 0 <= n + m by XREAL_1:9;
then A22: abs (((h + c) . (n + m)) - y0) < g by A19;
then ((h + c) . (m + n)) - y0 < g by SEQ_2:9;
then (((h + c) ^\ n) . m) - y0 < g by NAT_1:def 3;
then A23: ((h + c) ^\ n) . m < y0 + g by XREAL_1:21;
- g < ((h + c) . (m + n)) - y0 by A22, SEQ_2:9;
then - g < (((h + c) ^\ n) . m) - y0 by NAT_1:def 3;
then y0 + (- g) < ((h + c) ^\ n) . m by XREAL_1:22;
hence y in N2 by A13, A21, A23; :: thesis: verum
end;
then consider n being Element of NAT such that
rng (c ^\ n) c= N2 and
A24: rng ((h + c) ^\ n) c= N2 ;
consider L being LINEAR, R being REST such that
A25: for y being Real st y in N1 holds
((SVF1 2,f,z0) . y) - ((SVF1 2,f,z0) . y0) = (L . (y - y0)) + (R . (y - y0)) by A5;
A26: rng (c ^\ n) c= dom (SVF1 2,f,z0)
proof
let y be set ; :: according to TARSKI:def 3 :: thesis: ( not y in rng (c ^\ n) or y in dom (SVF1 2,f,z0) )
assume A27: y in rng (c ^\ n) ; :: thesis: y in dom (SVF1 2,f,z0)
rng (c ^\ n) = rng c by VALUED_0:26;
then y = y0 by A10, A6, A27, TARSKI:def 1;
then y in N by A7, A14;
hence y in dom (SVF1 2,f,z0) by A2; :: thesis: verum
end;
A28: L is total by FDIFF_1:def 4;
A29: ( ((L /* (h ^\ n)) + (R /* (h ^\ n))) (#) ((h ^\ n) " ) is convergent & lim (((L /* (h ^\ n)) + (R /* (h ^\ n))) (#) ((h ^\ n) " )) = L . 1 )
proof
deffunc H1( Element of NAT ) -> Element of REAL = (L . 1) + (((R /* (h ^\ n)) (#) ((h ^\ n) " )) . $1);
consider s1 being Real_Sequence such that
A30: for k being Element of NAT holds s1 . k = H1(k) from SEQ_1:sch 1();
A31: now
A32: ( ((h ^\ n) " ) (#) (R /* (h ^\ n)) is convergent & lim (((h ^\ n) " ) (#) (R /* (h ^\ n))) = 0 ) by FDIFF_1:def 3;
let r be real number ; :: thesis: ( 0 < r implies ex n1 being Element of NAT st
for k being Element of NAT st n1 <= k holds
abs ((s1 . k) - (L . 1)) < r )

assume 0 < r ; :: thesis: ex n1 being Element of NAT st
for k being Element of NAT st n1 <= k holds
abs ((s1 . k) - (L . 1)) < r

then consider m being Element of NAT such that
A33: for k being Element of NAT st m <= k holds
abs (((((h ^\ n) " ) (#) (R /* (h ^\ n))) . k) - 0 ) < r by A32, SEQ_2:def 7;
take n1 = m; :: thesis: for k being Element of NAT st n1 <= k holds
abs ((s1 . k) - (L . 1)) < r

let k be Element of NAT ; :: thesis: ( n1 <= k implies abs ((s1 . k) - (L . 1)) < r )
assume A34: n1 <= k ; :: thesis: abs ((s1 . k) - (L . 1)) < r
abs ((s1 . k) - (L . 1)) = abs (((L . 1) + (((R /* (h ^\ n)) (#) ((h ^\ n) " )) . k)) - (L . 1)) by A30
.= abs (((((h ^\ n) " ) (#) (R /* (h ^\ n))) . k) - 0 ) ;
hence abs ((s1 . k) - (L . 1)) < r by A33, A34; :: thesis: verum
end;
consider s being Real such that
A35: for p1 being Real holds L . p1 = s * p1 by FDIFF_1:def 4;
A36: L . 1 = s * 1 by A35
.= s ;
now
let m be Element of NAT ; :: thesis: (((L /* (h ^\ n)) + (R /* (h ^\ n))) (#) ((h ^\ n) " )) . m = s1 . m
h ^\ n is non-empty by FDIFF_1:def 1;
then A37: (h ^\ n) . m <> 0 by SEQ_1:7;
thus (((L /* (h ^\ n)) + (R /* (h ^\ n))) (#) ((h ^\ n) " )) . m = (((L /* (h ^\ n)) + (R /* (h ^\ n))) . m) * (((h ^\ n) " ) . m) by SEQ_1:12
.= (((L /* (h ^\ n)) . m) + ((R /* (h ^\ n)) . m)) * (((h ^\ n) " ) . m) by SEQ_1:11
.= (((L /* (h ^\ n)) . m) * (((h ^\ n) " ) . m)) + (((R /* (h ^\ n)) . m) * (((h ^\ n) " ) . m))
.= (((L /* (h ^\ n)) . m) * (((h ^\ n) " ) . m)) + (((R /* (h ^\ n)) (#) ((h ^\ n) " )) . m) by SEQ_1:12
.= (((L /* (h ^\ n)) . m) * (((h ^\ n) . m) " )) + (((R /* (h ^\ n)) (#) ((h ^\ n) " )) . m) by VALUED_1:10
.= ((L . ((h ^\ n) . m)) * (((h ^\ n) . m) " )) + (((R /* (h ^\ n)) (#) ((h ^\ n) " )) . m) by A28, FUNCT_2:192
.= ((s * ((h ^\ n) . m)) * (((h ^\ n) . m) " )) + (((R /* (h ^\ n)) (#) ((h ^\ n) " )) . m) by A35
.= (s * (((h ^\ n) . m) * (((h ^\ n) . m) " ))) + (((R /* (h ^\ n)) (#) ((h ^\ n) " )) . m)
.= (s * 1) + (((R /* (h ^\ n)) (#) ((h ^\ n) " )) . m) by A37, XCMPLX_0:def 7
.= s1 . m by A30, A36 ; :: thesis: verum
end;
then A38: ((L /* (h ^\ n)) + (R /* (h ^\ n))) (#) ((h ^\ n) " ) = s1 by FUNCT_2:113;
hence ((L /* (h ^\ n)) + (R /* (h ^\ n))) (#) ((h ^\ n) " ) is convergent by A31, SEQ_2:def 6; :: thesis: lim (((L /* (h ^\ n)) + (R /* (h ^\ n))) (#) ((h ^\ n) " )) = L . 1
hence lim (((L /* (h ^\ n)) + (R /* (h ^\ n))) (#) ((h ^\ n) " )) = L . 1 by A38, A31, SEQ_2:def 7; :: thesis: verum
end;
A39: rng ((h + c) ^\ n) c= dom (SVF1 2,f,z0)
proof
let y be set ; :: according to TARSKI:def 3 :: thesis: ( not y in rng ((h + c) ^\ n) or y in dom (SVF1 2,f,z0) )
assume y in rng ((h + c) ^\ n) ; :: thesis: y in dom (SVF1 2,f,z0)
then y in N2 by A24;
then y in N by A7;
hence y in dom (SVF1 2,f,z0) by A2; :: thesis: verum
end;
A40: rng (h + c) c= dom (SVF1 2,f,z0)
proof
let y be set ; :: according to TARSKI:def 3 :: thesis: ( not y in rng (h + c) or y in dom (SVF1 2,f,z0) )
assume y in rng (h + c) ; :: thesis: y in dom (SVF1 2,f,z0)
then y in N by A11;
hence y in dom (SVF1 2,f,z0) by A2; :: thesis: verum
end;
A41: for k being Element of NAT holds ((SVF1 2,f,z0) . (((h + c) ^\ n) . k)) - ((SVF1 2,f,z0) . ((c ^\ n) . k)) = (L . ((h ^\ n) . k)) + (R . ((h ^\ n) . k))
proof
let k be Element of NAT ; :: thesis: ((SVF1 2,f,z0) . (((h + c) ^\ n) . k)) - ((SVF1 2,f,z0) . ((c ^\ n) . k)) = (L . ((h ^\ n) . k)) + (R . ((h ^\ n) . k))
((h + c) ^\ n) . k in rng ((h + c) ^\ n) by VALUED_0:28;
then A42: ((h + c) ^\ n) . k in N2 by A24;
( (c ^\ n) . k in rng (c ^\ n) & rng (c ^\ n) = rng c ) by VALUED_0:26, VALUED_0:28;
then A43: (c ^\ n) . k = y0 by A10, A6, TARSKI:def 1;
(((h + c) ^\ n) . k) - ((c ^\ n) . k) = (((h ^\ n) + (c ^\ n)) . k) - ((c ^\ n) . k) by SEQM_3:37
.= (((h ^\ n) . k) + ((c ^\ n) . k)) - ((c ^\ n) . k) by SEQ_1:11
.= (h ^\ n) . k ;
hence ((SVF1 2,f,z0) . (((h + c) ^\ n) . k)) - ((SVF1 2,f,z0) . ((c ^\ n) . k)) = (L . ((h ^\ n) . k)) + (R . ((h ^\ n) . k)) by A25, A8, A42, A43; :: thesis: verum
end;
A44: R is total by FDIFF_1:def 3;
now
let k be Element of NAT ; :: thesis: (((SVF1 2,f,z0) /* ((h + c) ^\ n)) - ((SVF1 2,f,z0) /* (c ^\ n))) . k = ((L /* (h ^\ n)) + (R /* (h ^\ n))) . k
thus (((SVF1 2,f,z0) /* ((h + c) ^\ n)) - ((SVF1 2,f,z0) /* (c ^\ n))) . k = (((SVF1 2,f,z0) /* ((h + c) ^\ n)) . k) - (((SVF1 2,f,z0) /* (c ^\ n)) . k) by RFUNCT_2:6
.= ((SVF1 2,f,z0) . (((h + c) ^\ n) . k)) - (((SVF1 2,f,z0) /* (c ^\ n)) . k) by A39, FUNCT_2:185
.= ((SVF1 2,f,z0) . (((h + c) ^\ n) . k)) - ((SVF1 2,f,z0) . ((c ^\ n) . k)) by A26, FUNCT_2:185
.= (L . ((h ^\ n) . k)) + (R . ((h ^\ n) . k)) by A41
.= ((L /* (h ^\ n)) . k) + (R . ((h ^\ n) . k)) by A28, FUNCT_2:192
.= ((L /* (h ^\ n)) . k) + ((R /* (h ^\ n)) . k) by A44, FUNCT_2:192
.= ((L /* (h ^\ n)) + (R /* (h ^\ n))) . k by SEQ_1:11 ; :: thesis: verum
end;
then ((SVF1 2,f,z0) /* ((h + c) ^\ n)) - ((SVF1 2,f,z0) /* (c ^\ n)) = (L /* (h ^\ n)) + (R /* (h ^\ n)) by FUNCT_2:113;
then A45: ((L /* (h ^\ n)) + (R /* (h ^\ n))) (#) ((h ^\ n) " ) = ((((SVF1 2,f,z0) /* (h + c)) ^\ n) - ((SVF1 2,f,z0) /* (c ^\ n))) (#) ((h ^\ n) " ) by A40, VALUED_0:27
.= ((((SVF1 2,f,z0) /* (h + c)) ^\ n) - (((SVF1 2,f,z0) /* c) ^\ n)) (#) ((h ^\ n) " ) by A15, VALUED_0:27
.= ((((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c)) ^\ n) (#) ((h ^\ n) " ) by SEQM_3:39
.= ((((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c)) ^\ n) (#) ((h " ) ^\ n) by SEQM_3:41
.= ((((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c)) (#) (h " )) ^\ n by SEQM_3:42 ;
then A46: L . 1 = lim ((h " ) (#) (((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c))) by A29, SEQ_4:36;
thus (h " ) (#) (((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c)) is convergent by A29, A45, SEQ_4:35; :: thesis: partdiff f,z0,2 = lim ((h " ) (#) (((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c)))
for y being Real st y in N2 holds
((SVF1 2,f,z0) . y) - ((SVF1 2,f,z0) . y0) = (L . (y - y0)) + (R . (y - y0)) by A25, A8;
hence partdiff f,z0,2 = lim ((h " ) (#) (((SVF1 2,f,z0) /* (h + c)) - ((SVF1 2,f,z0) /* c))) by A1, A3, A9, A46, Th12; :: thesis: verum