equal
deleted
inserted
replaced
25 in |
25 in |
26 (ts, defs, ctxt') |
26 (ts, defs, ctxt') |
27 end |
27 end |
28 *} |
28 *} |
29 |
29 |
|
30 ML {* |
|
31 fun define_fv_alpha_export dt binds bns ctxt = |
|
32 let |
|
33 val (((fv_ts_loc, fv_def_loc), alpha), ctxt') = |
|
34 define_fv_alpha dt binds bns ctxt; |
|
35 val alpha_ts_loc = #preds alpha |
|
36 val alpha_induct_loc = #induct alpha |
|
37 val alpha_intros_loc = #intrs alpha; |
|
38 val alpha_cases_loc = #elims alpha |
|
39 val morphism = ProofContext.export_morphism ctxt' ctxt; |
|
40 val fv_ts = map (Morphism.term morphism) fv_ts_loc; |
|
41 val fv_def = Morphism.fact morphism fv_def_loc; |
|
42 val alpha_ts = map (Morphism.term morphism) alpha_ts_loc; |
|
43 val alpha_induct = Morphism.thm morphism alpha_induct_loc; |
|
44 val alpha_intros = Morphism.fact morphism alpha_intros_loc |
|
45 val alpha_cases = Morphism.fact morphism alpha_cases_loc |
|
46 in |
|
47 (((fv_ts, fv_def), ((alpha_ts, alpha_intros), (alpha_cases, alpha_induct))), ctxt') |
|
48 end; |
|
49 *} |
|
50 |
30 end |
51 end |
31 |
52 |