src/Pure/Isar/isar_syn.ML
changeset 27113 ac87245d8cab
parent 26988 742e26213212
child 27200 00b7b55b61bd
equal deleted inserted replaced
27112:661a74bafeb7 27113:ac87245d8cab
   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 *)