Sentient: Lidando com o Infinito em Resolvedores de Restrições

2025-04-12
Sentient: Lidando com o Infinito em Resolvedores de Restrições

Este artigo mergulha nos desafios de lidar com o infinito no resolvedor de restrições Sentient. Sentient, uma linguagem de programação, aborda problemas de satisfação de restrições traduzindo-os em equações booleanas. Como inteiros em computadores são representados com um número finito de bits, Sentient não pode lidar diretamente com inteiros infinitos matematicamente. O autor propõe uma solução baseada em aproximação, aumentando incrementalmente o tamanho em bits dos inteiros para aproximar o espaço infinito. O artigo discute o uso do resolvedor SAT incremental IPASIR para maior eficiência, evitando buscas redundantes. Também explora a extensão dessa abordagem para cenários mais complexos, como lidar com arrays e problemas de otimização, abordando, por fim, a possibilidade de Sentient atingir a completude de Turing no futuro.

Desenvolvimento resolução de restrições