Section UpperCentralFunctor.
Variable n : nat.
Implicit Type gT : finGroupType.
(* Now extract all the intermediate facts of the last proof. *)

Lemma ucn_bigdprod n I r P (F : I -> {set gT}) G :
\big[dprod/1]_(i <- r | P i) F i = G ->
\big[dprod/1]_(i <- r | P i) 'Z_n(F i) = 'Z_n(G).