Constraint solving (integer inequalities)

36 views
Skip to first unread message

Vanessa McHale

unread,
Feb 10, 2021, 7:48:20 PM2/10/21
to ats-lang-users
Hi all,

I've read that ATS uses the Fourier-Mitzkin method to handle constraints/inequalities but what I've read has been light on details.

Does ATS do anything interesting for integer constraints?

(Also: where in the ATS compiler is the constraint-solving code? I've only looked a bit but I didn't find it at first glance).

Cheers,
Vanessa McHale

Hongwei Xi

unread,
Feb 10, 2021, 9:09:49 PM2/10/21
to ats-lan...@googlegroups.com
The implementation of FM in ATS/Postiats is largely standard.

One small improvement lies in its handling of an inequality of the following kind:

2x + 2y >= 1

This inequality is first changed to 2x + 2y >= 2 and then simplified to x + y >= 1.

The implementation uses linear types to ensure efficient memory management, which
is quite important as FM often needs to use a large amount of memory.




--
You received this message because you are subscribed to the Google Groups "ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ats-lang-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/9592166f-877e-43aa-bd9d-2cf0b178c286n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages