:: FDIFF_1 semantic presentation

theorem Th1: :: FDIFF_1:1
for b1 being Subset of REAL holds
( ( for b2 being Real holds
( b2 in b1 iff b2 in REAL ) ) iff b1 = REAL )
proof end;

definition
let c1 be Real_Sequence;
attr a1 is convergent_to_0 means :Def1: :: FDIFF_1:def 1
( a1 is_not_0 & a1 is convergent & lim a1 = 0 );
end;

:: deftheorem Def1 defines convergent_to_0 FDIFF_1:def 1 :
for b1 being Real_Sequence holds
( b1 is convergent_to_0 iff ( b1 is_not_0 & b1 is convergent & lim b1 = 0 ) );

registration
cluster convergent_to_0 Relation of NAT , REAL ;
existence
ex b1 being Real_Sequence st b1 is convergent_to_0
proof end;
end;

reconsider c1 = NAT --> 0 as Real_Sequence by FUNCOP_1:57;

Lemma3: for b1 being Nat holds c1 . b1 = 0
by FUNCOP_1:13;

registration
cluster constant Relation of NAT , REAL ;
existence
ex b1 being Real_Sequence st b1 is constant
proof end;
end;

registration
let c2 be constant Real_Sequence;
cluster -> constant subsequence of a1;
coherence
for b1 being subsequence of c2 holds b1 is constant
by SEQM_3:54;
end;

