| author | paulson | 
| Wed, 02 Aug 2006 18:30:57 +0200 | |
| changeset 20284 | a17c737c82df | 
| parent 20257 | ebe183ff903d | 
| permissions | -rw-r--r-- | 
| 6466 
2eba94dc5951
added modelchecker mucke besides modelchecker eindhoven;
 mueller parents: diff
changeset | 1 | (* Title: HOL/Modelcheck/EindhovenSyn.ML | 
| 
2eba94dc5951
added modelchecker mucke besides modelchecker eindhoven;
 mueller parents: diff
changeset | 2 | ID: $Id$ | 
| 
2eba94dc5951
added modelchecker mucke besides modelchecker eindhoven;
 mueller parents: diff
changeset | 3 | Author: Olaf Mueller, Jan Philipps, Robert Sandner | 
| 
2eba94dc5951
added modelchecker mucke besides modelchecker eindhoven;
 mueller parents: diff
changeset | 4 | Copyright 1997 TU Muenchen | 
| 
2eba94dc5951
added modelchecker mucke besides modelchecker eindhoven;
 mueller parents: diff
changeset | 5 | *) | 
| 
2eba94dc5951
added modelchecker mucke besides modelchecker eindhoven;
 mueller parents: diff
changeset | 6 | |
| 17272 | 7 | fun mc_eindhoven_tac i state = SUBGOAL (fn (goal, _) => | 
| 8 | let | |
| 9 | val thy = Thm.theory_of_thm state; | |
| 10 | val assertion = mc_eindhoven_oracle thy (Logic.strip_imp_concl goal); | |
| 11 | in cut_facts_tac [assertion] i THEN atac i end) i state; | |
| 6466 
2eba94dc5951
added modelchecker mucke besides modelchecker eindhoven;
 mueller parents: diff
changeset | 12 | |
| 20257 | 13 | val pair_eta_expand = Thm.symmetric (mk_meta_eq (thm "split_eta")); | 
| 6466 
2eba94dc5951
added modelchecker mucke besides modelchecker eindhoven;
 mueller parents: diff
changeset | 14 | |
| 13462 | 15 | val pair_eta_expand_proc = | 
| 17272 | 16 | Simplifier.simproc (the_context ()) "pair_eta_expand" ["f::'a*'b=>'c"] | 
| 20257 | 17 | (fn _ => fn _ => fn t => case t of Abs _ => SOME pair_eta_expand | _ => NONE); | 
| 6466 
2eba94dc5951
added modelchecker mucke besides modelchecker eindhoven;
 mueller parents: diff
changeset | 18 | |
| 
2eba94dc5951
added modelchecker mucke besides modelchecker eindhoven;
 mueller parents: diff
changeset | 19 | val Eindhoven_ss = | 
| 7295 | 20 | simpset() addsimprocs [pair_eta_expand_proc] addsimps [Let_def]; | 
| 21 | ||
| 22 | (*check if user has pmu installed*) | |
| 23 | fun eindhoven_enabled () = getenv "EINDHOVEN_HOME" <> ""; | |
| 24 | fun if_eindhoven_enabled f x = if eindhoven_enabled () then f x else (); |