Module Micromega_plugin.Linsolve
type eqnAn equation
eqnis of the form a1.x1 + ... + an.xn = a0 where the ai are integer coefficients and xi are variables.
val output_equations : Stdlib.out_channel -> eqn list -> unitoutput_equations o lprints the list of equations
val empty : systememptyis the system with no equation
val set_constant : id -> int -> system -> eqnset_constant i c sreturns the equationiof the systemswhere the constant a0 is set toc
val make_mon : id -> var -> int -> system -> systemmake_mon i x a saugments the systemswith the equation a.x = 0 indexed by i
val merge : system -> system -> systemmerge s1 s2returns a systemssuch that the equation i is obtained by adding of the equations s1(i) and s2(i) i.e. s(i) = s1(i) + s2(i) NB: the operation is only well-defined if the variables in s1(i) and s2(i) is disjoint
type solution= (var * int) listsolutionassigns a value to each variable
val output_solutions : Stdlib.out_channel -> solution list -> unitoutput_solutions o loutputs the list of solutions