X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_notation%2FcicNotationEnv.mli;h=7729caef91f92a2b620420fca27238f481c0839b;hb=8caaccfeb66f6a507e5fb3b4b221a360eb5428c8;hp=3059fc098276f15f5fa0bd8f6123d389b39feb48;hpb=e9cfecee7dd7cf8388512ffd4aa223782c728eda;p=helm.git diff --git a/helm/ocaml/cic_notation/cicNotationEnv.mli b/helm/ocaml/cic_notation/cicNotationEnv.mli index 3059fc098..7729caef9 100644 --- a/helm/ocaml/cic_notation/cicNotationEnv.mli +++ b/helm/ocaml/cic_notation/cicNotationEnv.mli @@ -45,6 +45,13 @@ type declaration = string * value_type type binding = string * (value_type * value) type t = binding list +val declaration_of_var: CicNotationPt.pattern_variable -> declaration +val value_of_term: CicNotationPt.term -> value +val term_of_value: value -> CicNotationPt.term +val well_typed: value_type -> value -> bool + +val declarations_of_env: t -> declaration list + (** {2 Environment lookup} *) val lookup_value: t -> string -> value @@ -52,6 +59,8 @@ val lookup_num: t -> string -> string val lookup_string: t -> string -> string val lookup_term: t -> string -> CicNotationPt.term +val remove: t -> string -> t + (** {2 Bindings mangling} *) val opt_binding_some: binding -> binding (* v -> Some v *) @@ -63,3 +72,8 @@ val list_binding_of_name: declaration -> binding (* [] binding *) val opt_declaration: declaration -> declaration (* t -> OptType t *) val list_declaration: declaration -> declaration (* t -> ListType t *) +(** given a list of environments bindings a set of names n_1, ..., n_k, returns + * a single environment where n_i is bound to the list of values bound in the + * starting environments *) +val coalesce_env: declaration list -> t list -> t +