prefix internal names as well
authorblanchet
Tue, 19 Nov 2013 15:05:28 +0100
changeset 558656fae4ecd4ab3
parent 55864 27966e17d075
child 55866 5b34a5b93ec2
prefix internal names as well
src/HOL/BNF/Tools/bnf_gfp.ML
src/HOL/BNF/Tools/bnf_lfp.ML
     1.1 --- a/src/HOL/BNF/Tools/bnf_gfp.ML	Tue Nov 19 14:33:20 2013 +0100
     1.2 +++ b/src/HOL/BNF/Tools/bnf_gfp.ML	Tue Nov 19 15:05:28 2013 +0100
     1.3 @@ -74,7 +74,7 @@
     1.4      val mk_internal_b = Binding.name #> Binding.prefix true b_name #> Binding.conceal;
     1.5      fun mk_internal_bs name =
     1.6        map (fn b =>
     1.7 -        Binding.prefix true b_name (Binding.suffix_name ("_" ^ name) b) |> Binding.conceal) bs;
     1.8 +        Binding.prefix true b_name (Binding.prefix_name (name ^ "_") b) |> Binding.conceal) bs;
     1.9      val external_bs = map2 (Binding.prefix false) b_names bs
    1.10        |> note_all = false ? map Binding.conceal;
    1.11  
    1.12 @@ -1695,7 +1695,7 @@
    1.13        ||>> mk_Frees "s" corec_sTs
    1.14        ||>> mk_Frees "P" (map2 mk_pred2T Ts Ts);
    1.15  
    1.16 -    fun dtor_bind i = nth external_bs (i - 1) |> Binding.suffix_name ("_" ^ dtorN);
    1.17 +    fun dtor_bind i = nth external_bs (i - 1) |> Binding.prefix_name (dtorN ^ "_");
    1.18      val dtor_name = Binding.name_of o dtor_bind;
    1.19      val dtor_def_bind = rpair [] o Binding.conceal o Thm.def_binding o dtor_bind;
    1.20  
    1.21 @@ -1747,7 +1747,7 @@
    1.22  
    1.23      val timer = time (timer "dtor definitions & thms");
    1.24  
    1.25 -    fun unfold_bind i = nth external_bs (i - 1) |> Binding.suffix_name ("_" ^ dtor_unfoldN);
    1.26 +    fun unfold_bind i = nth external_bs (i - 1) |> Binding.prefix_name (dtor_unfoldN ^ "_");
    1.27      val unfold_name = Binding.name_of o unfold_bind;
    1.28      val unfold_def_bind = rpair [] o Binding.conceal o Thm.def_binding o unfold_bind;
    1.29  
    1.30 @@ -1868,7 +1868,7 @@
    1.31        Term.list_comb (mk_map_of_bnf Ds (passiveAs @ Ts) (passiveAs @ FTs) bnf,
    1.32          map HOLogic.id_const passiveAs @ dtors)) Dss bnfs;
    1.33  
    1.34 -    fun ctor_bind i = nth external_bs (i - 1) |> Binding.suffix_name ("_" ^ ctorN);
    1.35 +    fun ctor_bind i = nth external_bs (i - 1) |> Binding.prefix_name (ctorN ^ "_");
    1.36      val ctor_name = Binding.name_of o ctor_bind;
    1.37      val ctor_def_bind = rpair [] o Binding.conceal o Thm.def_binding o ctor_bind;
    1.38  
    1.39 @@ -1939,7 +1939,7 @@
    1.40            trans OF [mor RS unique, unfold_dtor]) unfold_unique_mor_thms unfold_dtor_thms
    1.41        end;
    1.42  
    1.43 -    fun corec_bind i = nth external_bs (i - 1) |> Binding.suffix_name ("_" ^ dtor_corecN);
    1.44 +    fun corec_bind i = nth external_bs (i - 1) |> Binding.prefix_name (dtor_corecN ^ "_");
    1.45      val corec_name = Binding.name_of o corec_bind;
    1.46      val corec_def_bind = rpair [] o Binding.conceal o Thm.def_binding o corec_bind;
    1.47  
     2.1 --- a/src/HOL/BNF/Tools/bnf_lfp.ML	Tue Nov 19 14:33:20 2013 +0100
     2.2 +++ b/src/HOL/BNF/Tools/bnf_lfp.ML	Tue Nov 19 15:05:28 2013 +0100
     2.3 @@ -44,7 +44,7 @@
     2.4      val mk_internal_b = Binding.name #> Binding.prefix true b_name #> Binding.conceal;
     2.5      fun mk_internal_bs name =
     2.6        map (fn b =>
     2.7 -        Binding.prefix true b_name (Binding.suffix_name ("_" ^ name) b) |> Binding.conceal) bs;
     2.8 +        Binding.prefix true b_name (Binding.prefix_name (name ^ "_") b) |> Binding.conceal) bs;
     2.9      val external_bs = map2 (Binding.prefix false) b_names bs
    2.10        |> note_all = false ? map Binding.conceal;
    2.11  
    2.12 @@ -1021,7 +1021,7 @@
    2.13      val phis = map2 retype_free (map mk_pred1T Ts) init_phis;
    2.14      val phi2s = map2 retype_free (map2 mk_pred2T Ts Ts') init_phis;
    2.15  
    2.16 -    fun ctor_bind i = nth external_bs (i - 1) |> Binding.suffix_name ("_" ^ ctorN);
    2.17 +    fun ctor_bind i = nth external_bs (i - 1) |> Binding.prefix_name (ctorN ^ "_");
    2.18      val ctor_name = Binding.name_of o ctor_bind;
    2.19      val ctor_def_bind = rpair [] o Binding.conceal o Thm.def_binding o ctor_bind;
    2.20  
    2.21 @@ -1080,7 +1080,7 @@
    2.22        (mk_mor UNIVs ctors active_UNIVs ss (map (mk_nthN n fold_f) ks));
    2.23      val foldx = HOLogic.choice_const foldT $ fold_fun;
    2.24  
    2.25 -    fun fold_bind i = nth external_bs (i - 1) |> Binding.suffix_name ("_" ^ ctor_foldN);
    2.26 +    fun fold_bind i = nth external_bs (i - 1) |> Binding.prefix_name (ctor_foldN ^ "_");
    2.27      val fold_name = Binding.name_of o fold_bind;
    2.28      val fold_def_bind = rpair [] o Binding.conceal o Thm.def_binding o fold_bind;
    2.29  
    2.30 @@ -1170,7 +1170,7 @@
    2.31        Term.list_comb (mk_map_of_bnf Ds (passiveAs @ FTs) (passiveAs @ Ts) bnf,
    2.32          map HOLogic.id_const passiveAs @ ctors)) Dss bnfs;
    2.33  
    2.34 -    fun dtor_bind i = nth external_bs (i - 1) |> Binding.suffix_name ("_" ^ dtorN);
    2.35 +    fun dtor_bind i = nth external_bs (i - 1) |> Binding.prefix_name (dtorN ^ "_");
    2.36      val dtor_name = Binding.name_of o dtor_bind;
    2.37      val dtor_def_bind = rpair [] o Binding.conceal o Thm.def_binding o dtor_bind;
    2.38  
    2.39 @@ -1243,7 +1243,7 @@
    2.40            trans OF [mor RS unique, fold_ctor]) fold_unique_mor_thms fold_ctor_thms
    2.41        end;
    2.42  
    2.43 -    fun rec_bind i = nth external_bs (i - 1) |> Binding.suffix_name ("_" ^ ctor_recN);
    2.44 +    fun rec_bind i = nth external_bs (i - 1) |> Binding.prefix_name (ctor_recN ^ "_");
    2.45      val rec_name = Binding.name_of o rec_bind;
    2.46      val rec_def_bind = rpair [] o Binding.conceal o Thm.def_binding o rec_bind;
    2.47