definition
let c2 be PartFunc of REAL , REAL ;
canceled;
attr a1 is REST-like means :Def3: :: FDIFF_1:def 3
( a1 is total & ( for b1 being convergent_to_0 Real_Sequence holds
( (b1 " ) (#) (a1 * b1) is convergent & lim ((b1 " ) (#) (a1 * b1)) = 0 ) ) );
end;

:: deftheorem Def2 FDIFF_1:def 2 :
canceled;

:: deftheorem Def3 defines REST-like FDIFF_1:def 3 :
for b1 being PartFunc of REAL , REAL holds
( b1 is REST-like iff ( b1 is total & ( for b2 being convergent_to_0 Real_Sequence holds
( (b2 " ) (#) (b1 * b2) is convergent & lim ((b2 " ) (#) (b1 * b2)) = 0 ) ) ) );

reconsider c2 = REAL --> 0 as Function of REAL , REAL by FUNCOP_1:57;

Lemma5: for b1 being Real holds c2 . b1 = 0
by FUNCOP_1:13;

registration
cluster REST-like Relation of REAL , REAL ;
existence
ex b1 being PartFunc of REAL , REAL st b1 is REST-like
proof end;
end;

definition
mode REST is REST-like PartFunc of REAL , REAL ;
end;

definition
let c3 be PartFunc of REAL , REAL ;
attr a1 is linear means :Def4: :: FDIFF_1:def 4
( a1 is total & ex b1 being Real st
for b2 being Real holds a1 . b2 = b1 * b2 );
end;

:: deftheorem Def4 defines linear FDIFF_1:def 4 :
for b1 being PartFunc of REAL , REAL holds
( b1 is linear iff ( b1 is total & ex b2 being Real st
for b3 being Real holds b1 . b3 = b2 * b3 ) );

registration
cluster linear Relation of REAL , REAL ;
existence
ex b1 being PartFunc of REAL , REAL st b1 is linear
proof end;
end;

definition
mode LINEAR is linear PartFunc of REAL , REAL ;
end;

theorem Th2: :: FDIFF_1:2
canceled;

theorem Th3: :: FDIFF_1:3
canceled;

theorem Th4: :: FDIFF_1:4
canceled;

theorem Th5: :: FDIFF_1:5
canceled;

theorem Th6: :: FDIFF_1:6
for b1, b2 being LINEAR holds
( b1 + b2 is LINEAR & b1 - b2 is LINEAR )
proof end;

theorem Th7: :: FDIFF_1:7
for b1 being Real
for b2 being LINEAR holds b1 (#) b2 is LINEAR
proof end;

theorem Th8: :: FDIFF_1:8
for b1, b2 being REST holds
( b1 + b2 is REST & b1 - b2 is REST & b1 (#) b2 is REST )
proof end;

theorem Th9: :: FDIFF_1:9
for b1 being Real
for b2 being REST holds b1 (#) b2 is REST
proof end;

theorem Th10: :: FDIFF_1:10
for b1, b2 being LINEAR holds b1 (#) b2 is REST-like
proof end;

theorem Th11: :: FDIFF_1:11
for b1 being REST
for b2 being LINEAR holds
( b1 (#) b2 is REST & b2 (#) b1 is REST )
proof end;

definition
let c3 be PartFunc of REAL , REAL ;
let c4 be real number ;
pred c1 is_differentiable_in c2 means :Def5: :: FDIFF_1:def 5
ex b1 being Neighbourhood of a2 st
( b1 c= dom a1 & ex b2 being LINEARex b3 being REST st
for b4 being Real st b4 in b1 holds
(a1 . b4) - (a1 . a2) = (b2 . (b4 - a2)) + (b3 . (b4 - a2)) );
end;

:: deftheorem Def5 defines is_differentiable_in FDIFF_1:def 5 :
for b1 being PartFunc of REAL , REAL
for b2 being real number holds
( b1 is_differentiable_in b2 iff ex b3 being Neighbourhood of b2 st
( b3 c= dom b1 & ex b4 being LINEARex b5 being REST st
for b6 being Real st b6 in b3 holds
(b1 . b6) - (b1 . b2) = (b4 . (b6 - b2)) + (b5 . (b6 - b2)) ) );

definition
let c3 be PartFunc of REAL , REAL ;
let c4 be real number ;
assume E14: c3 is_differentiable_in c4 ;
func diff c1,c2 -> Real means :Def6: :: FDIFF_1:def 6
ex b1 being Neighbourhood of a2 st
( b1 c= dom a1 & ex b2 being LINEARex b3 being REST st
( a3 = b2 . 1 & ( for b4 being Real st b4 in b1 holds
(a1 . b4) - (a1 . a2) = (b2 . (b4 - a2)) + (b3 . (b4 - a2)) ) ) );
existence
ex b1 being Realex b2 being Neighbourhood of c4 st
( b2 c= dom c3 & ex b3 being LINEARex b4 being REST st
( b1 = b3 . 1 & ( for b5 being Real st b5 in b2 holds
(c3 . b5) - (c3 . c4) = (b3 . (b5 - c4)) + (b4 . (b5 - c4)) ) ) )
proof end;
uniqueness
for b1, b2 being Real st ex b3 being Neighbourhood of c4 st
( b3 c= dom c3 & ex b4 being LINEARex b5 being REST st
( b1 = b4 . 1 & ( for b6 being Real st b6 in b3 holds
(c3 . b6) - (c3 . c4) = (b4 . (b6 - c4)) + (b5 . (b6 - c4)) ) ) ) & ex b3 being Neighbourhood of c4 st
( b3 c= dom c3 & ex b4 being LINEARex b5 being REST st
( b2 = b4 . 1 & ( for b6 being Real st b6 in b3 holds
(c3 . b6) - (c3 . c4) = (b4 . (b6 - c4)) + (b5 . (b6 - c4)) ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def6 defines diff FDIFF_1:def 6 :
for b1 being PartFunc of REAL , REAL
for b2 being real number st b1 is_differentiable_in b2 holds
for b3 being Real holds
( b3 = diff b1,b2 iff ex b4 being Neighbourhood of b2 st
( b4 c= dom b1 & ex b5 being LINEARex b6 being REST st
( b3 = b5 . 1 & ( for b7 being Real st b7 in b4 holds
(b1 . b7) - (b1 . b2) = (b5 . (b7 - b2)) + (b6 . (b7 - b2)) ) ) ) );

definition
let c3 be PartFunc of REAL , REAL ;
let c4 be set ;
pred c1 is_differentiable_on c2 means :Def7: :: FDIFF_1:def 7
( a2 c= dom a1 & ( for b1 being Real st b1 in a2 holds
a1 | a2 is_differentiable_in b1 ) );
end;

:: deftheorem Def7 defines is_differentiable_on FDIFF_1:def 7 :
for b1 being PartFunc of REAL , REAL
for b2 being set holds
( b1 is_differentiable_on b2 iff ( b2 c= dom b1 & ( for b3 being Real st b3 in b2 holds
b1 | b2 is_differentiable_in b3 ) ) );

theorem Th12: :: FDIFF_1:12
canceled;

theorem Th13: :: FDIFF_1:13
canceled;

theorem Th14: :: FDIFF_1:14
canceled;

theorem Th15: :: FDIFF_1:15
for b1 being set
for b2 being PartFunc of REAL , REAL st b2 is_differentiable_on b1 holds
b1 is Subset of REAL
proof end;

theorem Th16: :: FDIFF_1:16
for b1 being open Subset of REAL
for b2 being PartFunc of REAL , REAL holds
( b2 is_differentiable_on b1 iff ( b1 c= dom b2 & ( for b3 being Real st b3 in b1 holds
b2 is_differentiable_in b3 ) ) )
proof end;

theorem Th17: :: FDIFF_1:17
for b1 being Subset of REAL
for b2 being PartFunc of REAL , REAL st b2 is_differentiable_on b1 holds
b1 is open
proof end;

definition
let c3 be PartFunc of REAL , REAL ;
let c4 be set ;
assume E18: c3 is_differentiable_on c4 ;
func c1 `| c2 -> PartFunc of REAL , REAL means :Def8: :: FDIFF_1:def 8
( dom a3 = a2 & ( for b1 being Real st b1 in a2 holds
a3 . b1 = diff a1,b1 ) );
existence
ex b1 being PartFunc of REAL , REAL st
( dom b1 = c4 & ( for b2 being Real st b2 in c4 holds
b1 . b2 = diff c3,b2 ) )
proof end;
uniqueness
for b1, b2 being PartFunc of REAL , REAL st dom b1 = c4 & ( for b3 being Real st b3 in c4 holds
b1 . b3 = diff c3,b3 ) & dom b2 = c4 & ( for b3 being Real st b3 in c4 holds
b2 . b3 = diff c3,b3 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def8 defines `| FDIFF_1:def 8 :
for b1 being PartFunc of REAL , REAL
for b2 being set st b1 is_differentiable_on b2 holds
for b3 being PartFunc of REAL , REAL holds
( b3 = b1 `| b2 iff ( dom b3 = b2 & ( for b4 being Real st b4 in b2 holds
b3 . b4 = diff b1,b4 ) ) );

theorem Th18: :: FDIFF_1:18
canceled;

theorem Th19: :: FDIFF_1:19
for b1 being PartFunc of REAL , REAL
for b2 being open Subset of REAL st b2 c= dom b1 & ex b3 being Real st rng b1 = {b3} holds
( b1 is_differentiable_on b2 & ( for b3 being Real st b3 in b2 holds
(b1 `| b2) . b3 = 0 ) )
proof end;

registration
let c3 be convergent_to_0 Real_Sequence;
let c4 be Nat;
cluster a1 ^\ a2 -> convergent_to_0 ;
coherence
c3 ^\ c4 is convergent_to_0
proof end;
end;

registration
let c3 be constant Real_Sequence;
let c4 be Nat;
cluster a1 ^\ a2 -> constant ;
coherence
c3 ^\ c4 is constant
proof end;
end;

theorem Th20: :: FDIFF_1:20
for b1 being PartFunc of REAL , REAL
for b2 being real number
for b3 being Neighbourhood of b2 st b1 is_differentiable_in b2 & b3 c= dom b1 holds
for b4 being convergent_to_0 Real_Sequence
for b5 being constant Real_Sequence st rng b5 = {b2} & rng (b4 + b5) c= b3 holds
( (b4 " ) (#) ((b1 * (b4 + b5)) - (b1 * b5)) is convergent & diff b1,b2 = lim ((b4 " ) (#) ((b1 * (b4 + b5)) - (b1 * b5))) )
proof end;

theorem Th21: :: FDIFF_1:21
for b1, b2 being PartFunc of REAL , REAL
for b3 being Real st b1 is_differentiable_in b3 & b2 is_differentiable_in b3 holds
( b1 + b2 is_differentiable_in b3 & diff (b1 + b2),b3 = (diff b1,b3) + (diff b2,b3) )
proof end;

theorem Th22: :: FDIFF_1:22
for b1, b2 being PartFunc of REAL , REAL
for b3 being Real st b1 is_differentiable_in b3 & b2 is_differentiable_in b3 holds
( b1 - b2 is_differentiable_in b3 & diff (b1 - b2),b3 = (diff b1,b3) - (diff b2,b3) )
proof end;

theorem Th23: :: FDIFF_1:23
for b1 being Real
for b2 being PartFunc of REAL , REAL
for b3 being Real st b2 is_differentiable_in b3 holds
( b1 (#) b2 is_differentiable_in b3 & diff (b1 (#) b2),b3 = b1 * (diff b2,b3) )
proof end;

theorem Th24: :: FDIFF_1:24
for b1, b2 being PartFunc of REAL , REAL
for b3 being Real st b1 is_differentiable_in b3 & b2 is_differentiable_in b3 holds
( b1 (#) b2 is_differentiable_in b3 & diff (b1 (#) b2),b3 = ((b2 . b3) * (diff b1,b3)) + ((b1 . b3) * (diff b2,b3)) )
proof end;

theorem Th25: :: FDIFF_1:25
for b1 being PartFunc of REAL , REAL
for b2 being open Subset of REAL st b2 c= dom b1 & b1 | b2 = id b2 holds
( b1 is_differentiable_on b2 & ( for b3 being Real st b3 in b2 holds
(b1 `| b2) . b3 = 1 ) )
proof end;

theorem Th26: :: FDIFF_1:26
for b1, b2 being PartFunc of REAL , REAL
for b3 being open Subset of REAL st b3 c= dom (b1 + b2) & b1 is_differentiable_on b3 & b2 is_differentiable_on b3 holds
( b1 + b2 is_differentiable_on b3 & ( for b4 being Real st b4 in b3 holds
((b1 + b2) `| b3) . b4 = (diff b1,b4) + (diff b2,b4) ) )
proof end;

theorem Th27: :: FDIFF_1:27
for b1, b2 being PartFunc of REAL , REAL
for b3 being open Subset of REAL st b3 c= dom (b1 - b2) & b1 is_differentiable_on b3 & b2 is_differentiable_on b3 holds
( b1 - b2 is_differentiable_on b3 & ( for b4 being Real st b4 in b3 holds
((b1 - b2) `| b3) . b4 = (diff b1,b4) - (diff b2,b4) ) )
proof end;

theorem Th28: :: FDIFF_1:28
for b1 being Real
for b2 being PartFunc of REAL , REAL
for b3 being open Subset of REAL st b3 c= dom (b1 (#) b2) & b2 is_differentiable_on b3 holds
( b1 (#) b2 is_differentiable_on b3 & ( for b4 being Real st b4 in b3 holds
((b1 (#) b2) `| b3) . b4 = b1 * (diff b2,b4) ) )
proof end;

theorem Th29: :: FDIFF_1:29
for b1, b2 being PartFunc of REAL , REAL
for b3 being open Subset of REAL st b3 c= dom (b1 (#) b2) & b1 is_differentiable_on b3 & b2 is_differentiable_on b3 holds
( b1 (#) b2 is_differentiable_on b3 & ( for b4 being Real st b4 in b3 holds
((b1 (#) b2) `| b3) . b4 = ((b2 . b4) * (diff b1,b4)) + ((b1 . b4) * (diff b2,b4)) ) )
proof end;

theorem Th30: :: FDIFF_1:30
for b1 being open Subset of REAL
for b2 being PartFunc of REAL , REAL st b1 c= dom b2 & b2 is_constant_on b1 holds
( b2 is_differentiable_on b1 & ( for b3 being Real st b3 in b1 holds
(b2 `| b1) . b3 = 0 ) )
proof end;

theorem Th31: :: FDIFF_1:31
for b1, b2 being Real
for b3 being open Subset of REAL
for b4 being PartFunc of REAL , REAL st b3 c= dom b4 & ( for b5 being Real st b5 in b3 holds
b4 . b5 = (b1 * b5) + b2 ) holds
( b4 is_differentiable_on b3 & ( for b5 being Real st b5 in b3 holds
(b4 `| b3) . b5 = b1 ) )
proof end;

theorem Th32: :: FDIFF_1:32
for b1 being PartFunc of REAL , REAL
for b2 being real number st b1 is_differentiable_in b2 holds
b1 is_continuous_in b2
proof end;

theorem Th33: :: FDIFF_1:33
for b1 being set
for b2 being PartFunc of REAL , REAL st b2 is_differentiable_on b1 holds
b2 is_continuous_on b1
proof end;

theorem Th34: :: FDIFF_1:34
for b1 being set
for b2 being open Subset of REAL
for b3 being PartFunc of REAL , REAL st b3 is_differentiable_on b1 & b2 c= b1 holds
b3 is_differentiable_on b2
proof end;

theorem Th35: :: FDIFF_1:35
for b1 being Real
for b2 being PartFunc of REAL , REAL st b2 is_differentiable_in b1 holds
ex b3 being REST st
( b3 . 0 = 0 & b3 is_continuous_in 0 )
proof end;