494 "[| well_ord(A,r); well_ord(B,s) |] ==> ord_iso_map(A,r,B,s) \ |
494 "[| well_ord(A,r); well_ord(B,s) |] ==> ord_iso_map(A,r,B,s) \ |
495 \ : mono_map(domain(ord_iso_map(A,r,B,s)), r, \ |
495 \ : mono_map(domain(ord_iso_map(A,r,B,s)), r, \ |
496 \ range(ord_iso_map(A,r,B,s)), s)"; |
496 \ range(ord_iso_map(A,r,B,s)), s)"; |
497 by (asm_simp_tac (simpset() addsimps [ord_iso_map_fun]) 1); |
497 by (asm_simp_tac (simpset() addsimps [ord_iso_map_fun]) 1); |
498 by Safe_tac; |
498 by Safe_tac; |
499 by (subgoals_tac ["x:A", "xa:A", "y:B", "ya:B"] 1); |
499 by (subgoals_tac ["x:A", "ya:A", "y:B", "yb:B"] 1); |
500 by (REPEAT |
500 by (REPEAT |
501 (blast_tac (claset() addSEs [ord_iso_map_subset RS subsetD RS SigmaE]) 2)); |
501 (blast_tac (claset() addSEs [ord_iso_map_subset RS subsetD RS SigmaE]) 2)); |
502 by (asm_simp_tac |
502 by (asm_simp_tac |
503 (simpset() addsimps [ord_iso_map_fun RSN (2,apply_equality)]) 1); |
503 (simpset() addsimps [ord_iso_map_fun RSN (2,apply_equality)]) 1); |
504 by (rewtac ord_iso_map_def); |
504 by (rewtac ord_iso_map_def); |