| EAppl (e, _, _) -> mem err f e b
| EProj (e, _, d) ->
let err () = mem err f e b in mem err f d b
+
+let rec sta f = function
+ | ESort -> f ESort
+ | EBind (e, a, Abst (_, w)) -> sta (push_bind f a (Abst (N.one, w))) e
+ | EBind (e, a, b) -> sta (push_bind f a b) e
+ | EAppl (e, a, v) -> sta (push_appl f a v) e
+ | EProj (e, a, d) -> let f d = sta (push_proj f a d) e in sta f d