]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/acic_procedural/proceduralTypes.mli
AMBDA-TYPES: some improvements. subst now fully exploited
[helm.git] / helm / software / components / acic_procedural / proceduralTypes.mli
index 980bc1bc1c71796fe462829b96caa0414968775d..9659a94ecca3ab9ae514d50244bfdf3708cdd495 100644 (file)
 
 (* functions to be moved ****************************************************)
 
-val list_map2_filter: ('a -> 'b -> 'c option) -> 'a list -> 'b list -> 'c list
+val list_rev_map2: ('a -> 'b -> 'c) -> 'a list -> 'b list -> 'c list
 
-val list_split: int -> 'a list -> 'a list * 'a list
+val list_map2_filter: ('a -> 'b -> 'c option) -> 'a list -> 'b list -> 'c list
 
 val mk_arel: int -> string -> Cic.annterm
 
-val is_atomic:Cic.annterm -> bool 
-
 (****************************************************************************)
 
 type name     = string
@@ -43,6 +41,7 @@ type count    = int
 type note     = string
 type where    = (name * name) option
 type inferred = Cic.annterm
+type pattern  = Cic.annterm
 
 type step = Note of note 
           | Theorem of name * what * note
@@ -51,10 +50,10 @@ type step = Note of note
          | Intros of count option * name list * note
           | Cut of name * what * note
           | LetIn of name * what * note
-         | Rewrite of how * what * where * note
-         | Elim of what * using option * note
+         | Rewrite of how * what * where * pattern * note
+         | Elim of what * using option * pattern * note
          | Apply of what * note
-         | Change of inferred * what * where * note
+         | Change of inferred * what * where * pattern * note
          | ClearBody of name * note
          | Branch of step list list * note