Portability | portable |
---|---|

Stability | provisional |

Maintainer | masahiro.sakai@gmail.com |

Safe Haskell | None |

Naïve implementation of Fourier-Motzkin Variable Elimination

Reference:

- type ExprZ = Expr Integer
- type Rat = (ExprZ, Integer)
- toRat :: Expr Rational -> Rat
- fromRat :: Rat -> Expr Rational
- data Lit
- fromLAAtom :: Atom Rational -> DNF Lit
- toLAAtom :: Lit -> Atom Rational
- project :: Var -> [Atom Rational] -> [([Atom Rational], Model Rational -> Model Rational)]
- project' :: Var -> [Lit] -> [([Lit], Model Rational -> Model Rational)]
- projectN :: VarSet -> [Atom Rational] -> [([Atom Rational], Model Rational -> Model Rational)]
- projectN' :: VarSet -> [Lit] -> [([Lit], Model Rational -> Model Rational)]
- solve :: VarSet -> [Atom Rational] -> Maybe (Model Rational)
- solve' :: VarSet -> [Lit] -> Maybe (Model Rational)