Named.DeclarationRepresentation of local declarations.
type ('constr, 'types, 'r) pt = | LocalAssum of (Names.Id.t, 'r) pbinder_annot * 'types | (* identifier, type *) |
| LocalDef of (Names.Id.t, 'r) pbinder_annot * 'constr * 'types | (* identifier, value, type *) |
val get_annot : (_, _, 'r) pt -> (Names.Id.t, 'r) pbinder_annotval get_id : ('c, 't, 'r) pt -> Names.Id.tReturn the identifier bound by a given declaration.
val get_value : ('c, 't, 'r) pt -> 'c optionReturn Some value for local-declarations and None for local-assumptions.
val get_type : ('c, 't, 'r) pt -> 'tReturn the type of the name bound by a given declaration.
val get_relevance : ('c, 't, 'r) pt -> 'rval set_id : Names.Id.t -> ('c, 't, 'r) pt -> ('c, 't, 'r) ptSet the identifier that is bound by a given declaration.
Set the type of the bound variable in a given declaration.
val is_local_assum : ('c, 't, 'r) pt -> boolReturn true iff a given declaration is a local assumption.
val is_local_def : ('c, 't, 'r) pt -> boolReturn true iff a given declaration is a local definition.
val exists : ('c -> bool) -> ('c, 'c, 'r) pt -> boolCheck whether any term in a given declaration satisfies a given predicate.
val for_all : ('c -> bool) -> ('c, 'c, 'r) pt -> boolCheck whether all terms in a given declaration satisfy a given predicate.
Check whether the two given declarations are equal.
val map_id : (Names.Id.t -> Names.Id.t) -> ('c, 't, 'r) pt -> ('c, 't, 'r) ptMap the identifier bound by a given declaration.
For local assumptions, this function returns the original local assumptions. For local definitions, this function maps the value in the local definition.
Map the type of the name bound by a given declaration.
Map all terms in a given declaration.
Map all terms in a given declaration.
Map all terms, with an heterogeneous function.
val iter_constr : ('c -> unit) -> ('c, 'c, 'r) pt -> unitPerform a given action on all terms in a given declaration.
val fold_constr : ('c -> 'a -> 'a) -> ('c, 'c, 'r) pt -> 'a -> 'aReduce all terms in a given declaration to a single value.
val to_tuple : ('c, 't, 'r) pt -> (Names.Id.t, 'r) pbinder_annot * 'c option * 'tval of_tuple : ((Names.Id.t, 'r) pbinder_annot * 'c option * 't) -> ('c, 't, 'r) ptTurn LocalDef into LocalAssum, identity otherwise.
val of_rel_decl : (Names.Name.t -> Names.Id.t) -> ('c, 't, 'r) Rel.Declaration.pt -> ('c, 't, 'r) ptConvert Rel.Declaration.t value to the corresponding Named.Declaration.t value. The function provided as the first parameter determines how to translate "names" to "ids".
val to_rel_decl : ('c, 't, 'r) pt -> ('c, 't, 'r) Rel.Declaration.ptConvert Named.Declaration.t value to the corresponding Rel.Declaration.t value.