equal
deleted
inserted
replaced
153 |
153 |
154 fun prove_strong_ind s alt_name avoids ctxt = |
154 fun prove_strong_ind s alt_name avoids ctxt = |
155 let |
155 let |
156 val thy = Proof_Context.theory_of ctxt; |
156 val thy = Proof_Context.theory_of ctxt; |
157 val ({names, ...}, {raw_induct, intrs, elims, ...}) = |
157 val ({names, ...}, {raw_induct, intrs, elims, ...}) = |
158 Inductive.the_inductive ctxt (Sign.intern_const thy s); |
158 Inductive.the_inductive_global ctxt (Sign.intern_const thy s); |
159 val ind_params = Inductive.params_of raw_induct; |
159 val ind_params = Inductive.params_of raw_induct; |
160 val raw_induct = atomize_induct ctxt raw_induct; |
160 val raw_induct = atomize_induct ctxt raw_induct; |
161 val elims = map (atomize_induct ctxt) elims; |
161 val elims = map (atomize_induct ctxt) elims; |
162 val monos = Inductive.get_monos ctxt; |
162 val monos = Inductive.get_monos ctxt; |
163 val eqvt_thms = NominalThmDecls.get_eqvt_thms ctxt; |
163 val eqvt_thms = NominalThmDecls.get_eqvt_thms ctxt; |