equal
deleted
inserted
replaced
189 |
189 |
190 |
190 |
191 (* outer syntax *) |
191 (* outer syntax *) |
192 |
192 |
193 val _ = |
193 val _ = |
194 Outer_Syntax.command @{command_spec "rep_datatype"} "represent existing set inductively" |
194 Outer_Syntax.command @{command_keyword rep_datatype} "represent existing set inductively" |
195 ((@{keyword "elimination"} |-- Parse.!!! Parse.xthm) -- |
195 ((@{keyword "elimination"} |-- Parse.!!! Parse.xthm) -- |
196 (@{keyword "induction"} |-- Parse.!!! Parse.xthm) -- |
196 (@{keyword "induction"} |-- Parse.!!! Parse.xthm) -- |
197 (@{keyword "case_eqns"} |-- Parse.!!! Parse.xthms1) -- |
197 (@{keyword "case_eqns"} |-- Parse.!!! Parse.xthms1) -- |
198 Scan.optional (@{keyword "recursor_eqns"} |-- Parse.!!! Parse.xthms1) [] |
198 Scan.optional (@{keyword "recursor_eqns"} |-- Parse.!!! Parse.xthms1) [] |
199 >> (fn (((x, y), z), w) => Toplevel.theory (rep_datatype x y z w))); |
199 >> (fn (((x, y), z), w) => Toplevel.theory (rep_datatype x y z w))); |