Notation "'has_ view" := (hasPP _ (fun _ => view))
(at level 4, right associativity, format "''has_' view").
Notation "'all_ view" := (allPP _ (fun _ => view))
(at level 4, right associativity, format "''all_' view").
Section EqIn.
Variables a1 a2 : pred T.

Lemma constant_nseq n x : constant (nseq n x).
Fixpoint uniq s := if s is x :: s' then (x \notin s') && uniq s' else true.