package coq-core

  1. Overview
  2. Docs
The Coq Proof Assistant -- Core Binaries and Tools

Install

Dune Dependency

Authors

Maintainers

Sources

coq-8.20.1.tar.gz
md5=0cfaa70f569be9494d24c829e6555d46
sha512=8ee967c636b67b22a4f34115871d8f9b9114df309afc9ddf5f61275251088c6e21f6cf745811df75554d30f4cebb6682f23eeb2e88b771330c4b60ce3f6bf5e2

doc/micromega_plugin/Micromega_plugin/Linsolve/index.html

Module Micromega_plugin.LinsolveSource

The purpose of the solver is to generate *all* the integer solutions of a system of linear equations of the following form: 1- all the variables are positive 2- all the coefficients are positive

We expect the systems and the number of solutions to be small. This motivates a simple solver which performs 1 - interval analysis 2 - substitutions 3 - enumeration

system represents a system of equation. Each equation is indexed by a unique identifier id (an integer).

Sourcetype system
Sourcetype var = int

var is the type of variables

Sourcetype id = int

id are used to identify equations in a system

Sourcetype eqn

An equation eqn is of the form a1.x1 + ... + an.xn = a0 where the ai are integer coefficients and xi are variables.

Sourceval output_equations : Stdlib.out_channel -> eqn list -> unit

output_equations o l prints the list of equations

Sourceval empty : system

empty is the system with no equation

Sourceval set_constant : id -> int -> system -> eqn

set_constant i c s returns the equation i of the system s where the constant a0 is set to c

Sourceval make_mon : id -> var -> int -> system -> system

make_mon i x a s augments the system s with the equation a.x = 0 indexed by i

Sourceval merge : system -> system -> system

merge s1 s2 returns a system s such 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

Sourcetype solution = (var * int) list

solution assigns a value to each variable

Sourceval output_solutions : Stdlib.out_channel -> solution list -> unit

output_solutions o l outputs the list of solutions

Sourceval solve_and_enum : eqn list -> solution list

solve_and_enum l solves the system of equations and enumerate all the solutions

OCaml

Innovation. Community. Security.