equal
deleted
inserted
replaced
441 Toplevel.begin_local_theory true (Instance.instantiation_cmd arities))); |
441 Toplevel.begin_local_theory true (Instance.instantiation_cmd arities))); |
442 |
442 |
443 val _ = |
443 val _ = |
444 OuterSyntax.command "instance" "prove type arity or subclass relation" K.thy_goal |
444 OuterSyntax.command "instance" "prove type arity or subclass relation" K.thy_goal |
445 ((P.xname -- ((P.$$$ "\\<subseteq>" || P.$$$ "<") |-- P.!!! P.xname) >> Class.classrel_cmd || |
445 ((P.xname -- ((P.$$$ "\\<subseteq>" || P.$$$ "<") |-- P.!!! P.xname) >> Class.classrel_cmd || |
446 P.arity -- Scan.repeat (SpecParse.opt_thm_name ":" -- P.prop) |
446 P.arity >> Class.instance_arity_cmd) |
447 >> (fn (arity, defs) => Instance.instance_cmd arity defs)) |
|
448 >> (Toplevel.print oo Toplevel.theory_to_proof) |
447 >> (Toplevel.print oo Toplevel.theory_to_proof) |
449 || Scan.succeed (Toplevel.print o Toplevel.local_theory_to_proof NONE (Class.instantiation_instance I))); |
448 || Scan.succeed (Toplevel.print o Toplevel.local_theory_to_proof NONE (Class.instantiation_instance I))); |
450 |
449 |
451 |
450 |
452 (* arbitrary overloading *) |
451 (* arbitrary overloading *) |