FLINT3.7.0-dev
Overview

Correctness

FLINT is used to obtain mathematical results, and a user needs to know how far these results can be trusted. The sections below explain what FLINT promises and what it does not:

  • the algorithms are provably correct, except where a function explicitly says otherwise (probable primes, Monte Carlo methods, floating-point approximations), and some answers are allowed to be "unknown" rather than wrong;
  • the library is extensively tested, but not formally verified, so results should be checked independently when they matter;
  • most functions assume that their input is valid and check nothing, and sizes such as lengths, shifts and precisions are not checked against overflow;
  • FLINT is meant for research, education and experimentation; it is not suitable for implementing cryptographic protocols or for processing untrusted input outside a sandbox.

The conventions that define valid input (aliasing, normalisation, the meaning of a leading underscore) are described in Types, naming and aliasing, and the semantics of ball arithmetic, in which every result is a rigorous enclosure, in Ball arithmetic.

In this section#

Cite this page

The FLINT team, “Correctness,” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/guide/correctness/index.html (generated 2026-10-20).