src/HOL/Codatatype/Tools/bnf_lfp.ML
changeset 49327 541d818d2ff3
parent 49313 3f8671b353ae
child 49330 276ff43ee0b1
equal deleted inserted replaced
49326:a063a96c8662 49327:541d818d2ff3
    31     val timer = time (Timer.startRealTimer ());
    31     val timer = time (Timer.startRealTimer ());
    32     val live = live_of_bnf (hd bnfs);
    32     val live = live_of_bnf (hd bnfs);
    33     val n = length bnfs; (*active*)
    33     val n = length bnfs; (*active*)
    34     val ks = 1 upto n;
    34     val ks = 1 upto n;
    35     val m = live - n; (*passive, if 0 don't generate a new bnf*)
    35     val m = live - n; (*passive, if 0 don't generate a new bnf*)
    36     val b = Binding.name (fold_rev (fn b => fn s => Binding.name_of b ^ s) bs "");
    36     val b = Binding.name (mk_bundle_name bs);
    37 
    37 
    38     (* TODO: check if m, n etc are sane *)
    38     (* TODO: check if m, n etc are sane *)
    39 
    39 
    40     val deads = fold (union (op =)) Dss resDs;
    40     val deads = fold (union (op =)) Dss resDs;
    41     val names_lthy = fold Variable.declare_typ deads lthy;
    41     val names_lthy = fold Variable.declare_typ deads lthy;