(************************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) (* t -> bool val lt : t -> t -> bool val le : t -> t -> bool val abs : t -> t val plus : t -> t -> t val mult : t -> t -> t val sub : t -> t -> t val opp : t -> t val div : t -> t -> t val modulo : t -> t -> t val puis : t -> int -> t val pgcd : t -> t -> t val hash : t -> int val of_num : Num.num -> t val to_string : t -> string end module type S = sig type coef type variable = int type t = Pint of coef | Prec of variable * t array val of_num : Num.num -> t val x : variable -> t val monome : variable -> int -> t val is_constantP : t -> bool val is_zero : t -> bool val max_var_pol : t -> variable val max_var_pol2 : t -> variable val max_var : t array -> variable val equal : t -> t -> bool val norm : t -> t val deg : variable -> t -> int val deg_total : t -> int val copyP : t -> t val coef : variable -> int -> t -> t val plusP : t -> t -> t val content : t -> coef val div_int : t -> coef -> t val vire_contenu : t -> t val vars : t -> variable list val int_of_Pint : t -> coef val multx : int -> variable -> t -> t val multP : t -> t -> t val deriv : variable -> t -> t val oppP : t -> t val moinsP : t -> t -> t val puisP : t -> int -> t val ( @@ ) : t -> t -> t val ( -- ) : t -> t -> t val ( ^^ ) : t -> int -> t val coefDom : variable -> t -> t val coefConst : variable -> t -> t val remP : variable -> t -> t val coef_int_tete : t -> coef val normc : t -> t val coef_constant : t -> coef val univ : bool ref val string_of_var : int -> string val nsP : int ref val to_string : t -> string val printP : t -> unit val print_tpoly : t array -> unit val print_lpoly : t list -> unit val quo_rem_pol : t -> t -> variable -> t * t val div_pol : t -> t -> variable -> t val divP : t -> t -> t val div_pol_rat : t -> t -> bool val pseudo_div : t -> t -> variable -> t * t * int * t val pgcdP : t -> t -> t val pgcd_pol : t -> t -> variable -> t val content_pol : t -> variable -> t val pgcd_coef_pol : t -> t -> variable -> t val pgcd_pol_rec : t -> t -> variable -> t val gcd_sub_res : t -> t -> variable -> t val gcd_sub_res_rec : t -> t -> t -> t -> int -> variable -> t val lazard_power : t -> t -> int -> variable -> t val sans_carre : t -> variable -> t val facteurs : t -> variable -> t list val facteurs_impairs : t -> variable -> t list val hcontentP : (string, t) Hashtbl.t val prcontentP : unit -> unit val contentP : t * variable -> t val hash : t -> int module Hashpol : Hashtbl.S with type key=t val memoP : string -> 'a Hashpol.t -> (t -> 'a) -> t -> 'a val hfactorise : t list list Hashpol.t val prfactorise : unit -> unit val factorise : t -> t list list val facteurs2 : t -> t list val pol_de_factorisation : t list list -> t val set_of_array_facteurs : t list array -> t list val factorise_tableauP2 : t array -> t list array -> t array * (t * int list) array val factorise_tableauP : t array -> t array * (t * int list) array val is_positif : t -> bool val is_negatif : t -> bool val pseudo_euclide : t list -> t -> t -> variable -> t * t * int * t * t * (t * int) list * (t * int) list val implique_non_nul : t list -> t -> bool val ajoute_non_nul : t -> t list -> t list end module Make (C:Coef) : S with type coef = C.t