equal
deleted
inserted
replaced
183 |
183 |
184 val [nnat] = goalw Integ.thy [znegative_def, znat_def] |
184 val [nnat] = goalw Integ.thy [znegative_def, znat_def] |
185 "n: nat ==> znegative($~ $# succ(n))"; |
185 "n: nat ==> znegative($~ $# succ(n))"; |
186 by (simp_tac (intrel_ss addsimps [zminus,nnat]) 1); |
186 by (simp_tac (intrel_ss addsimps [zminus,nnat]) 1); |
187 by (REPEAT |
187 by (REPEAT |
188 (resolve_tac [refl, exI, conjI, naturals_are_ordinals RS Ord_0_mem_succ, |
188 (resolve_tac [refl, exI, conjI, nat_0_in_succ, |
189 refl RS intrelI RS imageI, consI1, nnat, nat_0I, |
189 refl RS intrelI RS imageI, consI1, nnat, nat_0I, |
190 nat_succI] 1)); |
190 nat_succI] 1)); |
191 val znegative_zminus_znat = result(); |
191 val znegative_zminus_znat = result(); |
192 |
192 |
193 |
193 |
375 goalw Integ.thy [integ_def,znat_def] "!!z. z : integ ==> $#0 $* z = $#0"; |
375 goalw Integ.thy [integ_def,znat_def] "!!z. z : integ ==> $#0 $* z = $#0"; |
376 by (REPEAT (eresolve_tac [quotientE,SigmaE,ssubst] 1)); |
376 by (REPEAT (eresolve_tac [quotientE,SigmaE,ssubst] 1)); |
377 by (asm_simp_tac (arith_ss addsimps [zmult]) 1); |
377 by (asm_simp_tac (arith_ss addsimps [zmult]) 1); |
378 val zmult_0 = result(); |
378 val zmult_0 = result(); |
379 |
379 |
380 goalw Integ.thy [integ_def,znat_def,one_def] |
380 goalw Integ.thy [integ_def,znat_def] |
381 "!!z. z : integ ==> $#1 $* z = z"; |
381 "!!z. z : integ ==> $#1 $* z = z"; |
382 by (REPEAT (eresolve_tac [quotientE,SigmaE,ssubst] 1)); |
382 by (REPEAT (eresolve_tac [quotientE,SigmaE,ssubst] 1)); |
383 by (asm_simp_tac (arith_ss addsimps [zmult,add_0_right]) 1); |
383 by (asm_simp_tac (arith_ss addsimps [zmult,add_0_right]) 1); |
384 val zmult_1 = result(); |
384 val zmult_1 = result(); |
385 |
385 |