diff options
author | 2001-02-05 16:22:39 +0000 | |
---|---|---|
committer | 2001-02-05 16:22:39 +0000 | |
commit | a7f57208a8c72190144a96a3f6ec3bf5b850aac0 (patch) | |
tree | 98631a17848e0c16450257ffc69f14c04738e38e | |
parent | 6e3262ce968a436bda303f1022e9d5a46a61098d (diff) |
Ajout d'une heuristique pour les types dependants
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@1322 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r-- | tactics/tauto.ml4 | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/tactics/tauto.ml4 b/tactics/tauto.ml4 index d8d3d6241..7ca436293 100644 --- a/tactics/tauto.ml4 +++ b/tactics/tauto.ml4 @@ -84,18 +84,23 @@ let rec tauto_main () = <:tactic< $t_simplif;$t_axioms Orelse - Match Context With + (Match Context With | [id:(?1-> ?2)-> ?3|- ?] -> Cut ?2-> ?3;[Intro;Cut ?1-> ?2;[Intro;Cut ?3;[Intro;Clear id| Intros;Apply id;Assumption]|Clear id]|Intros;Apply id;Intros; Assumption];$t_tauto_main | [|- (?1 ? ?)] -> - $t_is_disj;(Left;$t_tauto_main) Orelse (Right;$t_tauto_main)>> + $t_is_disj;(Left;$t_tauto_main) Orelse (Right;$t_tauto_main)) + Orelse + (Intro;$t_tauto_main)>> -let intuition_main () = +let rec intuition_main () = let t_axioms = tacticIn axioms - and t_simplif = tacticIn simplif in - <:tactic<$t_simplif;$t_axioms Orelse Auto with *>> + and t_simplif = tacticIn simplif + and t_intuition_main = tacticIn intuition_main in + <:tactic< + $t_simplif;$t_axioms + Orelse Try (Solve [Auto with *|Intro;$t_intuition_main])>> let unfold_not_iff = function | None -> interp <:tactic<Unfold not iff>> |