module Cint:sig
..end
Integer Arithmetic Model
val theory : string
val make_fun_int : string -> Ctypes.c_int -> Lang.lfun
val make_pred_int : string -> Ctypes.c_int -> Lang.lfun
val p_is_int : Ctypes.c_int -> Lang.lfun
val f_to_int : Ctypes.c_int -> Lang.lfun
val f_of_real : Lang.lfun
val result : Qed.Logic.sort
val ac : 'a Qed.Logic.operator
val theory : string
val balance : Lang.balance
val op_lxor : 'a Qed.Logic.operator
val op_lor : 'a Qed.Logic.operator
val op_land : 'a Qed.Logic.operator
val f_lnot : Lang.lfun
val f_lor : Lang.lfun
val f_land : Lang.lfun
val f_lxor : Lang.lfun
val f_lsl : Lang.lfun
val f_lsr : Lang.lfun
val of_real : Ctypes.c_int -> Lang.F.term -> Lang.F.term
val irange : Ctypes.c_int -> Lang.F.term -> Lang.F.pred
val iconvert : Ctypes.c_int -> Lang.F.term -> Lang.F.term
val iconvert_unsigned : Ctypes.c_int -> Lang.F.term -> Lang.F.term
type
model =
| |
Natural |
(* | Integer arithmetics | *) |
| |
Machine |
(* | Modulo arithmetics | *) |
val model : model Context.value
val ibinop : ('a -> 'b -> Lang.F.term) -> Ctypes.c_int -> 'a -> 'b -> Lang.F.term
val iunop : ('a -> Lang.F.term) -> Ctypes.c_int -> 'a -> Lang.F.term
val iopp : Ctypes.c_int -> Lang.F.term -> Lang.F.term
val iadd : Ctypes.c_int -> Lang.F.term -> Lang.F.term -> Lang.F.term
val isub : Ctypes.c_int -> Lang.F.term -> Lang.F.term -> Lang.F.term
val imul : Ctypes.c_int -> Lang.F.term -> Lang.F.term -> Lang.F.term
val idiv : Ctypes.c_int -> Lang.F.term -> Lang.F.term -> Lang.F.term
val imod : Ctypes.c_int -> Lang.F.term -> Lang.F.term -> Lang.F.term
val op1 : Lang.F.Fun.t ->
(Lang.F.term list -> Lang.F.term) -> Lang.F.term -> Lang.F.term
val op2 : Lang.F.Fun.t ->
(Lang.F.term list -> Lang.F.term) ->
Lang.F.term -> Lang.F.term -> Lang.F.term
val smp1 : (Qed.Z.t -> Qed.Z.t) -> Lang.F.term list -> Lang.F.term
val smp2 : Lang.F.Fun.t ->
(Qed.Z.t -> Qed.Z.t -> Qed.Z.t) -> Lang.F.term list -> Lang.F.term
val smp_shift : (Qed.Z.t -> Qed.Z.t -> Qed.Z.t) -> Lang.F.term list -> Lang.F.term
val l_not : Lang.F.term -> Lang.F.term
val l_xor : Lang.F.term -> Lang.F.term -> Lang.F.term
val l_or : Lang.F.term -> Lang.F.term -> Lang.F.term
val l_and : Lang.F.term -> Lang.F.term -> Lang.F.term
val l_lsl : Lang.F.term -> Lang.F.term -> Lang.F.term
val l_lsr : Lang.F.term -> Lang.F.term -> Lang.F.term
val bnot : Ctypes.c_int -> Lang.F.term -> Lang.F.term
val bxor : Ctypes.c_int -> Lang.F.term -> Lang.F.term -> Lang.F.term
val bor : 'a -> Lang.F.term -> Lang.F.term -> Lang.F.term
val band : 'a -> Lang.F.term -> Lang.F.term -> Lang.F.term
val blsl : Ctypes.c_int -> Lang.F.term -> Lang.F.term -> Lang.F.term
val blsr : 'a -> Lang.F.term -> Lang.F.term -> Lang.F.term