(* Grade definition *)
Definition grade n k x := hom n k x &&  
  if decompose n x then true else false.

(* Specifications: *)
Lemma gradeE n k x : grade n k x <-> hom n k x /\ exists l, x = joinl n l /\ (forall y, In y l -> hom n 1 y).
Lemma grade0 n k : grade n k 0.
Lemma grade0E n x : grade n 0 x -> x = 0.
Lemma grade_hom n k x : grade n k x -> hom n k x.
Lemma grade1_hom n x : grade n 1 x = hom n 1 x.