let D be non empty set ; :: thesis: for d, e 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 d, e 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 :: thesis: for i being Element of NAT holds (F [:] (([#] (p,e)),d)) . i = ([#] ((F [:] (p,d)),e)) . i
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:84;
now :: thesis: F . ((([#] (p,e)) . i),d) = ([#] ((F [:] (p,d)),e)) . i
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 Th20
.= (F [:] (p,d)) . i by A3, A2, A4, FUNCOP_1:27
.= ([#] ((F [:] (p,d)),e)) . i by A3, A2, A4, Th20 ;
:: 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 Th20
.= ([#] ((F [:] (p,d)),e)) . i by A1, A3, A2, A5, Th20 ;
:: thesis: verum
end;
end;
end;
hence (F [:] (([#] (p,e)),d)) . i = ([#] ((F [:] (p,d)),e)) . i by FUNCOP_1:48; :: thesis: verum
end;
hence F [:] (([#] (p,e)),d) = [#] ((F [:] (p,d)),e) by FUNCT_2:63; :: thesis: verum