Module Polynomial.LinPoly
- type t- = Vect.t
module MonT : sig ... end- val coq_poly_of_linpol : (Num.num -> 'a) -> t -> 'a Mc.pExpr
- coq_poly_of_linpol c p- parameter p
- is a multi-variate polynomial. 
 - parameter c
- maps a rational to a Coq polynomial coefficient. 
 - returns
- the coq expression corresponding to polynomial - p.
 
- val of_monomial : Monomial.t -> t
- of_monomial m@returns 1.x where x is the variable (index) for monomial m
- val of_vect : Vect.t -> t
- of_vect v@returns a1.x1 + ... + an.xn This is not the identity because xi is the variable index of xi^1
- val variables : t -> Micromega_plugin.Mutils.ISet.t
- variables p- returns
- the set of variables of the polynomial p interpreted as a multi-variate polynomial 
 
- val is_linear : t -> bool
- is_linear p- returns
- whether the multi-variate polynomial is linear. 
 
- val is_linear_for : var -> t -> bool
- is_linear_for x p- returns
- true if the polynomial is linear in x i.e can be written c*x+r where c is a constant and r is independent from x 
 
- val constant : Num.num -> t
- constant c- returns
- the constant polynomial c 
 
- val search_linear : (Num.num -> bool) -> t -> var option
- val search_all_linear : (Num.num -> bool) -> t -> var list
- search_all_linear pred p- returns
- all the variables x such p = a.x + b such that p is linear in x i.e x does not occur in b and a is a constant such that - pred a
 
- val factorise : var -> t -> t * t
- factorise x p- returns
- a,bsuch that- p = a.x + band- xdoes not occur in- b
 
- val collect_square : t -> Monomial.t MonMap.t
- collect_square p- returns
- a mapping m such that m - s= s^2 for every s^2 that is a monomial of- p
 
- val monomials : t -> Micromega_plugin.Mutils.ISet.t
- monomials p- returns
- the set of monomials. 
 
- val degree : t -> int
- degree p- returns
- return the maximum degree 
 
- val pp_var : Stdlib.out_channel -> var -> unit
- pp_var o vpretty-prints a monomial indexed by v.
- val pp : Stdlib.out_channel -> t -> unit
- pp o ppretty-prints a polynomial.