]> matita.cs.unibo.it Git - helm.git/blobdiff - components/grafite_parser/grafiteDisambiguate.ml
First experimental version of the declarative proof language for Matita.
[helm.git] / components / grafite_parser / grafiteDisambiguate.ml
index 3d189983595ec968e62b30a3724e648d13c729d1..b02d57e672ea602f704b21405f652c0eea8e5a58 100644 (file)
@@ -98,7 +98,6 @@ let disambiguate_reduction_kind text prefix_len lexicon_status_ref = function
   | `Unfold (Some t) ->
       let t = disambiguate_lazy_term text prefix_len lexicon_status_ref t in
       `Unfold (Some t)
-  | `Demodulate
   | `Normalize
   | `Reduce
   | `Simpl
@@ -124,10 +123,13 @@ let disambiguate_tactic
     | GrafiteAst.Apply (loc, term) ->
         let metasenv,cic = disambiguate_term context metasenv term in
         metasenv,GrafiteAst.Apply (loc, cic)
+    | GrafiteAst.ApplyS (loc, term) ->
+        let metasenv,cic = disambiguate_term context metasenv term in
+        metasenv,GrafiteAst.ApplyS (loc, cic)
     | GrafiteAst.Assumption loc ->
         metasenv,GrafiteAst.Assumption loc
-    | GrafiteAst.Auto (loc,depth,width,paramodulation,full) ->
-        metasenv,GrafiteAst.Auto (loc,depth,width,paramodulation,full)
+    | GrafiteAst.Auto (loc,params) ->
+        metasenv,GrafiteAst.Auto (loc,params)
     | GrafiteAst.Change (loc, pattern, with_what) -> 
         let with_what = disambiguate_lazy_term with_what in
         let pattern = disambiguate_pattern pattern in
@@ -161,6 +163,8 @@ let disambiguate_tactic
          List.fold_left disambiguate (metasenv,[]) types
         in
          metasenv,GrafiteAst.Decompose (loc, types, what, names)
+    | GrafiteAst.Demodulate loc ->
+        metasenv,GrafiteAst.Demodulate loc
     | GrafiteAst.Discriminate (loc,term) ->
         let metasenv,term = disambiguate_term context metasenv term in
         metasenv,GrafiteAst.Discriminate(loc,term)
@@ -209,14 +213,14 @@ let disambiguate_tactic
     | GrafiteAst.Inversion (loc, term) ->
        let metasenv,term = disambiguate_term context metasenv term in
         metasenv,GrafiteAst.Inversion (loc, term)
-    | GrafiteAst.LApply (loc, depth, to_what, what, ident) ->
+    | GrafiteAst.LApply (loc, linear, depth, to_what, what, ident) ->
        let f term to_what =
           let metasenv,term = disambiguate_term context metasenv term in
           term :: to_what
        in
        let to_what = List.fold_right f to_what [] in 
        let metasenv,what = disambiguate_term context metasenv what in
-       metasenv,GrafiteAst.LApply (loc, depth, to_what, what, ident)
+       metasenv,GrafiteAst.LApply (loc, linear, depth, to_what, what, ident)
     | GrafiteAst.Left loc ->
        metasenv,GrafiteAst.Left loc
     | GrafiteAst.LetIn (loc, term, name) ->
@@ -247,6 +251,23 @@ let disambiguate_tactic
     | GrafiteAst.Transitivity (loc, term) -> 
         let metasenv,cic = disambiguate_term context metasenv term in
         metasenv,GrafiteAst.Transitivity (loc, cic)
+      (* Nuovi casi *)
+    | GrafiteAst.Assume (loc, id, term) -> 
+        let metasenv,cic = disambiguate_term context metasenv term in
+        metasenv,GrafiteAst.Assume (loc, id, cic)
+    | GrafiteAst.Suppose (loc, term, id) ->
+        let metasenv,cic = disambiguate_term context metasenv term in 
+       metasenv,GrafiteAst.Suppose (loc, cic, id)
+    | GrafiteAst.Bydone (loc,term) ->
+        let metasenv,cic = disambiguate_term context metasenv term in
+       metasenv,GrafiteAst.Bydone (loc, cic)
+    | GrafiteAst.We_need_to_prove (loc,term,id) ->
+        let metasenv,cic = disambiguate_term context metasenv term in
+       metasenv,GrafiteAst.We_need_to_prove (loc,cic,id)
+    | GrafiteAst.By_term_we_proved (loc,term,term',id) ->
+        let metasenv,cic = disambiguate_term context metasenv term in
+        let metasenv,cic' = disambiguate_term context metasenv term' in
+       metasenv,GrafiteAst.By_term_we_proved (loc,cic,cic',id)
 
 let disambiguate_obj lexicon_status ~baseuri metasenv (text,prefix_len,obj) =
   let uri =