src/ZF/Tools/inductive_package.ML
changeset 61466 9a468c3a1fa1
parent 61268 abe08fb15a12
child 62969 9f394a16c557
equal deleted inserted replaced
61465:79900ab5d50a 61466:9a468c3a1fa1
   577 
   577 
   578 
   578 
   579 (* outer syntax *)
   579 (* outer syntax *)
   580 
   580 
   581 fun mk_ind (((((doms, intrs), monos), con_defs), type_intrs), type_elims) =
   581 fun mk_ind (((((doms, intrs), monos), con_defs), type_intrs), type_elims) =
   582   #1 o add_inductive doms (map Parse.triple_swap intrs) (monos, con_defs, type_intrs, type_elims);
   582   #1 o add_inductive doms (map (fn ((x, y), z) => ((x, z), y)) intrs)
       
   583     (monos, con_defs, type_intrs, type_elims);
   583 
   584 
   584 val ind_decl =
   585 val ind_decl =
   585   (@{keyword "domains"} |-- Parse.!!! (Parse.enum1 "+" Parse.term --
   586   (@{keyword "domains"} |-- Parse.!!! (Parse.enum1 "+" Parse.term --
   586       ((@{keyword "\<subseteq>"} || @{keyword "<="}) |-- Parse.term))) --
   587       ((@{keyword "\<subseteq>"} || @{keyword "<="}) |-- Parse.term))) --
   587   (@{keyword "intros"} |--
   588   (@{keyword "intros"} |--