src/HOL/IntDiv.thy
changeset 24630 351a308ab58d
parent 24490 a4c2a0ffa5be
child 24993 92dfacb32053
equal deleted inserted replaced
24629:65947eb930fa 24630:351a308ab58d
   528 in
   528 in
   529 
   529 
   530 fun divmod_proc rule = binary_proc (fn ctxt => fn ((m, t), (n, u)) =>
   530 fun divmod_proc rule = binary_proc (fn ctxt => fn ((m, t), (n, u)) =>
   531   if n = 0 then NONE
   531   if n = 0 then NONE
   532   else
   532   else
   533     let val (k, l) = IntInf.divMod (m, n);
   533     let val (k, l) = Integer.div_mod m n;
   534         fun mk_num x = HOLogic.mk_number HOLogic.intT x;
   534         fun mk_num x = HOLogic.mk_number HOLogic.intT x;
   535     in SOME (rule OF [prove ctxt (t == plus (mult u (mk_num k)) (mk_num l))])
   535     in SOME (rule OF [prove ctxt (t == plus (mult u (mk_num k)) (mk_num l))])
   536     end);
   536     end);
   537 
   537 
   538 end;
   538 end;