src/HOL/Tools/BNF/bnf_comp.ML
changeset 62316 10332fa721b2
parent 61760 1647bb489522
child 62324 ae44f16dcea5
equal deleted inserted replaced
62315:ccb42dbf4aa1 62316:10332fa721b2
   392       (Variable.invent_types (replicate (live - n) @{sort type}) lthy2);
   392       (Variable.invent_types (replicate (live - n) @{sort type}) lthy2);
   393 
   393 
   394     val ((Asets, lives), _(*names_lthy*)) = lthy
   394     val ((Asets, lives), _(*names_lthy*)) = lthy
   395       |> mk_Frees "A" (map HOLogic.mk_setT (drop n As))
   395       |> mk_Frees "A" (map HOLogic.mk_setT (drop n As))
   396       ||>> mk_Frees "x" (drop n As);
   396       ||>> mk_Frees "x" (drop n As);
   397     val xs = map (fn T => HOLogic.choice_const T $ absdummy T @{term True}) killedAs @ lives;
   397     val xs = map (fn T => Const (@{const_name undefined}, T)) killedAs @ lives;
   398 
   398 
   399     val T = mk_T_of_bnf Ds As bnf;
   399     val T = mk_T_of_bnf Ds As bnf;
   400 
   400 
   401     (*bnf.map id ... id*)
   401     (*bnf.map id ... id*)
   402     val mapx = Term.list_comb (mk_map_of_bnf Ds As Bs bnf, map HOLogic.id_const killedAs);
   402     val mapx = Term.list_comb (mk_map_of_bnf Ds As Bs bnf, map HOLogic.id_const killedAs);