Definition inv : list (Term A n) -> Term A n -> Term A n.

(* Specifications: *)
Theorem inv_prop : forall (a : Term A n) (p q : list (Term A n)), canonical A0 eqA ltM (pX a p) -> minuspf p (pX a q) = pX (inv p a) (minuspf p q).
Theorem invTerm_T1_multTerm_T1 : eqTerm (A:=A) eqA (n:=n) (multTerm (A:=A) multA (n:=n) (invTerm (A:=A) invA (n:=n) (T1 A1 n)) (invTerm (A:=A) invA (n:=n) (T1 A1 n))) (T1 A1 n).
Theorem pluspf_is_minuspf : forall p q : list (Term A n), canonical A0 eqA ltM p -> canonical A0 eqA ltM q -> eqP A eqA n (pluspf (A:=A) A0 (eqA:=eqA) plusA eqA_dec (n:=n) (ltM:=ltM) ltM_dec p q) (minuspf p (mults (A:=A) multA (n:=n) (invTerm (A:=A) invA (n:=n) (T1 A1 n)) q)).