:: NDIFF_2 semantic presentation

definition
let c1, c2, c3 be RealNormSpace;
let c4 be Element of BoundedLinearOperators c1,c2;
let c5 be Element of BoundedLinearOperators c2,c3;
func c5 * c4 -> Element of BoundedLinearOperators a1,a3 equals :: NDIFF_2:def 1
(modetrans a5,a2,a3) * (modetrans a4,a1,a2);
correctness
coherence
(modetrans c5,c2,c3) * (modetrans c4,c1,c2) is Element of BoundedLinearOperators c1,c3
;
proof end;
end;

:: deftheorem Def1 defines * NDIFF_2:def 1 :
for b1, b2, b3 being RealNormSpace
for b4 being Element of BoundedLinearOperators b1,b2
for b5 being Element of BoundedLinearOperators b2,b3 holds b5 * b4 = (modetrans b5,b2,b3) * (modetrans b4,b1,b2);

definition
let c1, c2, c3 be RealNormSpace;
let c4 be Point of (R_NormSpace_of_BoundedLinearOperators c1,c2);
let c5 be Point of (R_NormSpace_of_BoundedLinearOperators c2,c3);
func c5 * c4 -> Point of (R_NormSpace_of_BoundedLinearOperators a1,a3) equals :: NDIFF_2:def 2
(modetrans a5,a2,a3) * (modetrans a4,a1,a2);
correctness
coherence
(modetrans c5,c2,c3) * (modetrans c4,c1,c2) is Point of (R_NormSpace_of_BoundedLinearOperators c1,c3)
;
proof end;
end;

:: deftheorem Def2 defines * NDIFF_2:def 2 :
for b1, b2, b3 being RealNormSpace
for b4 being Point of (R_NormSpace_of_BoundedLinearOperators b1,b2)
for b5 being Point of (R_NormSpace_of_BoundedLinearOperators b2,b3) holds b5 * b4 = (modetrans b5,b2,b3) * (modetrans b4,b1,b2);

