let D be non empty set ; :: thesis: for e, d being Element of D
for F being BinOp of D
for p being FinSequence of D st F . e,d = e holds
F [:] ([#] p,e),d = [#] (F [:] p,d),e

let e, d be Element of D; :: thesis: for F being BinOp of D
for p being FinSequence of D st F . e,d = e holds
F [:] ([#] p,e),d = [#] (F [:] p,d),e

let F be BinOp of D; :: thesis: for p being FinSequence of D st F . e,d = e holds
F [:] ([#] p,e),d = [#] (F [:] p,d),e

let p be FinSequence of D; :: thesis: ( F . e,d = e implies F [:] ([#] p,e),d = [#] (F [:] p,d),e )
assume A1: F . e,d = e ; :: thesis: F [:] ([#] p,e),d = [#] (F [:] p,d),e
now
let i be Element of NAT ; :: thesis: (F [:] ([#] p,e),d) . i = ([#] (F [:] p,d),e) . i
A2: dom p = Seg (len p) by FINSEQ_1:def 3;
A3: ( len (F [:] p,d) = len p & dom (F [:] p,d) = Seg (len (F [:] p,d)) ) by FINSEQ_1:def 3, FINSEQ_2:98;
now
per cases ( i in dom p or not i in dom p ) ;
suppose A4: i in dom p ; :: thesis: F . (([#] p,e) . i),d = ([#] (F [:] p,d),e) . i
hence F . (([#] p,e) . i),d = F . (p . i),d by Th22
.= (F [:] p,d) . i by A3, A2, A4, FUNCOP_1:35
.= ([#] (F [:] p,d),e) . i by A3, A2, A4, Th22 ;
:: thesis: verum
end;
suppose A5: not i in dom p ; :: thesis: F . (([#] p,e) . i),d = ([#] (F [:] p,d),e) . i
hence F . (([#] p,e) . i),d = F . e,d by Th22
.= ([#] (F [:] p,d),e) . i by A1, A3, A2, A5, Th22 ;
:: thesis: verum
end;
end;
end;
hence (F [:] ([#] p,e),d) . i = ([#] (F [:] p,d),e) . i by FUNCOP_1:60; :: thesis: verum
end;
hence F [:] ([#] p,e),d = [#] (F [:] p,d),e by FUNCT_2:113; :: thesis: verum