Definition π (u : term) s := eva (u (tenc s)).
Definition rel_eq P Q := forall x, P x <-> Q x.
Definition rel_incl P Q := forall x, P x -> Q x.
Notation "P <⋅> Q" := (rel_eq P Q) (at level 50).
Notation "f ^-1 A" := (fun s => A (f s)) (at level 40).
Notation "P <<=1 Q" := (rel_incl P Q) (at level 50).
Instance rel_eq_equiv : Equivalence rel_eq.
Instance proper_rel_incl :
Proper (rel_eq ==> rel_eq ==> iff) rel_incl.
Instance proper_pi :
Proper (equiv ==> rel_eq) π.

(* Specifications: *)
Lemma inv_incl P Q (f : term -> term) : P <<=1 Q -> f ^-1 P <<=1 f ^-1 Q.
Definition productive P :=
exists g, computable_fun g /\ forall u, π u <<=1 P -> P (g u) /\ ~ π u (g u).