equal
deleted
inserted
replaced
362 qed "fun_Union"; |
362 qed "fun_Union"; |
363 |
363 |
364 |
364 |
365 (** The Union of 2 disjoint functions is a function **) |
365 (** The Union of 2 disjoint functions is a function **) |
366 |
366 |
367 val Un_rls = [Un_subset_iff, SUM_Un_distrib1, prod_Un_distrib2, |
367 bind_thms ("Un_rls", [Un_subset_iff, SUM_Un_distrib1, prod_Un_distrib2, |
368 Un_upper1 RSN (2, subset_trans), |
368 Un_upper1 RSN (2, subset_trans), |
369 Un_upper2 RSN (2, subset_trans)]; |
369 Un_upper2 RSN (2, subset_trans)]); |
370 |
370 |
371 Goal "[| f: A->B; g: C->D; A Int C = 0 |] \ |
371 Goal "[| f: A->B; g: C->D; A Int C = 0 |] \ |
372 \ ==> (f Un g) : (A Un C) -> (B Un D)"; |
372 \ ==> (f Un g) : (A Un C) -> (B Un D)"; |
373 (*Prove the product and domain subgoals using distributive laws*) |
373 (*Prove the product and domain subgoals using distributive laws*) |
374 by (asm_full_simp_tac (simpset() addsimps [Pi_iff,extension]@Un_rls) 1); |
374 by (asm_full_simp_tac (simpset() addsimps [Pi_iff,extension]@Un_rls) 1); |