]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/grafite_engine/grafiteEngine.ml
Demodulate used to be a reduction_kind and it used to take a ~pattern.
[helm.git] / helm / software / components / grafite_engine / grafiteEngine.ml
index d7343c98c1447c5831ace4066798c6828e37fd09..b066b8ae09cafc5472a21c0bbc16b6a5625d7d21 100644 (file)
@@ -83,6 +83,7 @@ let tactic_of_ast ast =
       let dbd = LibraryDb.instance () in
       let mk_fresh_name_callback = namer_of names in
       Tactics.decompose ~mk_fresh_name_callback ~dbd ~user_types ?what
+  | GrafiteAst.Demodulate _ -> Tactics.demodulate ~dbd:(LibraryDb.instance ())
   | GrafiteAst.Discriminate (_,term) -> Tactics.discriminate term
   | GrafiteAst.Elim (_, what, using, depth, names) ->
       Tactics.elim_intros ?using ?depth ~mk_fresh_name_callback:(namer_of names)
@@ -96,8 +97,6 @@ let tactic_of_ast ast =
   | GrafiteAst.Fold (_, reduction_kind, term, pattern) ->
       let reduction =
         match reduction_kind with
-        | `Demodulate -> 
-            GrafiteTypes.command_error "demodulation can't be folded"
         | `Normalize ->
             PET.const_lazy_reduction
               (CicReduction.normalize ~delta:false ~subst:[])
@@ -139,7 +138,6 @@ let tactic_of_ast ast =
       Tactics.letin term ~mk_fresh_name_callback:(namer_of [name])
   | GrafiteAst.Reduce (_, reduction_kind, pattern) ->
       (match reduction_kind with
-        | `Demodulate -> Tactics.demodulate ~dbd:(LibraryDb.instance ()) ~pattern
         | `Normalize -> Tactics.normalize ~pattern
         | `Reduce -> Tactics.reduce ~pattern  
         | `Simpl -> Tactics.simpl ~pattern