equal
deleted
inserted
replaced
338 show "comm_monoid_list times 1" .. |
338 show "comm_monoid_list times 1" .. |
339 then interpret prod_list: comm_monoid_list times 1 . |
339 then interpret prod_list: comm_monoid_list times 1 . |
340 from prod_list_def show "monoid_list.F times 1 = prod_list" by simp |
340 from prod_list_def show "monoid_list.F times 1 = prod_list" by simp |
341 qed |
341 qed |
342 |
342 |
343 sublocale setprod: comm_monoid_list_set times 1 |
343 sublocale prod: comm_monoid_list_set times 1 |
344 rewrites |
344 rewrites |
345 "monoid_list.F times 1 = prod_list" |
345 "monoid_list.F times 1 = prod_list" |
346 and "comm_monoid_set.F times 1 = setprod" |
346 and "comm_monoid_set.F times 1 = prod" |
347 proof - |
347 proof - |
348 show "comm_monoid_list_set times 1" .. |
348 show "comm_monoid_list_set times 1" .. |
349 then interpret setprod: comm_monoid_list_set times 1 . |
349 then interpret prod: comm_monoid_list_set times 1 . |
350 from prod_list_def show "monoid_list.F times 1 = prod_list" by simp |
350 from prod_list_def show "monoid_list.F times 1 = prod_list" by simp |
351 from setprod_def show "comm_monoid_set.F times 1 = setprod" by (auto intro: sym) |
351 from prod_def show "comm_monoid_set.F times 1 = prod" by (auto intro: sym) |
352 qed |
352 qed |
353 |
353 |
354 end |
354 end |
355 |
355 |
356 lemma prod_list_cong [fundef_cong]: |
356 lemma prod_list_cong [fundef_cong]: |