#[local]
Hint Resolve Pos.le_max_r Pos.le_max_l : core.
#[local]
Hint Constructors valid linear : core.
(* Compatibility of validity w.r.t algebraic operations *)

(* Specifications: *)
Lemma poly_add_valid_compat : forall kl kr pl pr, valid kl pl -> valid kr pr ->
valid (Pos.max kl kr) (poly_add pl pr).
Lemma poly_mul_cst_valid_compat : forall k v p, valid k p -> valid k (poly_mul_cst v p).
Lemma poly_mul_mon_null_compat : forall i p, null (poly_mul_mon i p) -> null p.
Lemma poly_mul_mon_valid_compat : forall k i p,
valid k p -> valid (Pos.max (Pos.succ i) k) (poly_mul_mon i p).
Lemma poly_mul_valid_compat : forall kl kr pl pr, valid kl pl -> valid kr pr ->
valid (Pos.max kl kr) (poly_mul pl pr).