packages feed

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