theorem Th1: :: NDIFF_2:1
for b1, b2 being non trivial RealNormSpace
for b3 being PartFunc of b2,b1
for b4 being Point of b2 st b3 is_differentiable_in b4 holds
ex b5 being Neighbourhood of b4 st
( b5 c= dom b3 & ( for b6 being Point of b2
for b7 being convergent_to_0 Real_Sequence
for b8 being V48 sequence of b2 st rng b8 = {b4} & rng ((b7 * b6) + b8) c= b5 holds
( (b7 " ) (#) ((b3 * ((b7 * b6) + b8)) - (b3 * b8)) is convergent & (diff b3,b4) . b6 = lim ((b7 " ) (#) ((b3 * ((b7 * b6) + b8)) - (b3 * b8))) ) ) )
proof end;

theorem Th2: :: NDIFF_2:2
for b1, b2 being non trivial RealNormSpace
for b3 being PartFunc of b2,b1
for b4 being Point of b2 st b3 is_differentiable_in b4 holds
for b5 being Point of b2
for b6 being convergent_to_0 Real_Sequence
for b7 being V48 sequence of b2 st rng b7 = {b4} & rng ((b6 * b5) + b7) c= dom b3 holds
( (b6 " ) (#) ((b3 * ((b6 * b5) + b7)) - (b3 * b7)) is convergent & (diff b3,b4) . b5 = lim ((b6 " ) (#) ((b3 * ((b6 * b5) + b7)) - (b3 * b7))) )
proof end;

theorem Th3: :: NDIFF_2:3
for b1, b2 being non trivial RealNormSpace
for b3 being PartFunc of b1,b2
for b4 being Point of b1
for b5 being Neighbourhood of b4 st b5 c= dom b3 holds
for b6 being Point of b1
for b7 being Point of b2 holds
( ( for b8 being convergent_to_0 Real_Sequence
for b9 being V48 sequence of b1 st rng b9 = {b4} & rng ((b8 * b6) + b9) c= b5 holds
( (b8 " ) (#) ((b3 * ((b8 * b6) + b9)) - (b3 * b9)) is convergent & b7 = lim ((b8 " ) (#) ((b3 * ((b8 * b6) + b9)) - (b3 * b9))) ) ) iff for b8 being Real st b8 > 0 holds
ex b9 being Real st
( b9 > 0 & ( for b10 being Real st abs b10 < b9 & b10 <> 0 & (b10 * b6) + b4 in b5 holds
||.(((b10 " ) * ((b3 /. ((b10 * b6) + b4)) - (b3 /. b4))) - b7).|| < b8 ) ) )
proof end;

definition
let c1, c2 be non trivial RealNormSpace;
let c3 be PartFunc of c1,c2;
let c4, c5 be Point of c1;
pred c3 is_Gateaux_differentiable_in c4,c5 means :Def3: :: NDIFF_2:def 3
ex b1 being Neighbourhood of a4 st
( b1 c= dom a3 & ex b2 being Point of a2 st
for b3 being Real st b3 > 0 holds
ex b4 being Real st
( b4 > 0 & ( for b5 being Real st abs b5 < b4 & b5 <> 0 & (b5 * a5) + a4 in b1 holds
||.(((b5 " ) * ((a3 /. ((b5 * a5) + a4)) - (a3 /. a4))) - b2).|| < b3 ) ) );
end;

:: deftheorem Def3 defines is_Gateaux_differentiable_in NDIFF_2:def 3 :
for b1, b2 being non trivial RealNormSpace
for b3 being PartFunc of b1,b2
for b4, b5 being Point of b1 holds
( b3 is_Gateaux_differentiable_in b4,b5 iff ex b6 being Neighbourhood of b4 st
( b6 c= dom b3 & ex b7 being Point of b2 st
for b8 being Real st b8 > 0 holds
ex b9 being Real st
( b9 > 0 & ( for b10 being Real st abs b10 < b9 & b10 <> 0 & (b10 * b5) + b4 in b6 holds
||.(((b10 " ) * ((b3 /. ((b10 * b5) + b4)) - (b3 /. b4))) - b7).|| < b8 ) ) ) );

theorem Th4: :: NDIFF_2:4
( ( for b1 being RealNormSpace
for b2, b3 being Point of b1 holds
( ||.(b2 - b3).|| > 0 iff b2 <> b3 ) ) & ( for b1 being RealNormSpace
for b2, b3 being Point of b1 holds ||.(b2 - b3).|| = ||.(b3 - b2).|| ) & ( for b1 being RealNormSpace
for b2, b3 being Point of b1 holds
( ||.(b2 - b3).|| = 0 iff b2 = b3 ) ) & ( for b1 being RealNormSpace
for b2, b3 being Point of b1 holds
( ||.(b2 - b3).|| <> 0 iff b2 <> b3 ) ) & ( for b1 being RealNormSpace
for b2, b3, b4 being Point of b1
for b5 being Real st b5 > 0 & ||.(b2 - b4).|| < b5 / 2 & ||.(b4 - b3).|| < b5 / 2 holds
||.(b2 - b3).|| < b5 ) & ( for b1 being RealNormSpace
for b2, b3, b4 being Point of b1
for b5 being Real st b5 > 0 & ||.(b2 - b4).|| < b5 / 2 & ||.(b3 - b4).|| < b5 / 2 holds
||.(b2 - b3).|| < b5 ) & ( for b1 being RealNormSpace
for b2 being Point of b1 st ( for b3 being Real st b3 > 0 holds
||.b2.|| < b3 ) holds
b2 = 0. b1 ) & ( for b1 being RealNormSpace
for b2, b3 being Point of b1 st ( for b4 being Real st b4 > 0 holds
||.(b2 - b3).|| < b4 ) holds
b2 = b3 ) )
proof end;

definition
let c1, c2 be non trivial RealNormSpace;
let c3 be PartFunc of c1,c2;
let c4, c5 be Point of c1;
assume E5: c3 is_Gateaux_differentiable_in c4,c5 ;
func Gateaux_diff c3,c4,c5 -> Point of a2 means :Def4: :: NDIFF_2:def 4
ex b1 being Neighbourhood of a4 st
( b1 c= dom a3 & ( for b2 being Real st b2 > 0 holds
ex b3 being Real st
( b3 > 0 & ( for b4 being Real st abs b4 < b3 & b4 <> 0 & (b4 * a5) + a4 in b1 holds
||.(((b4 " ) * ((a3 /. ((b4 * a5) + a4)) - (a3 /. a4))) - a6).|| < b2 ) ) ) );
existence
ex b1 being Point of c2ex b2 being Neighbourhood of c4 st
( b2 c= dom c3 & ( for b3 being Real st b3 > 0 holds
ex b4 being Real st
( b4 > 0 & ( for b5 being Real st abs b5 < b4 & b5 <> 0 & (b5 * c5) + c4 in b2 holds
||.(((b5 " ) * ((c3 /. ((b5 * c5) + c4)) - (c3 /. c4))) - b1).|| < b3 ) ) ) )
proof end;
uniqueness
for b1, b2 being Point of c2 st ex b3 being Neighbourhood of c4 st
( b3 c= dom c3 & ( for b4 being Real st b4 > 0 holds
ex b5 being Real st
( b5 > 0 & ( for b6 being Real st abs b6 < b5 & b6 <> 0 & (b6 * c5) + c4 in b3 holds
||.(((b6 " ) * ((c3 /. ((b6 * c5) + c4)) - (c3 /. c4))) - b1).|| < b4 ) ) ) ) & ex b3 being Neighbourhood of c4 st
( b3 c= dom c3 & ( for b4 being Real st b4 > 0 holds
ex b5 being Real st
( b5 > 0 & ( for b6 being Real st abs b6 < b5 & b6 <> 0 & (b6 * c5) + c4 in b3 holds
||.(((b6 " ) * ((c3 /. ((b6 * c5) + c4)) - (c3 /. c4))) - b2).|| < b4 ) ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def4 defines Gateaux_diff NDIFF_2:def 4 :
for b1, b2 being non trivial RealNormSpace
for b3 being PartFunc of b1,b2
for b4, b5 being Point of b1 st b3 is_Gateaux_differentiable_in b4,b5 holds
for b6 being Point of b2 holds
( b6 = Gateaux_diff b3,b4,b5 iff ex b7 being Neighbourhood of b4 st
( b7 c= dom b3 & ( for b8 being Real st b8 > 0 holds
ex b9 being Real st
( b9 > 0 & ( for b10 being Real st abs b10 < b9 & b10 <> 0 & (b10 * b5) + b4 in b7 holds
||.(((b10 " ) * ((b3 /. ((b10 * b5) + b4)) - (b3 /. b4))) - b6).|| < b8 ) ) ) ) );

theorem Th5: :: NDIFF_2:5
for b1, b2 being non trivial RealNormSpace
for b3 being PartFunc of b1,b2
for b4, b5 being Point of b1 holds
( b3 is_Gateaux_differentiable_in b4,b5 iff ex b6 being Neighbourhood of b4 st
( b6 c= dom b3 & ex b7 being Point of b2 st
for b8 being convergent_to_0 Real_Sequence
for b9 being V48 sequence of b1 st rng b9 = {b4} & rng ((b8 * b5) + b9) c= b6 holds
( (b8 " ) (#) ((b3 * ((b8 * b5) + b9)) - (b3 * b9)) is convergent & b7 = lim ((b8 " ) (#) ((b3 * ((b8 * b5) + b9)) - (b3 * b9))) ) ) )
proof end;

theorem Th6: :: NDIFF_2:6
for b1, b2 being non trivial RealNormSpace
for b3 being PartFunc of b2,b1
for b4 being Point of b2 st b3 is_differentiable_in b4 holds
for b5 being Point of b2 holds
( b3 is_Gateaux_differentiable_in b4,b5 & Gateaux_diff b3,b4,b5 = (diff b3,b4) . b5 & ex b6 being Neighbourhood of b4 st
( b6 c= dom b3 & ( for b7 being convergent_to_0 Real_Sequence
for b8 being V48 sequence of b2 st rng b8 = {b4} & rng ((b7 * b5) + b8) c= b6 holds
( (b7 " ) (#) ((b3 * ((b7 * b5) + b8)) - (b3 * b8)) is convergent & Gateaux_diff b3,b4,b5 = lim ((b7 " ) (#) ((b3 * ((b7 * b5) + b8)) - (b3 * b8))) ) ) ) )
proof end;

theorem Th7: :: NDIFF_2:7
for b1, b2 being non trivial RealNormSpace
for b3 being REST of b1,b2 st b3 /. (0. b1) = 0. b2 holds
for b4 being Real st b4 > 0 holds
ex b5 being Real st
( b5 > 0 & ( for b6 being Point of b1 st ||.b6.|| < b5 holds
||.(b3 /. b6).|| <= b4 * ||.b6.|| ) )
proof end;

theorem Th8: :: NDIFF_2:8
for b1, b2, b3 being non trivial RealNormSpace
for b4 being REST of b1,b3 st b4 /. (0. b1) = 0. b3 holds
for b5 being bounded LinearOperator of b2,b1 holds b4 * b5 is REST of b2,b3
proof end;

theorem Th9: :: NDIFF_2:9
for b1, b2, b3 being non trivial RealNormSpace
for b4 being REST of b1,b2
for b5 being bounded LinearOperator of b2,b3 holds b5 * b4 is REST of b1,b3
proof end;

theorem Th10: :: NDIFF_2:10
for b1, b2, b3 being non trivial RealNormSpace
for b4 being REST of b1,b2 st b4 /. (0. b1) = 0. b2 holds
for b5 being REST of b2,b3 st b5 /. (0. b2) = 0. b3 holds
b5 * b4 is REST of b1,b3
proof end;

theorem Th11: :: NDIFF_2:11
for b1, b2, b3 being non trivial RealNormSpace
for b4 being REST of b1,b2 st b4 /. (0. b1) = 0. b2 holds
for b5 being REST of b2,b3 st b5 /. (0. b2) = 0. b3 holds
for b6 being bounded LinearOperator of b1,b2 holds b5 * (b6 + b4) is REST of b1,b3
proof end;

theorem Th12: :: NDIFF_2:12
for b1, b2, b3 being non trivial RealNormSpace
for b4 being REST of b1,b2 st b4 /. (0. b1) = 0. b2 holds
for b5 being REST of b2,b3 st b5 /. (0. b2) = 0. b3 holds
for b6 being bounded LinearOperator of b1,b2
for b7 being bounded LinearOperator of b2,b3 holds (b7 * b4) + (b5 * (b6 + b4)) is REST of b1,b3
proof end;

theorem Th13: :: NDIFF_2:13
for b1, b2 being non trivial RealNormSpace
for b3 being Point of b1
for b4 being non trivial RealNormSpace
for b5 being PartFunc of b1,b2 st b5 is_differentiable_in b3 holds
for b6 being PartFunc of b2,b4 st b6 is_differentiable_in b5 /. b3 holds
( b6 * b5 is_differentiable_in b3 & diff (b6 * b5),b3 = (diff b6,(b5 /. b3)) * (diff b5,b3) )
proof end;