equal
deleted
inserted
replaced
66 by (blast_tac (claset() addIs prems) 2); |
66 by (blast_tac (claset() addIs prems) 2); |
67 by (blast_tac (claset() addIs prems) 2); |
67 by (blast_tac (claset() addIs prems) 2); |
68 by (REPEAT (eresolve_tac ([asm_rl,exE,disjE,conjE]@prems) 1)); |
68 by (REPEAT (eresolve_tac ([asm_rl,exE,disjE,conjE]@prems) 1)); |
69 qed "rtranclE"; |
69 qed "rtranclE"; |
70 |
70 |
71 bind_thm ("rtrancl_into_rtrancl2", r_into_rtrancl RS rtrancl_trans); |
71 bind_thm ("converse_rtrancl_into_rtrancl", r_into_rtrancl RS rtrancl_trans); |
72 |
72 |
73 (*** More r^* equations and inclusions ***) |
73 (*** More r^* equations and inclusions ***) |
74 |
74 |
75 Goal "(r^*)^* = r^*"; |
75 Goal "(r^*)^* = r^*"; |
76 by Auto_tac; |
76 by Auto_tac; |
165 bind_thm ("converse_rtranclE2", split_rule |
165 bind_thm ("converse_rtranclE2", split_rule |
166 (read_instantiate [("x","(xa,xb)"), ("z","(za,zb)")] converse_rtranclE)); |
166 (read_instantiate [("x","(xa,xb)"), ("z","(za,zb)")] converse_rtranclE)); |
167 |
167 |
168 Goal "r O r^* = r^* O r"; |
168 Goal "r O r^* = r^* O r"; |
169 by (blast_tac (claset() addEs [rtranclE, converse_rtranclE] |
169 by (blast_tac (claset() addEs [rtranclE, converse_rtranclE] |
170 addIs [rtrancl_into_rtrancl, rtrancl_into_rtrancl2]) 1); |
170 addIs [rtrancl_into_rtrancl, converse_rtrancl_into_rtrancl]) 1); |
171 qed "r_comp_rtrancl_eq"; |
171 qed "r_comp_rtrancl_eq"; |
172 |
172 |
173 |
173 |
174 (**** The relation trancl ****) |
174 (**** The relation trancl ****) |
175 |
175 |