| IDENT "discriminator" ; indty = tactic_term -> G.NDiscriminator (loc,indty)
| IDENT "inverter"; name = IDENT; IDENT "for" ; indty = tactic_term ;
paramspec = OPT inverter_param_list ;
outsort = OPT [ SYMBOL ":" ; outsort = term -> outsort ] ->
G.NInverter (loc,name,indty,paramspec,outsort)
| LETCOREC ; defs = let_codefs ->
| IDENT "discriminator" ; indty = tactic_term -> G.NDiscriminator (loc,indty)
| IDENT "inverter"; name = IDENT; IDENT "for" ; indty = tactic_term ;
paramspec = OPT inverter_param_list ;
outsort = OPT [ SYMBOL ":" ; outsort = term -> outsort ] ->
G.NInverter (loc,name,indty,paramspec,outsort)
| LETCOREC ; defs = let_codefs ->