Definition dirr1 (B : {set gT}) : dIirr B := (false, 0).
Definition ndirr (B : {set gT}) (i : dIirr B) : dIirr B :=
(~~ i.1, i.2).

(* Specifications: *)
Lemma ndirr_diff (i : dIirr G) : ndirr i != i.
Lemma dchi_ndirrE (i : dIirr G) : dchi (ndirr i) = - dchi i.
Lemma dchi_vchar i : dchi i \in 'Z[irr G].
Definition dirr_dIirr (B : {set gT}) J (f : J -> 'CF(B)) j : dIirr B :=
odflt (dirr1 B) [pick i | dchi i == f j].
Lemma dirr_dIirrPE J (f : J -> 'CF(G)) (P : pred J) :
(forall j, P j -> f j \in dirr G) ->
forall j, P j -> dchi (dirr_dIirr f j) = f j.
Lemma dirr_dIirrE J (f : J -> 'CF(G)) :
(forall j, f j \in dirr G) -> forall j, dchi (dirr_dIirr f j) = f j.
Lemma dirr_constt_oppr (i : dIirr G) (phi : 'CF(G)) :
(i \in dirr_constt (-phi)) = (ndirr i \in dirr_constt phi).
Lemma dirr_constt_oppl (phi: 'CF(G)) i :
i \in dirr_constt phi ->  (ndirr i) \notin dirr_constt phi.