monadiccp-0.7.7: examples/TestPretty.hs
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE ScopedTypeVariables #-}
import Control.CP.FD.Example
model :: ExampleModel ModelInt
model i = exists $ \col -> do
[a,b,c,d] <- colList col 4
forall col (@>0)
forall col (@<=10)
-- loopall (1,4) $ \(x :: ModelInt) -> (xfold (+) (cte 0) (xlist [col!x,col!(4-x)]) @== 5)
loopall (1,4) $ \i -> i*(col!(i-1)) @<= 100
allDiff col
sorted col
xfold (+) (cte 0) col @= i
return col
main = example_sat_main_single_expr model