diff --git a/Tools/mrbnf_comp.ML b/Tools/mrbnf_comp.ML index 95513bb8..38d4b57a 100644 --- a/Tools/mrbnf_comp.ML +++ b/Tools/mrbnf_comp.ML @@ -1431,7 +1431,6 @@ fun seal_mrbnf qualify (unfold_set : unfold_set) b force_out_of_line Ds all_Ds m |> map (fn (b, def) => ((b, []), [([def], [])])) val (noted, lthy'') = lthy' |> Local_Theory.notes notes - ||> (if repTA = TA then I else register_mrbnf_raw (fst (dest_Type TA)) mrbnf'') in ((morph_mrbnf (substitute_noted_thm noted) mrbnf'', the info_opt, (all_Ds, absT_info)), lthy'') end; diff --git a/case_studies/Pi_Calculus/Commitment.thy b/case_studies/Pi_Calculus/Commitment.thy index 4f585819..2043f971 100644 --- a/case_studies/Pi_Calculus/Commitment.thy +++ b/case_studies/Pi_Calculus/Commitment.thy @@ -84,7 +84,7 @@ abbreviation "bvars \ bns" abbreviation "fvars \ fns" lemma bns_bound: "|bns \| ) (auto simp: emp_bound infinite_UNIV) + by (cases \) auto local_setup \Binder_Sugar.register_binder_sugar "Commitment.commit" { ctors = [ @@ -111,7 +111,7 @@ local_setup \Binder_Sugar.register_binder_sugar "Commitment.commit" { pset_ctors = [], strong_induct = NONE, inject = @{thms commit.inject}, - mrbnf = the (MRBNF_Def.mrbnf_of @{context} "Commitment.commit_pre"), + mrbnf = #mrbnf (the (Binder_Sugar.binder_sugar_of @{context} @{type_name commit})), set_simpss = [], subst_simps = NONE, IImsupp_Diffs = NONE, diff --git a/operations/Composition.thy b/operations/Composition.thy index a54f67a6..8f506fec 100644 --- a/operations/Composition.thy +++ b/operations/Composition.thy @@ -75,6 +75,9 @@ let val ((mrbnf2, _, (Ds, info)), lthy) = MRBNF_Comp.seal_mrbnf I (snd accum) (Binding.name (name2 ^ "_pre")) true (fst tys2) [] mrbnf2 NONE lthy val _ = @{print} "seal2" + val lthy = MRBNF_Def.register_mrbnf_raw "Composition.T1_pre" mrbnf1 lthy + val lthy = MRBNF_Def.register_mrbnf_raw "Composition.T2_pre" mrbnf2 lthy + (* Step 3: Register the pre-MRBNF as a BNF in its live variables *) val (bnf1, lthy) = MRBNF_Def.register_mrbnf_as_bnf mrbnf1 lthy val (bnf2, lthy) = MRBNF_Def.register_mrbnf_as_bnf mrbnf2 lthy diff --git a/operations/Greatest_Fixpoint.thy b/operations/Greatest_Fixpoint.thy index 7fedf1a1..009f811b 100644 --- a/operations/Greatest_Fixpoint.thy +++ b/operations/Greatest_Fixpoint.thy @@ -46,6 +46,8 @@ local_setup \fn lthy => val ((mrbnf1, _, (Ds, info)), lthy) = MRBNF_Comp.seal_mrbnf I (snd accum) (Binding.name (name1 ^ "_pre")) true (fst tys1) [] mrbnf1 NONE lthy val _ = @{print} "seal" + val lthy = MRBNF_Def.register_mrbnf_raw "Greatest_Fixpoint.term_pre" mrbnf1 lthy; + (* Step 3: Register the pre-MRBNF as a BNF in its live variables *) val (bnf1, lthy) = MRBNF_Def.register_mrbnf_as_bnf mrbnf1 lthy val _ = @{print} "register"