src/Provers/Arith/combine_numerals.ML
changeset 15965 f422f8283491
parent 15570 8d8c70b41bab
child 16973 b2a894562b8f
equal deleted inserted replaced
15964:f2074e12d1d4 15965:f422f8283491
    17 *)
    17 *)
    18 
    18 
    19 signature COMBINE_NUMERALS_DATA =
    19 signature COMBINE_NUMERALS_DATA =
    20 sig
    20 sig
    21   (*abstract syntax*)
    21   (*abstract syntax*)
    22   val add: int * int -> int          (*addition (or multiplication) *)
    22   val add: IntInf.int * IntInf.int -> IntInf.int     (*addition (or multiplication) *)
    23   val mk_sum: typ -> term list -> term
    23   val mk_sum: typ -> term list -> term
    24   val dest_sum: term -> term list
    24   val dest_sum: term -> term list
    25   val mk_coeff: int * term -> term
    25   val mk_coeff: IntInf.int * term -> term
    26   val dest_coeff: term -> int * term
    26   val dest_coeff: term -> IntInf.int * term
    27   (*rules*)
    27   (*rules*)
    28   val left_distrib: thm
    28   val left_distrib: thm
    29   (*proof tools*)
    29   (*proof tools*)
    30   val prove_conv: tactic list -> Sign.sg -> string list -> term * term -> thm option
    30   val prove_conv: tactic list -> Sign.sg -> string list -> term * term -> thm option
    31   val trans_tac: thm option -> tactic (*applies the initial lemma*)
    31   val trans_tac: thm option -> tactic (*applies the initial lemma*)