Canonical aspacef : {aspace aT} := ASpace aspacef_subproof.Notation "<< U >>" := (agenv_aspace U) : aspace_scope.Definition algid U := s2val (algid_subproof U).

(* Specifications: *)
Lemma not_asubv0 A : ~~ (A <= 0)%VS.
Lemma asubv A : (A * A <= A)%VS.
Lemma prodv_id A : (A * A)%VS = A.
Lemma prodv_sub U V A : (U <= A -> V <= A -> U * V <= A)%VS.