X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Facic_procedural%2FproceduralTypes.mli;h=34c7ba670216e332a02711e7b0c112d67a7991e2;hb=9e7df95a820cb91d075f1a20d703175da874596c;hp=dfd82df12ff1d2b0504a07e04309bea6fd0d91f3;hpb=4db221ee87ba30f63db0ea32c98858041e8e6213;p=helm.git diff --git a/helm/software/components/acic_procedural/proceduralTypes.mli b/helm/software/components/acic_procedural/proceduralTypes.mli index dfd82df12..34c7ba670 100644 --- a/helm/software/components/acic_procedural/proceduralTypes.mli +++ b/helm/software/components/acic_procedural/proceduralTypes.mli @@ -25,41 +25,58 @@ (* 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 what = Cic.annterm -type how = bool -type using = Cic.annterm -type count = int -type note = string -type where = (name * name) option +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 = (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 + | Exact of what * 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 * where * pattern * note + | Clear of hyp list * note + | ClearBody of hyp * note | Branch of step list list * note + | Reflexivity of note val render_steps: - (what, 'a, [> `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, 'a, '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 + +val note_of_step: + step -> note