Sentient: Grappling with Infinity in Constraint Solvers

2025-04-12
Sentient: Grappling with Infinity in Constraint Solvers

This article delves into the challenges of handling infinity within the Sentient constraint solver. Sentient, a programming language, tackles constraint satisfaction problems by translating them into Boolean equations. Because integers in computers are represented with a finite number of bits, Sentient can't directly handle mathematically infinite integers. The author proposes an approximation-based solution, incrementally increasing the bit size of integers to approximate the infinite space. The article discusses leveraging the incremental SAT solver IPASIR for efficiency, avoiding redundant searches. It also explores extending this approach to more complex scenarios, such as handling arrays and optimization problems, ultimately touching on the possibility of Sentient achieving Turing completeness in the future.

Read more
Development constraint solving