src/ZF/ex/integ.ML
changeset 16 0b033d50ca1c
parent 7 268f93ab3bc4
child 29 4ec9b266ccd1
equal deleted inserted replaced
15:6c6d2f6e3185 16:0b033d50ca1c
   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