Definition irreducible (Q : list (poly A0 eqA ltM)) 
  (p : list (Term A n)) := forall q : list (Term A n), ~ reduce Q p q.

Lemma irreducible_inv_px_l : forall (Q : list (poly A0 eqA ltM)) (a : Term A n) (p : list (Term A n)), canonical A0 eqA ltM (pX a p) -> irreducible Q (pX a p) -> irreducible Q (pX a (pO A n)).