unfold pX in |- *; intros a b p q s Eqd Z0 H'; inversion_clear H'; intros.
absurd (eqT b a); auto.
apply eqT_sym; auto.
elim Z0; try assumption.
change
(pX (plusTerm (A:=A) plusA (n:=n) a b) l3 =
pX (plusTerm (A:=A) plusA (n:=n) a b) (pluspf p q))
in |- *.
apply pX_inj; auto.
apply uniq_plusp with (l := (p, q)); auto.
absurd (eqT a b); auto.
Qed.

(* Specifications: *)
Theorem pluspf_inv1 :
forall a b p q,
ltT ltM b a ->
eqP A eqA n (pX a (pluspf p (pX b q))) (pluspf (pX a p) (pX b q)).