equal
deleted
inserted
replaced
28 (rtac disjI2 1), |
28 (rtac disjI2 1), |
29 (rtac exI 1), |
29 (rtac exI 1), |
30 (rtac refl 1) |
30 (rtac refl 1) |
31 ]); |
31 ]); |
32 |
32 |
33 qed_goal "inj_onto_Abs_Ssum" Ssum0.thy "inj_onto Abs_Ssum Ssum" |
33 qed_goal "inj_on_Abs_Ssum" Ssum0.thy "inj_on Abs_Ssum Ssum" |
34 (fn prems => |
34 (fn prems => |
35 [ |
35 [ |
36 (rtac inj_onto_inverseI 1), |
36 (rtac inj_on_inverseI 1), |
37 (etac Abs_Ssum_inverse 1) |
37 (etac Abs_Ssum_inverse 1) |
38 ]); |
38 ]); |
39 |
39 |
40 (* ------------------------------------------------------------------------ *) |
40 (* ------------------------------------------------------------------------ *) |
41 (* Strictness of Sinr_Rep, Sinl_Rep and Isinl, Isinr *) |
41 (* Strictness of Sinr_Rep, Sinl_Rep and Isinl, Isinr *) |
87 "Isinl(a)=Isinr(b) ==> a=UU & b=UU" |
87 "Isinl(a)=Isinr(b) ==> a=UU & b=UU" |
88 (fn prems => |
88 (fn prems => |
89 [ |
89 [ |
90 (cut_facts_tac prems 1), |
90 (cut_facts_tac prems 1), |
91 (rtac noteq_SinlSinr_Rep 1), |
91 (rtac noteq_SinlSinr_Rep 1), |
92 (etac (inj_onto_Abs_Ssum RS inj_ontoD) 1), |
92 (etac (inj_on_Abs_Ssum RS inj_onD) 1), |
93 (rtac SsumIl 1), |
93 (rtac SsumIl 1), |
94 (rtac SsumIr 1) |
94 (rtac SsumIr 1) |
95 ]); |
95 ]); |
96 |
96 |
97 |
97 |
182 "Isinl(a1)=Isinl(a2)==> a1=a2" |
182 "Isinl(a1)=Isinl(a2)==> a1=a2" |
183 (fn prems => |
183 (fn prems => |
184 [ |
184 [ |
185 (cut_facts_tac prems 1), |
185 (cut_facts_tac prems 1), |
186 (rtac inject_Sinl_Rep 1), |
186 (rtac inject_Sinl_Rep 1), |
187 (etac (inj_onto_Abs_Ssum RS inj_ontoD) 1), |
187 (etac (inj_on_Abs_Ssum RS inj_onD) 1), |
188 (rtac SsumIl 1), |
188 (rtac SsumIl 1), |
189 (rtac SsumIl 1) |
189 (rtac SsumIl 1) |
190 ]); |
190 ]); |
191 |
191 |
192 qed_goalw "inject_Isinr" Ssum0.thy [Isinr_def] |
192 qed_goalw "inject_Isinr" Ssum0.thy [Isinr_def] |
193 "Isinr(b1)=Isinr(b2) ==> b1=b2" |
193 "Isinr(b1)=Isinr(b2) ==> b1=b2" |
194 (fn prems => |
194 (fn prems => |
195 [ |
195 [ |
196 (cut_facts_tac prems 1), |
196 (cut_facts_tac prems 1), |
197 (rtac inject_Sinr_Rep 1), |
197 (rtac inject_Sinr_Rep 1), |
198 (etac (inj_onto_Abs_Ssum RS inj_ontoD) 1), |
198 (etac (inj_on_Abs_Ssum RS inj_onD) 1), |
199 (rtac SsumIr 1), |
199 (rtac SsumIr 1), |
200 (rtac SsumIr 1) |
200 (rtac SsumIr 1) |
201 ]); |
201 ]); |
202 |
202 |
203 qed_goal "inject_Isinl_rev" Ssum0.thy |
203 qed_goal "inject_Isinl_rev" Ssum0.thy |