X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fgrafite%2FgrafiteAst.ml;h=fc9ea8c5d8964c3ad5b0c647eaf234b59c1b2ecd;hb=f3ad825f16c02c0c5fca620980882e409871e6f1;hp=6b20ab9c8c137bcdc7f7ab4cd52140f5f660038d;hpb=6beda5aa100b617b75d88a5a519b5022c99208a0;p=helm.git diff --git a/helm/software/components/grafite/grafiteAst.ml b/helm/software/components/grafite/grafiteAst.ml index 6b20ab9c8..fc9ea8c5d 100644 --- a/helm/software/components/grafite/grafiteAst.ml +++ b/helm/software/components/grafite/grafiteAst.ml @@ -40,6 +40,12 @@ type 'lazy_term reduction = type 'ident intros_spec = int option * 'ident option list +type 'term auto_params = 'term list * (string*string) list + +type 'term just = + [ `Term of 'term + | `Auto of 'term auto_params ] + type ('term, 'lazy_term, 'reduction, 'ident) tactic = (* Higher order tactics (i.e. tacticals) *) | Do of loc * int * ('term, 'lazy_term, 'reduction, 'ident) tactic @@ -57,9 +63,9 @@ type ('term, 'lazy_term, 'reduction, 'ident) tactic = (* Real tactics *) | Absurd of loc * 'term | Apply of loc * 'term - | ApplyS of loc * 'term * (string * string) list + | ApplyS of loc * 'term * 'term auto_params | Assumption of loc - | AutoBatch of loc * (string * string) list + | AutoBatch of loc * 'term auto_params | Cases of loc * 'term * 'ident intros_spec | Change of loc * ('term, 'lazy_term, 'ident) pattern * 'lazy_term | Clear of loc * 'ident list @@ -69,7 +75,7 @@ type ('term, 'lazy_term, 'reduction, 'ident) tactic = | Contradiction of loc | Cut of loc * 'ident option * 'term | Decompose of loc * 'ident option list - | Demodulate of loc + | Demodulate of loc * 'term auto_params | Destruct of loc * 'term list option | Elim of loc * 'term * 'term option * ('term, 'lazy_term, 'ident) pattern * 'ident intros_spec @@ -97,22 +103,24 @@ type ('term, 'lazy_term, 'reduction, 'ident) tactic = | Split of loc | Symmetry of loc | Transitivity of loc * 'term - (* Costruttori Aggiunti *) + (* Declarative language *) | Assume of loc * 'ident * 'term | Suppose of loc * 'term *'ident * 'term option - | By_term_we_proved of loc *'term option * 'term * 'ident option * 'term option + | By_just_we_proved of loc * 'term just * + 'term * 'ident option * 'term option | We_need_to_prove of loc * 'term * 'ident option * 'term option - | Bydone of loc * 'term option + | Bydone of loc * 'term just | We_proceed_by_induction_on of loc * 'term * 'term | We_proceed_by_cases_on of loc * 'term * 'term | Byinduction of loc * 'term * 'ident | Thesisbecomes of loc * 'term | Case of loc * string * (string * 'term) list - | ExistsElim of loc * 'term option * 'ident * 'term * 'ident * 'lazy_term - | AndElim of loc * 'term * 'ident * 'term * 'ident * 'term + | ExistsElim of loc * 'term just * 'ident * 'term * 'ident * 'lazy_term + | AndElim of loc * 'term just * 'ident * 'term * 'ident * 'term | RewritingStep of loc * (string option * 'term) option * 'term * - [ `Term of 'term | `Auto of (string * string) list | `Proof ] * + [ `Term of 'term | `Auto of 'term auto_params + | `Proof | `SolveWith of 'term ] * bool (* last step*) type search_kind = [ `Locate | `Hint | `Match | `Elim ] @@ -132,7 +140,7 @@ type 'term macro = (* real macros *) | Check of loc * 'term | Hint of loc * bool - | AutoInteractive of loc * (string * string) list + | AutoInteractive of loc * 'term auto_params | Inline of loc * presentation_style * string * string (* URI or base-uri, name prefix *)