Module Assumptions

Collects all the objects on which a term directly relies, bypassing kernel opacity, together with the recursive dependence DAG of objects.

WARNING: some terms may not make sense in the environment, because they are sealed inside opaque modules. Do not try to do anything fancy with those terms apart from printing them, otherwise demons may fly out of your nose.

NOTE: this function is used in the plugin paramcoq.

val assumptions : ?add_opaque:bool -> ?add_transparent:bool -> Global.indirect_accessor -> TransparentState.t -> Names.GlobRef.t -> Constr.constr -> Constr.types Printer.ContextObjectMap.t

Collects all the assumptions (optionally including opaque definitions) on which a term relies (together with their type). The above warning of traverse also applies.