src/Sequents/LK0.thy
changeset 55233 3229614ca9c5
parent 55228 901a6696cdd8
child 55380 4de48353034e
equal deleted inserted replaced
55232:7a46672934a3 55233:3229614ca9c5
   230     |> fold_rev Cla.add_safe @{thms allR exL}
   230     |> fold_rev Cla.add_safe @{thms allR exL}
   231     |> fold_rev Cla.add_unsafe @{thms allL exR the_equality}
   231     |> fold_rev Cla.add_unsafe @{thms allL exR the_equality}
   232     |> Cla.get_pack;
   232     |> Cla.get_pack;
   233 *}
   233 *}
   234 
   234 
   235 ML {*
       
   236   fun lemma_tac th i =
       
   237     rtac (@{thm thinR} RS @{thm cut}) i THEN
       
   238     REPEAT (rtac @{thm thinL} i) THEN
       
   239     rtac th i;
       
   240 *}
       
   241 
       
   242 
       
   243 method_setup fast_prop =
   235 method_setup fast_prop =
   244   {* Scan.succeed (fn ctxt => SIMPLE_METHOD' (Cla.fast_tac (Cla.put_pack prop_pack ctxt))) *}
   236   {* Scan.succeed (fn ctxt => SIMPLE_METHOD' (Cla.fast_tac (Cla.put_pack prop_pack ctxt))) *}
   245 
   237 
   246 method_setup fast_dup =
   238 method_setup fast_dup =
   247   {* Scan.succeed (fn ctxt => SIMPLE_METHOD' (Cla.fast_tac (Cla.put_pack LK_dup_pack ctxt))) *}
   239   {* Scan.succeed (fn ctxt => SIMPLE_METHOD' (Cla.fast_tac (Cla.put_pack LK_dup_pack ctxt))) *}
   248 
   240 
   249 method_setup best_dup =
   241 method_setup best_dup =
   250   {* Scan.succeed (fn ctxt => SIMPLE_METHOD' (Cla.best_tac (Cla.put_pack LK_dup_pack ctxt))) *}
   242   {* Scan.succeed (fn ctxt => SIMPLE_METHOD' (Cla.best_tac (Cla.put_pack LK_dup_pack ctxt))) *}
       
   243 
       
   244 method_setup lem = {*
       
   245   Attrib.thm >> (fn th => fn _ =>
       
   246     SIMPLE_METHOD' (fn i =>
       
   247       rtac (@{thm thinR} RS @{thm cut}) i THEN
       
   248       REPEAT (rtac @{thm thinL} i) THEN
       
   249       rtac th i))
       
   250 *}
   251 
   251 
   252 
   252 
   253 lemma mp_R:
   253 lemma mp_R:
   254   assumes major: "$H |- $E, $F, P --> Q"
   254   assumes major: "$H |- $E, $F, P --> Q"
   255     and minor: "$H |- $E, $F, P"
   255     and minor: "$H |- $E, $F, P"