src/HOL/Tools/Groebner_Basis/groebner.ML
changeset 23514 25e69e56355d
parent 23487 c48defc2b28c
child 23557 3fe7aea46633
equal deleted inserted replaced
23513:2ebb50c0db4f 23514:25e69e56355d
    25 val rat_1 = Rat.one;
    25 val rat_1 = Rat.one;
    26 val minus_rat = Rat.neg;
    26 val minus_rat = Rat.neg;
    27 val denominator_rat = Rat.quotient_of_rat #> snd #> Rat.rat_of_int;
    27 val denominator_rat = Rat.quotient_of_rat #> snd #> Rat.rat_of_int;
    28 fun int_of_rat a =
    28 fun int_of_rat a =
    29     case Rat.quotient_of_rat a of (i,1) => i | _ => error "int_of_rat: not an int";
    29     case Rat.quotient_of_rat a of (i,1) => i | _ => error "int_of_rat: not an int";
    30 val lcm_rat = fn x => fn y => Rat.rat_of_int (lcm (int_of_rat x, int_of_rat y));
    30 val lcm_rat = fn x => fn y => Rat.rat_of_int (Integer.lcm (int_of_rat x) (int_of_rat y));
    31 
    31 
    32 val (eqF_intr, eqF_elim) =
    32 val (eqF_intr, eqF_elim) =
    33   let val [th1,th2] = thms "PFalse"
    33   let val [th1,th2] = thms "PFalse"
    34   in (fn th => th COMP th2, fn th => th COMP th1) end;
    34   in (fn th => th COMP th2, fn th => th COMP th1) end;
    35 
    35