let D be non empty set ; :: thesis: for B being BinOp of D
for d1, d2 being Element of D
for f being FinSequence of D
for F being finite set
for E being Enumeration of F st B is having_a_unity & B is associative & B is commutative & B is having_an_inverseOp & 1 + (len f) in meet F & not 2 + (len f) in union F holds
B "**" ((SignGenOp (((f ^ <*d1*>) ^ <*d2*>),B,F)) * E) = B "**" ((SignGenOp ((f ^ <*(B . (d1,((the_inverseOp_wrt B) . d2)))*>),B,F)) * E)

let B be BinOp of D; :: thesis: for d1, d2 being Element of D
for f being FinSequence of D
for F being finite set
for E being Enumeration of F st B is having_a_unity & B is associative & B is commutative & B is having_an_inverseOp & 1 + (len f) in meet F & not 2 + (len f) in union F holds
B "**" ((SignGenOp (((f ^ <*d1*>) ^ <*d2*>),B,F)) * E) = B "**" ((SignGenOp ((f ^ <*(B . (d1,((the_inverseOp_wrt B) . d2)))*>),B,F)) * E)

let d1, d2 be Element of D; :: thesis: for f being FinSequence of D
for F being finite set
for E being Enumeration of F st B is having_a_unity & B is associative & B is commutative & B is having_an_inverseOp & 1 + (len f) in meet F & not 2 + (len f) in union F holds
B "**" ((SignGenOp (((f ^ <*d1*>) ^ <*d2*>),B,F)) * E) = B "**" ((SignGenOp ((f ^ <*(B . (d1,((the_inverseOp_wrt B) . d2)))*>),B,F)) * E)

let f be FinSequence of D; :: thesis: for F being finite set
for E being Enumeration of F st B is having_a_unity & B is associative & B is commutative & B is having_an_inverseOp & 1 + (len f) in meet F & not 2 + (len f) in union F holds
B "**" ((SignGenOp (((f ^ <*d1*>) ^ <*d2*>),B,F)) * E) = B "**" ((SignGenOp ((f ^ <*(B . (d1,((the_inverseOp_wrt B) . d2)))*>),B,F)) * E)

let F be finite set ; :: thesis: for E being Enumeration of F st B is having_a_unity & B is associative & B is commutative & B is having_an_inverseOp & 1 + (len f) in meet F & not 2 + (len f) in union F holds
B "**" ((SignGenOp (((f ^ <*d1*>) ^ <*d2*>),B,F)) * E) = B "**" ((SignGenOp ((f ^ <*(B . (d1,((the_inverseOp_wrt B) . d2)))*>),B,F)) * E)

set I = the_inverseOp_wrt B;
let E be Enumeration of F; :: thesis: ( B is having_a_unity & B is associative & B is commutative & B is having_an_inverseOp & 1 + (len f) in meet F & not 2 + (len f) in union F implies B "**" ((SignGenOp (((f ^ <*d1*>) ^ <*d2*>),B,F)) * E) = B "**" ((SignGenOp ((f ^ <*(B . (d1,((the_inverseOp_wrt B) . d2)))*>),B,F)) * E) )
assume that
A1: ( B is having_a_unity & B is associative & B is commutative & B is having_an_inverseOp ) and
A2: ( 1 + (len f) in meet F & not 2 + (len f) in union F ) ; :: thesis: B "**" ((SignGenOp (((f ^ <*d1*>) ^ <*d2*>),B,F)) * E) = B "**" ((SignGenOp ((f ^ <*(B . (d1,((the_inverseOp_wrt B) . d2)))*>),B,F)) * E)
A3: len (f ^ <*d1*>) = 1 + (len f) by FINSEQ_2:16;
then not 1 + (len (f ^ <*d1*>)) in union F by A2;
hence B "**" ((SignGenOp (((f ^ <*d1*>) ^ <*d2*>),B,F)) * E) = B [:] ((B "**" ((SignGenOp ((f ^ <*d1*>),B,F)) * E)),d2) by NAT_1:11, Th82, A3
.= B [:] ((B [:] ((B "**" ((SignGenOp (f,B,F)) * E)),((the_inverseOp_wrt B) . d1))),d2) by A1, Th83, A2
.= B [:] ((B "**" ((SignGenOp (f,B,F)) * E)),(B . (((the_inverseOp_wrt B) . d1),d2))) by A1, FUNCOP_1:63
.= B [:] ((B "**" ((SignGenOp (f,B,F)) * E)),((the_inverseOp_wrt B) . (B . (d1,((the_inverseOp_wrt B) . d2))))) by Th2, A1
.= B "**" ((SignGenOp ((f ^ <*(B . (d1,((the_inverseOp_wrt B) . d2)))*>),B,F)) * E) by A1, Th83, A2 ;
:: thesis: verum