X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_disambiguation%2Fast.mli;h=b7267ee573649769d09ea7498f651ac315bd4dad;hb=970ba0021a992efe25ec374875dc127ff236cc74;hp=d579ccdd3d3a5fff4d787cd570cca9499bead5a2;hpb=0148419c577eab74538b8e2564a64e399d8bdd65;p=helm.git diff --git a/helm/ocaml/cic_disambiguation/ast.mli b/helm/ocaml/cic_disambiguation/ast.mli index d579ccdd3..b7267ee57 100644 --- a/helm/ocaml/cic_disambiguation/ast.mli +++ b/helm/ocaml/cic_disambiguation/ast.mli @@ -60,6 +60,8 @@ type 'tactic tactical = | Try of 'tactic tactical (* try a tactical and mask failures *) type binder_kind = [ `Lambda | `Pi | `Exists | `Forall ] +type induction_kind = [ `Inductive | `CoInductive ] +type sort_kind = [ `Prop | `Set | `Type | `CProp ] type case_pattern = string list @@ -67,16 +69,18 @@ type term = | LocatedTerm of location * term | Appl of term list - | Binder of binder_kind * string * term option * term + | Appl_symbol of string * int * term list (* literal, args, instance *) + | Binder of binder_kind * Cic.name * term option * term (* kind, name, type, body *) - | Case of term * term option * (case_pattern * term) list - (* what to match, case type, list *) + | Case of term * string * term option * (case_pattern * term) list + (* what to match, inductive type, out type, list *) | LetIn of string * term * term (* name, body, where *) - | LetRec of (string * term * term option * int) list * term + | LetRec of induction_kind * (string * term * term option * int) list * term (* (name, body, type, decreasing argument) list, where *) - | Ident of string * subst list - | Meta of string * meta_subst list - | Int of int + | Ident of string * subst list (* literal, substitutions *) + | Meta of int * meta_subst list + | Num of string * int (* literal, instance *) + | Sort of sort_kind and meta_subst = term option and subst = string * term