equal
deleted
inserted
replaced
555 "result put into canonical rule format" #> |
555 "result put into canonical rule format" #> |
556 setup \<^binding>\<open>elim_format\<close> |
556 setup \<^binding>\<open>elim_format\<close> |
557 (Scan.succeed (Thm.rule_attribute [] (K Tactic.make_elim))) |
557 (Scan.succeed (Thm.rule_attribute [] (K Tactic.make_elim))) |
558 "destruct rule turned into elimination rule format" #> |
558 "destruct rule turned into elimination rule format" #> |
559 setup \<^binding>\<open>no_vars\<close> |
559 setup \<^binding>\<open>no_vars\<close> |
560 (Scan.succeed (Thm.rule_attribute [] (fn context => fn th => |
560 (Scan.succeed (Thm.rule_attribute [] (Variable.import_vars o Context.proof_of))) |
561 let |
|
562 val ctxt = Variable.set_body false (Context.proof_of context); |
|
563 val ((_, [th']), _) = Variable.import true [th] ctxt; |
|
564 in th' end))) |
|
565 "imported schematic variables" #> |
561 "imported schematic variables" #> |
566 setup \<^binding>\<open>atomize\<close> |
562 setup \<^binding>\<open>atomize\<close> |
567 (Scan.succeed Object_Logic.declare_atomize) "declaration of atomize rule" #> |
563 (Scan.succeed Object_Logic.declare_atomize) "declaration of atomize rule" #> |
568 setup \<^binding>\<open>rulify\<close> |
564 setup \<^binding>\<open>rulify\<close> |
569 (Scan.succeed Object_Logic.declare_rulify) "declaration of rulify rule" #> |
565 (Scan.succeed Object_Logic.declare_rulify) "declaration of rulify rule" #> |