let S be RealNormSpace-Sequence; :: thesis: for T being RealNormSpace
for Z being Subset of (product S)
for I being non empty FinSequence of dom S
for f being PartFunc of (product S),T
for a being Real st Z is open & f is_partial_differentiable_on Z,I holds
( a (#) f is_partial_differentiable_on Z,I & ( for i being Nat st 1 <= i & i <= len I holds
PartDiffSeq ((a (#) f),Z,I,i) = a (#) (PartDiffSeq (f,Z,I,i)) ) )

let T be RealNormSpace; :: thesis: for Z being Subset of (product S)
for I being non empty FinSequence of dom S
for f being PartFunc of (product S),T
for a being Real st Z is open & f is_partial_differentiable_on Z,I holds
( a (#) f is_partial_differentiable_on Z,I & ( for i being Nat st 1 <= i & i <= len I holds
PartDiffSeq ((a (#) f),Z,I,i) = a (#) (PartDiffSeq (f,Z,I,i)) ) )

let Z be Subset of (product S); :: thesis: for I being non empty FinSequence of dom S
for f being PartFunc of (product S),T
for a being Real st Z is open & f is_partial_differentiable_on Z,I holds
( a (#) f is_partial_differentiable_on Z,I & ( for i being Nat st 1 <= i & i <= len I holds
PartDiffSeq ((a (#) f),Z,I,i) = a (#) (PartDiffSeq (f,Z,I,i)) ) )

let I be non empty FinSequence of dom S; :: thesis: for f being PartFunc of (product S),T
for a being Real st Z is open & f is_partial_differentiable_on Z,I holds
( a (#) f is_partial_differentiable_on Z,I & ( for i being Nat st 1 <= i & i <= len I holds
PartDiffSeq ((a (#) f),Z,I,i) = a (#) (PartDiffSeq (f,Z,I,i)) ) )

let f be PartFunc of (product S),T; :: thesis: for a being Real st Z is open & f is_partial_differentiable_on Z,I holds
( a (#) f is_partial_differentiable_on Z,I & ( for i being Nat st 1 <= i & i <= len I holds
PartDiffSeq ((a (#) f),Z,I,i) = a (#) (PartDiffSeq (f,Z,I,i)) ) )

let a be Real; :: thesis: ( Z is open & f is_partial_differentiable_on Z,I implies ( a (#) f is_partial_differentiable_on Z,I & ( for i being Nat st 1 <= i & i <= len I holds
PartDiffSeq ((a (#) f),Z,I,i) = a (#) (PartDiffSeq (f,Z,I,i)) ) ) )

assume that
A1: Z is open and
A2: f is_partial_differentiable_on Z,I ; :: thesis: ( a (#) f is_partial_differentiable_on Z,I & ( for i being Nat st 1 <= i & i <= len I holds
PartDiffSeq ((a (#) f),Z,I,i) = a (#) (PartDiffSeq (f,Z,I,i)) ) )

1 <= len I by FINSEQ_1:20;
then 1 in dom I by FINSEQ_3:25;
then A4: I . 1 in rng I by FUNCT_1:3;
A6: f `partial| (Z,(I . 1)) = PartDiffSeq (f,Z,I,1) by Th13;
A7: Partdiff_SP (S,T,I,1) = R_NormSpace_of_BoundedLinearOperators ((S . (In ((I . 1),(dom S)))),T) by Th12;
A8: PartDiffSeq ((a (#) f),Z,I,1) = (a (#) f) `partial| (Z,(I . 1)) by Th13
.= a (#) (PartDiffSeq (f,Z,I,1)) by A1, A2, A4, A6, A7, Th27 ;
defpred S1[ Nat] means ( 1 <= $1 & $1 < len I implies ( PartDiffSeq ((a (#) f),Z,I,$1) is_partial_differentiable_on Z,I . ($1 + 1) & PartDiffSeq ((a (#) f),Z,I,($1 + 1)) = a (#) (PartDiffSeq (f,Z,I,($1 + 1))) ) );
A9: S1[ 0 ] ;
A10: for k being Nat st S1[k] holds
S1[k + 1]
proof
let k be Nat; :: thesis: ( S1[k] implies S1[k + 1] )
assume A11: S1[k] ; :: thesis: S1[k + 1]
assume A12: ( 1 <= k + 1 & k + 1 < len I ) ; :: thesis: ( PartDiffSeq ((a (#) f),Z,I,(k + 1)) is_partial_differentiable_on Z,I . ((k + 1) + 1) & PartDiffSeq ((a (#) f),Z,I,((k + 1) + 1)) = a (#) (PartDiffSeq (f,Z,I,((k + 1) + 1))) )
then A13: PartDiffSeq (f,Z,I,(k + 1)) is_partial_differentiable_on Z,I . ((k + 1) + 1) by A2;
( 1 <= (k + 1) + 1 & (k + 1) + 1 <= len I ) by A12, NAT_1:13;
then (k + 1) + 1 in dom I by FINSEQ_3:25;
then A14: I . ((k + 1) + 1) in rng I by FUNCT_1:3;
then A15: ( a (#) (PartDiffSeq (f,Z,I,(k + 1))) is_partial_differentiable_on Z,I . ((k + 1) + 1) & (a (#) (PartDiffSeq (f,Z,I,(k + 1)))) `partial| (Z,(I . ((k + 1) + 1))) = a (#) ((PartDiffSeq (f,Z,I,(k + 1))) `partial| (Z,(I . ((k + 1) + 1)))) ) by A1, A13, Th27;
A16: Partdiff_SP (S,T,I,((k + 1) + 1)) = R_NormSpace_of_BoundedLinearOperators ((S . (In ((I . ((k + 1) + 1)),(dom S)))),(Partdiff_SP (S,T,I,(k + 1)))) by A12, Th12;
A18: (a (#) (PartDiffSeq (f,Z,I,(k + 1)))) `partial| (Z,(I . ((k + 1) + 1))) = a (#) (PartDiffSeq (f,Z,I,((k + 1) + 1))) by A12, A15, A16, Th13;
per cases ( k = 0 or k <> 0 ) ;
suppose A19: k = 0 ; :: thesis: ( PartDiffSeq ((a (#) f),Z,I,(k + 1)) is_partial_differentiable_on Z,I . ((k + 1) + 1) & PartDiffSeq ((a (#) f),Z,I,((k + 1) + 1)) = a (#) (PartDiffSeq (f,Z,I,((k + 1) + 1))) )
hence PartDiffSeq ((a (#) f),Z,I,(k + 1)) is_partial_differentiable_on Z,I . ((k + 1) + 1) by A1, A8, A13, A14, Th27; :: thesis: PartDiffSeq ((a (#) f),Z,I,((k + 1) + 1)) = a (#) (PartDiffSeq (f,Z,I,((k + 1) + 1)))
thus PartDiffSeq ((a (#) f),Z,I,((k + 1) + 1)) = a (#) (PartDiffSeq (f,Z,I,((k + 1) + 1))) by A8, A12, A18, A19, Th13; :: thesis: verum
end;
suppose A20: k <> 0 ; :: thesis: ( PartDiffSeq ((a (#) f),Z,I,(k + 1)) is_partial_differentiable_on Z,I . ((k + 1) + 1) & PartDiffSeq ((a (#) f),Z,I,((k + 1) + 1)) = a (#) (PartDiffSeq (f,Z,I,((k + 1) + 1))) )
hence PartDiffSeq ((a (#) f),Z,I,(k + 1)) is_partial_differentiable_on Z,I . ((k + 1) + 1) by A1, A11, A12, A13, A14, Th27, NAT_1:13, NAT_1:14; :: thesis: PartDiffSeq ((a (#) f),Z,I,((k + 1) + 1)) = a (#) (PartDiffSeq (f,Z,I,((k + 1) + 1)))
thus PartDiffSeq ((a (#) f),Z,I,((k + 1) + 1)) = a (#) (PartDiffSeq (f,Z,I,((k + 1) + 1))) by A11, A12, A18, A20, Th13, NAT_1:13, NAT_1:14; :: thesis: verum
end;
end;
end;
A22: for k being Nat holds S1[k] from NAT_1:sch 2(A9, A10);
hence a (#) f is_partial_differentiable_on Z,I by A1, A2, A4, Th27; :: thesis: for i being Nat st 1 <= i & i <= len I holds
PartDiffSeq ((a (#) f),Z,I,i) = a (#) (PartDiffSeq (f,Z,I,i))

thus for i being Nat st 1 <= i & i <= len I holds
PartDiffSeq ((a (#) f),Z,I,i) = a (#) (PartDiffSeq (f,Z,I,i)) :: thesis: verum
proof
let i be Nat; :: thesis: ( 1 <= i & i <= len I implies PartDiffSeq ((a (#) f),Z,I,i) = a (#) (PartDiffSeq (f,Z,I,i)) )
assume A23: ( 1 <= i & i <= len I ) ; :: thesis: PartDiffSeq ((a (#) f),Z,I,i) = a (#) (PartDiffSeq (f,Z,I,i))
per cases ( i = 1 or i <> 1 ) ;
suppose i = 1 ; :: thesis: PartDiffSeq ((a (#) f),Z,I,i) = a (#) (PartDiffSeq (f,Z,I,i))
hence PartDiffSeq ((a (#) f),Z,I,i) = a (#) (PartDiffSeq (f,Z,I,i)) by A8; :: thesis: verum
end;
suppose i <> 1 ; :: thesis: PartDiffSeq ((a (#) f),Z,I,i) = a (#) (PartDiffSeq (f,Z,I,i))
then 1 < i by XXREAL_0:1, A23;
then 1 + 1 <= i by NAT_1:13;
then A24: 2 - 1 <= i - 1 by XREAL_1:9;
then i - 1 in NAT by INT_1:3;
then reconsider j = i - 1 as Nat ;
j < j + 1 by NAT_1:16;
then j < len I by A23, XXREAL_0:2;
then PartDiffSeq ((a (#) f),Z,I,(j + 1)) = a (#) (PartDiffSeq (f,Z,I,(j + 1))) by A22, A24;
hence PartDiffSeq ((a (#) f),Z,I,i) = a (#) (PartDiffSeq (f,Z,I,i)) ; :: thesis: verum
end;
end;
end;