aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar delahaye <delahaye@85f007b7-540e-0410-9357-904b9bb8a0f7>2001-02-05 16:22:39 +0000
committerGravatar delahaye <delahaye@85f007b7-540e-0410-9357-904b9bb8a0f7>2001-02-05 16:22:39 +0000
commita7f57208a8c72190144a96a3f6ec3bf5b850aac0 (patch)
tree98631a17848e0c16450257ffc69f14c04738e38e
parent6e3262ce968a436bda303f1022e9d5a46a61098d (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.ml415
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>>