| author | berghofe | 
| Sun, 08 Nov 2009 15:45:09 +0100 | |
| changeset 33525 | 05c384cb1181 | 
| parent 32960 | 69916a850301 | 
| permissions | -rw-r--r-- | 
| 17244 | 1 | theory MuIOAOracle | 
| 2 | imports MuIOA | |
| 3 | begin | |
| 4 | ||
| 28290 | 5 | oracle sim_oracle = mk_sim_oracle | 
| 6471 
08d12ef5fc19
added translation from IOA to mucalculus and corresponding modelchecker examples;
 mueller parents: diff
changeset | 6 | |
| 22819 | 7 | ML {*
 | 
| 8 | (* call_sim_tac invokes oracle "Sim" *) | |
| 28290 | 9 | fun call_sim_tac thm_list = CSUBGOAL (fn (csubgoal, i) => | 
| 10 | let val OraAss = sim_oracle (csubgoal,thm_list); | |
| 11 | in cut_facts_tac [OraAss] i end); | |
| 22819 | 12 | |
| 13 | ||
| 14 | val ioa_implements_def = thm "ioa_implements_def"; | |
| 15 | ||
| 16 | (* is_sim_tac makes additionally to call_sim_tac some simplifications, | |
| 32960 
69916a850301
eliminated hard tabulators, guessing at each author's individual tab-width;
 wenzelm parents: 
30609diff
changeset | 17 | which are suitable for implementation realtion formulas *) | 
| 30609 
983e8b6e4e69
Disposed old declarations, tactics, tactic combinators that refer to the simpset or claset of an implicit theory;
 wenzelm parents: 
28290diff
changeset | 18 | fun is_sim_tac ss thm_list = SUBGOAL (fn (goal, i) => | 
| 22819 | 19 | EVERY [REPEAT (etac thin_rl i), | 
| 32960 
69916a850301
eliminated hard tabulators, guessing at each author's individual tab-width;
 wenzelm parents: 
30609diff
changeset | 20 | simp_tac (ss addsimps [ioa_implements_def]) i, | 
| 22819 | 21 | rtac conjI i, | 
| 22 | rtac conjI (i+1), | |
| 32960 
69916a850301
eliminated hard tabulators, guessing at each author's individual tab-width;
 wenzelm parents: 
30609diff
changeset | 23 | TRY(call_sim_tac thm_list (i+2)), | 
| 
69916a850301
eliminated hard tabulators, guessing at each author's individual tab-width;
 wenzelm parents: 
30609diff
changeset | 24 | TRY(atac (i+2)), | 
| 22819 | 25 | REPEAT(rtac refl (i+2)), | 
| 32960 
69916a850301
eliminated hard tabulators, guessing at each author's individual tab-width;
 wenzelm parents: 
30609diff
changeset | 26 | simp_tac (ss addsimps (thm_list @ | 
| 
69916a850301
eliminated hard tabulators, guessing at each author's individual tab-width;
 wenzelm parents: 
30609diff
changeset | 27 | comp_simps @ restrict_simps @ hide_simps @ | 
| 
69916a850301
eliminated hard tabulators, guessing at each author's individual tab-width;
 wenzelm parents: 
30609diff
changeset | 28 | rename_simps @ ioa_simps @ asig_simps)) (i+1), | 
| 
69916a850301
eliminated hard tabulators, guessing at each author's individual tab-width;
 wenzelm parents: 
30609diff
changeset | 29 | simp_tac (ss addsimps (thm_list @ | 
| 
69916a850301
eliminated hard tabulators, guessing at each author's individual tab-width;
 wenzelm parents: 
30609diff
changeset | 30 | comp_simps @ restrict_simps @ hide_simps @ | 
| 
69916a850301
eliminated hard tabulators, guessing at each author's individual tab-width;
 wenzelm parents: 
30609diff
changeset | 31 | rename_simps @ ioa_simps @ asig_simps)) (i)]); | 
| 22819 | 32 | |
| 33 | *} | |
| 34 | ||
| 6471 
08d12ef5fc19
added translation from IOA to mucalculus and corresponding modelchecker examples;
 mueller parents: diff
changeset | 35 | end |