X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Facic_procedural%2FproceduralTypes.mli;h=aa6ad3aa58ffa9fbe4ee3e57ccc01b2d3efbe07b;hb=5b45f78ed4293ebbe8cc73ad925bca11a300d021;hp=9fb7f30351fdfc9868ce7ed337e6638792893657;hpb=977e819edc19f6c25d9f05c2fafe72c63ad301fd;p=helm.git diff --git a/helm/software/components/acic_procedural/proceduralTypes.mli b/helm/software/components/acic_procedural/proceduralTypes.mli index 9fb7f3035..aa6ad3aa5 100644 --- a/helm/software/components/acic_procedural/proceduralTypes.mli +++ b/helm/software/components/acic_procedural/proceduralTypes.mli @@ -25,43 +25,53 @@ (* 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 +type flavour = Cic.object_flavour +type name = string option +type hyp = string type what = Cic.annterm type how = bool type using = Cic.annterm type count = int type note = string -type where = (name * name) option +type where = (hyp * name) option type inferred = Cic.annterm +type pattern = Cic.annterm +type body = Cic.annterm option +type types = Cic.anninductiveType list +type lpsno = int type step = Note of note - | Theorem of name * what * note + | Inductive of types * lpsno * note + | Statement of flavour * name * what * body * note | Qed of note | Id 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 + | Cut of name * what * note + | LetIn of name * what * note + | Rewrite of how * what * where * pattern * note + | Elim of what * using option * pattern * note + | Cases of what * pattern * note | Apply of what * note - | Whd of count * note - | Change of inferred * what * note + | Change of inferred * what * where * pattern * note + | Clear of hyp list * note + | ClearBody of hyp * note | Branch of step list list * note val render_steps: - (what, inferred, [> `Whd] as 'b, what CicNotationPt.obj, name) GrafiteAst.statement list -> + (what, inferred, [> `Whd] as 'b, what CicNotationPt.obj, hyp) GrafiteAst.statement list -> step list -> - (what, inferred, 'b, what CicNotationPt.obj, name) GrafiteAst.statement list + (what, inferred, 'b, what CicNotationPt.obj, hyp) GrafiteAst.statement list val count_steps: int -> step list -> int + +val count_nodes: + int -> step list -> int