equal
deleted
inserted
replaced
71 text {* Evaluation *} |
71 text {* Evaluation *} |
72 |
72 |
73 method_setup evaluation = {* |
73 method_setup evaluation = {* |
74 let |
74 let |
75 |
75 |
76 fun evaluation_tac i = Tactical.PRIMITIVE (Drule.fconv_rule |
76 fun evaluation_tac i = Tactical.PRIMITIVE (Conv.fconv_rule |
77 (Drule.goals_conv (equal i) Codegen.evaluation_conv)); |
77 (Conv.goals_conv (equal i) Codegen.evaluation_conv)); |
78 |
78 |
79 in Method.no_args (Method.SIMPLE_METHOD' (evaluation_tac THEN' rtac TrueI)) end |
79 in Method.no_args (Method.SIMPLE_METHOD' (evaluation_tac THEN' rtac TrueI)) end |
80 *} "solve goal by evaluation" |
80 *} "solve goal by evaluation" |
81 |
81 |
82 |
82 |
199 |
199 |
200 subsection {* Normalization by evaluation *} |
200 subsection {* Normalization by evaluation *} |
201 |
201 |
202 method_setup normalization = {* |
202 method_setup normalization = {* |
203 let |
203 let |
204 fun normalization_tac i = Tactical.PRIMITIVE (Drule.fconv_rule |
204 fun normalization_tac i = Tactical.PRIMITIVE (Conv.fconv_rule |
205 (Drule.goals_conv (equal i) (HOLogic.Trueprop_conv |
205 (Conv.goals_conv (equal i) (HOLogic.Trueprop_conv |
206 NBE.normalization_conv))); |
206 NBE.normalization_conv))); |
207 in |
207 in |
208 Method.no_args (Method.SIMPLE_METHOD' (normalization_tac THEN' resolve_tac [TrueI, refl])) |
208 Method.no_args (Method.SIMPLE_METHOD' (normalization_tac THEN' resolve_tac [TrueI, refl])) |
209 end |
209 end |
210 *} "solve goal by normalization" |
210 *} "solve goal by normalization" |