src/HOL/Tools/BNF/bnf_gfp_rec_sugar.ML
changeset 63285 e9c777bfd78c
parent 63239 d562c9948dee
child 63352 4eaf35781b23
equal deleted inserted replaced
63284:c20946f5b6fb 63285:e9c777bfd78c
  1613 
  1613 
  1614 val _ = Outer_Syntax.local_theory_to_proof @{command_keyword primcorecursive}
  1614 val _ = Outer_Syntax.local_theory_to_proof @{command_keyword primcorecursive}
  1615   "define primitive corecursive functions"
  1615   "define primitive corecursive functions"
  1616   ((Scan.optional (@{keyword "("} |--
  1616   ((Scan.optional (@{keyword "("} |--
  1617       Parse.!!! (Parse.list1 corec_option_parser) --| @{keyword ")"}) []) --
  1617       Parse.!!! (Parse.list1 corec_option_parser) --| @{keyword ")"}) []) --
  1618     (Parse.fixes -- where_alt_props_of_parser) >> uncurry primcorecursive_cmd);
  1618     (Parse.vars -- where_alt_props_of_parser) >> uncurry primcorecursive_cmd);
  1619 
  1619 
  1620 val _ = Outer_Syntax.local_theory @{command_keyword primcorec}
  1620 val _ = Outer_Syntax.local_theory @{command_keyword primcorec}
  1621   "define primitive corecursive functions"
  1621   "define primitive corecursive functions"
  1622   ((Scan.optional (@{keyword "("} |-- Parse.!!! (Parse.list1 corec_option_parser)
  1622   ((Scan.optional (@{keyword "("} |-- Parse.!!! (Parse.list1 corec_option_parser)
  1623       --| @{keyword ")"}) []) --
  1623       --| @{keyword ")"}) []) --
  1624     (Parse.fixes -- where_alt_props_of_parser) >> uncurry primcorec_cmd);
  1624     (Parse.vars -- where_alt_props_of_parser) >> uncurry primcorec_cmd);
  1625 
  1625 
  1626 val _ = Theory.setup (gfp_rec_sugar_interpretation transfer_plugin
  1626 val _ = Theory.setup (gfp_rec_sugar_interpretation transfer_plugin
  1627   gfp_rec_sugar_transfer_interpretation);
  1627   gfp_rec_sugar_transfer_interpretation);
  1628 
  1628 
  1629 end;
  1629 end;