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 Th21:
  B <> {} & F is commutative & F is associative & F is idempotent
implies for a being Element of Y st for b being Element of X st b in B holds f.
  b = a holds F$$(B,f) = a
proof
  assume that
A1: B <> {} and
A2: F is commutative & F is associative and
A3: F is idempotent;
  let a be Element of Y;
  defpred X[Element of Fin X] means (for b being Element of X st b in $1 holds
  f.b = a) implies F$$($1,f) = a;
A4: 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 that
A5: ( (for b being Element of X st b in B1 holds f.b = a) implies F$$
(B1,f) = a)&( (for b being Element of X st b in B2 holds f.b = a) implies F$$(
    B2,f) = a) and
A6: for b being Element of X st b in B1 \/ B2 holds f.b = a;
A7: now
      let b be Element of X;
      assume b in B2;
      then b in B1 \/ B2 by XBOOLE_0:def 3;
      hence f.b = a by A6;
    end;
    now
      let b be Element of X;
      assume b in B1;
      then b in B1 \/ B2 by XBOOLE_0:def 3;
      hence f.b = a by A6;
    end;
    hence F$$(B1 \/ B2,f) = F.(a,a) by A2,A3,A5,A7,Th18
      .= a by A3;
  end;
A8: for x being Element of X holds X[{.x.}]
  proof
    let x be Element of X such that
A9: for b being Element of X st b in {x} holds f.b = a;
A10: x in { x } by TARSKI:def 1;
    thus F$$({.x.},f) = f.x by A2,Th14
      .= a by A9,A10;
  end;
  for B being non empty Element of Fin X holds X[B] from FinSubInd2(A8,
  A4);
  hence thesis by A1;
end;
