SAT-Pol-0.1.0.0

Safe HaskellNone
LanguageHaskell2010

Rule

Synopsis

Documentation

independenceRule :: PolF2 -> PolF2 -> PolF2 -> PolF2 Source #

(independenceRule v p1 p2) is the polynomial obtained from apply the independence rule described in the paper [?] between polynomials p1 p2 respect the variable v. It's important to note that as v is the variable from wich we derive, it won't occurs in the output polynomial. For example,

>>> [x1,x2,x3,x4] = (map var ["x1","x2","x3","x4"]) :: [PolF2]
>>> independenceRule x1 1 1
1
>>> independenceRule x1 1 0
0
>>> independenceRule x1 x1 x1
1
>>> independenceRule x1 x1 x1*x2
x2
>>> independenceRule x1 (x1*x3) (x1*x2)
x2x3
>>> independenceRule x1 (1+x1*x3) (x1*x2)
x2x3+x2

independenceRuleForm :: VarProp -> FProp -> FProp -> FProp Source #

Is the independence rule defined above but applied to propositional formulas.