SmtSolver: lazy DPLL(T) for integer difference logic. Atom k is
the constraint x - y <= c; the Boolean skeleton is solved by
Dpll, asserted atoms (and the integer negations
y - x <= -c - 1 of those set false) become weighted edges, and
Bellman-Ford returns either potentials (a model) or a negative cycle whose
negation is learned as a clause. ShorFactoring: Shor's algorithm
with the order-finding measurement drawn (Philox) from its exact output
distribution, then continued fractions. Identical to the Python arm
morie.fn.compalgo.
Value
List. SmtSolver: satisfiable, model, solution, theory_conflicts, learned. ShorFactoring: factors, order, base, Q, attempts, route.
References
Nieuwenhuis, R., Oliveras, A. and Tinelli, C. (2006). Solving SAT and SAT modulo theories: from an abstract Davis-Putnam-Logemann- Loveland procedure to DPLL(T). Journal of the ACM 53, 937-977.
Shor, P. W. (1997). Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM Journal on Computing 26, 1484-1509.
Nielsen, M. A. and Chuang, I. L. (2010). Quantum Computation and Quantum Information. Cambridge University Press.
