package rocq-runtime
Install
Dune Dependency
Authors
Maintainers
Sources
md5=8d522602d23e7a665631826dab9aa92b
sha512=f4f76a6a178e421c99ee7a331a2fd97a06e9c5d0168d7e60c44e3820d8e1a124370ea104ad90c7f87a9a1e9d87b2d0d7d2d387c998feeaed4a75ed04e176a4be
doc/micromega_plugin/Micromega_plugin/Polynomial/WithProof/index.html
Module Polynomial.WithProof
Source
module WithProof
constructs polynomials packed with the proof that their sign is correct.
InvalidProof
is raised if the operation is invalid.
out_channel chan c
pretty-prints the constraint c
over the channel chan
const n
represents the tautology (n>=0)
mul_cst c q
cutting_plane p
does integer reasoning and adjust the constant to be integral
simple_pivot (c,x) p q
performs a pivoting over the variable x
where p = c+a1.x1+....+c.x+...an.xn and c <> 0
sort sys
sorts constraints according to the lexicographic order (number of variables, size of the smallest coefficient
subst sys
performs the equivalent of the 'subst' tactic of Rocq. For every p=0 \in sys such that p is linear in x with coefficient +/- 1 i.e. p = 0 <-> x = e and x \notin e. Replace x by e in sys
NB: performing this transformation may hinders the non-linear prover to find a proof. elim_simple_linear_equality
is much more careful.
subst_constant b sys
performs the equivalent of the 'subst' tactic of Rocq only if there is an equation a.x = c for a,c a constant and a divides c if b= true