equal
deleted
inserted
replaced
131 end |
131 end |
132 |
132 |
133 (* relator_eq *) |
133 (* relator_eq *) |
134 |
134 |
135 fun relator_eq bnf = |
135 fun relator_eq bnf = |
136 [((Binding.empty, []), [([rel_eq_of_bnf bnf], @{attributes [relator_eq]})])] |
136 [(Binding.empty_atts, [([rel_eq_of_bnf bnf], @{attributes [relator_eq]})])] |
137 |
137 |
138 (* transfer rules *) |
138 (* transfer rules *) |
139 |
139 |
140 fun bnf_transfer_rules bnf = |
140 fun bnf_transfer_rules bnf = |
141 let |
141 let |
142 val transfer_rules = map_transfer_of_bnf bnf :: pred_transfer_of_bnf bnf |
142 val transfer_rules = map_transfer_of_bnf bnf :: pred_transfer_of_bnf bnf |
143 :: rel_transfer_of_bnf bnf :: set_transfer_of_bnf bnf |
143 :: rel_transfer_of_bnf bnf :: set_transfer_of_bnf bnf |
144 val transfer_attr = @{attributes [transfer_rule]} |
144 val transfer_attr = @{attributes [transfer_rule]} |
145 in |
145 in |
146 map (fn thm => ((Binding.empty,[]),[([thm],transfer_attr)])) transfer_rules |
146 map (fn thm => (Binding.empty_atts, [([thm],transfer_attr)])) transfer_rules |
147 end |
147 end |
148 |
148 |
149 (* Domainp theorem for predicator *) |
149 (* Domainp theorem for predicator *) |
150 |
150 |
151 fun Domainp_tac bnf pred_def ctxt = |
151 fun Domainp_tac bnf pred_def ctxt = |
249 val transfer_rules = #ctr_transfers fp_ctr_sugar @ #case_transfers fp_ctr_sugar |
249 val transfer_rules = #ctr_transfers fp_ctr_sugar @ #case_transfers fp_ctr_sugar |
250 @ #disc_transfers fp_ctr_sugar @ #sel_transfers fp_ctr_sugar |
250 @ #disc_transfers fp_ctr_sugar @ #sel_transfers fp_ctr_sugar |
251 @ (#co_rec_transfers o #fp_co_induct_sugar) fp_sugar |
251 @ (#co_rec_transfers o #fp_co_induct_sugar) fp_sugar |
252 val transfer_attr = @{attributes [transfer_rule]} |
252 val transfer_attr = @{attributes [transfer_rule]} |
253 in |
253 in |
254 map (fn thm => ((Binding.empty, []), [([thm], transfer_attr)])) transfer_rules |
254 map (fn thm => (Binding.empty_atts, [([thm], transfer_attr)])) transfer_rules |
255 end |
255 end |
256 |
256 |
257 fun register_pred_injects fp_sugar lthy = |
257 fun register_pred_injects fp_sugar lthy = |
258 let |
258 let |
259 val pred_injects = #pred_injects (#fp_bnf_sugar fp_sugar) |
259 val pred_injects = #pred_injects (#fp_bnf_sugar fp_sugar) |