reserve x,y,z,X,Y for set;
reserve X,Y for non empty set,
  f for Function of X,Y;
reserve X, Y for non empty set,
  F for (BinOp of Y),
  B for (Element of Fin X),
  f for Function of X,Y;

theorem
  for F,G being BinOp of Y st F is idempotent & F is commutative & F is
  associative & G is_distributive_wrt F for B being Element of Fin X st B <> {}
for f being Function of X,Y for a being Element of Y holds G.(F$$(B,f),a) = F$$
  (B,G[:](f,a))
proof
  let F,G be BinOp of Y such that
A1: F is idempotent and
A2: F is commutative & F is associative and
A3: G is_distributive_wrt F;
  let B be Element of Fin X such that
A4: B<> {};
  let f be Function of X,Y;
  let a be Element of Y;
  defpred X[Element of Fin X] means G.(F$$($1,f),a) = F$$($1,G[:](f,a));
A5: for B1,B2 being non empty Element of Fin X holds X[B1] & X[B2] implies X
  [B1 \/ B2]
  proof
    let B1,B2 be non empty Element of Fin X;
    assume
A6: G.(F$$(B1,f),a) = F$$(B1,G[:](f,a)) & G.(F$$(B2,f),a) = F$$(B2,G [:](f,a));
    thus G.(F$$(B1 \/ B2,f),a) = G.(F.(F$$(B1,f),F$$(B2,f)),a) by A1,A2,Th18
      .= F.(F$$(B1,G[:](f,a)), F$$(B2,G[:] (f,a))) by A3,A6,BINOP_1:11
      .= F$$(B1 \/ B2,G[:](f,a)) by A1,A2,Th18;
  end;
A7: for x being Element of X holds X[{.x.}]
  proof
    let x be Element of X;
    thus G.(F$$({.x.},f),a) = G.(f.x,a) by A2,Th14
      .= (G[:](f,a)).x by FUNCOP_1:48
      .= F$$({.x.},G[:](f,a)) by A2,Th14;
  end;
  for B being non empty Element of Fin X holds X[B] from FinSubInd2(A7,
  A5);
  hence thesis by A4;
end;
