h&       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR S T U V W X Y Z [ \ ] ^ _ ` a b cdefghijklmnopqrstuvwxyz{|}~       !!!!!!!!!!!!!!!!!!!!!!!!!!!"###$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''((()))))))))))))))))))******++,-............///////////00000000000000000000000001111111111111111111111122222222222345555555555666666777777888888888888888888888888888888888888888999999999999::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<===================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????@AAAAAAAAAAAABBBBBBBBBBBBBBBBBBBCCDDDDDDDDDEFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGG                                           H H I I I I I I I I I I I I I I J J J K K K K K K K K K K L M M M M M M M M M M M M M M M M M M M M M M M M N N N N N N N N N N N O O O O O O O O P P Q Q R R R R R R R R R R R R R R R R R R S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T U U U U U U U U U V V V V V V V V W W W W W W W W W W W W W W W W W W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Z Z Z [ [ [ [ [ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ] ^ _ _ _ _ _ _ _ ` a b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b c c c c c c d d d d d d d d d d d d d d d d d d d d e e e e e e e e e e e e e e f f f f f f f f f f f f f f f f f f f f f f f f f f f f g g g g g gggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhiiiiiiiiiijjjjjjjjjjjjkkllmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnoooooooooooooppqqrrrrrrrrrrrrrrrrrrrrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstttttuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwxxxxxxxxxxxxyyyyyyyzzzzzzzz{{{{{{{{{||||||||||||||||||||||||||||||||||}}}}}}}}}}}}}}}}}}}}}~ Safe-Inferred1[ (c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com experimental non-portable Safe-Inferred=C toysolverAugmenting path b_0, a_0, @, b_n, a_n is represented as ([(a_n, b_n) .. (a_0, b_0)], b_0). toysolverAlternating path b_0, a_0, @, b_{n-1}, a_{n-1}, b_n is represented as (b_n, [(a_{n-1}, b_{n-1}) .. (a_0, b_0)], b_0). toysolver;Maximum cardinality matching on a bipartite graph (A+B, E). toysolverInternal low-level routine for maximum cardinality bipartite matching.It returns a maximum cardinality matching M together with sets of vertexes reachable from exposed B vertexes (bDB such that DaDA. (a,b)DM) on a directed graph (A+B, {aCb|(a,b)DM}D{bCa|(a,b)EE\M}). toysolverMaximum weight matching of a complete bipartite graph (A+B,AB). toysolver5Maximum weight matching of a bipartite graph (A+B,E). toysolverMaximum weight maximum matching of a complete bipartite graph (A+B,AB). toysolverMaximum weight perfect matching of a complete bipartite graph (A+B,AB).+The two sets must be same size (|A| = |B|). toysolverMinimum weight perfect matching of a complete bipartite graph (A+B,AB).+The two sets must be same size (|A| = |B|). toysolverMaximum weight perfect matching of a complete bipartite graph (A+B,E).&If no such matching exist, it returns Nothing. toysolver>Minimum weight perfect matching of a bipartite graph (A+B, E).&If no such matching exist, it returns Nothing. toysolver;Minimum cardinality edge cover of bipartite graph (A+B, E). toysolver6Minimum weight edge cover of bipartite graph (A+B, E). toysolverMinimum weight edge cover of complete bipartite graph (A+B, AB).  toysolver vertex set A toysolver vertex set B toysolverset of edges EEAB toysolver vertex set B toysolver:set of edges EEAB represented as a mapping from B to 2^A. toysolverpartial matching represented as an injective mapping from A to B toysolver vertex set A toysolver vertex set B toysolverweight of edges AB toysolver vertex set A toysolver vertex set B toysolveredges EEAB and their weights toysolver vertex set A toysolver vertex set B toysolverweight of edges AB toysolver vertex set A toysolver vertex set B toysolverweight of edges AB toysolver vertex set A toysolver vertex set B toysolverweight of edges AB toysolver vertex set A toysolver vertex set B toysolveredges EEAB and their weights toysolver vertex set A toysolver vertex set B toysolveredges EEAB and their weights toysolver vertex set A toysolver vertex set B toysolver edges EEAB toysolver vertex set A toysolver vertex set B toysolveredges EEAB and their weights toysolver vertex set A toysolver vertex set B toysolverweight of edges AB  (c) Masahiro Sakai 2015 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-InferredF  toysolverxhi n ** xhi n == n toysolverFind xs such that xs  (f,g) unless  f g.! toysolver! F tests whether F contains redundant implicants." toysolver.Removes redundant implicants from a given DNF.# toysolveroccurFreq x F computes |{IDF | xDI}| / |F|$ toysolverareDualDNFs f g/ checks whether two monotone boolean functions f and g are mutually dual (i.e. f(x1,@,xn) = g(x1,@,xn)).?Note that this function does not care about redundancy of DNFs. Complexity:  O(n^o(log n)) where n =  f +  g.% toysolver Synonym for '.& toysolvercheckDualityA f g/ checks whether two monotone boolean functions f and g are mutually dual (i.e. f(x1,@,xn) = g(x1,@,xn)) using @Algorithm A@ of [FredmanKhachiyan1996].,If they are indeed mutually dual it returns Nothing, otherwise it returns Just cs such that {xi C (if xiDcs then True else False) | iD{1@n}} is a solution of f(x1,@,xn) = g(x1,@,xn)).?Note that this function does not care about redundancy of DNFs. Complexity: O(n^O(log^2 n)) where n =  f +  g.' toysolvercheckDualityB f g/ checks whether two monotone boolean functions f and g are mutually dual (i.e. f(x1,@,xn) = g(x1,@,xn)) using @Algorithm B@ of [FredmanKhachiyan1996].,If they are indeed mutually dual it returns Nothing, otherwise it returns Just cs such that {xi C (if xiDcs then True else False) | iD{1@n}} is a solution of f(x1,@,xn) = g(x1,@,xn)).?Note that this function does not care about redundancy of DNFs. Complexity:  O(n^o(log n)) where n =  f +  g.# toysolver a variable x toysolvera DNF F$ toysolvera monotone boolean function f given in DNF toysolvera monotone boolean function g given in DNF& toysolvera monotone boolean function f given in DNF toysolvera monotone boolean function g given in DNF' toysolvera monotone boolean function f given in DNF toysolvera monotone boolean function g given in DNF !"#$%&'$%&'!"# (c) Masahiro Sakai 2012-2014 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-InferredG\(((c) Masahiro Sakai 2012-2014 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-InferredG)*)*(c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-InferredP 7 toysolver&A problem is essentially a pair of an IntSet (universe ) and a monotone pure function IntSet -> Bool ( isInteresting), but we generalize a bit for potentialial optimization opportunity."For simple cases you can just use 5 instance.9 toysolver-Interesting sets are lower closed subsets of 8 , i.e. if xs is interesting then ys E xs is also interesting.: toysolverIf xs is interesting it returns InterestingSet ys where ys is an interesting superset of xs. If xs is uninteresting it returns UninterestingSet ys where ys is an uninteresting subset of xs.; toysolvergrow xs" computes maximal interesting set ys that is a superset of xs.< toysolver shrink xs$ computes minimal uninteresting set ys that is a subset of xs.= toysolverIf xs is an interesting set maximalInterestingSet prob xs returns Just ys such that ys& is a maximal interesting superset of xs, otherwise it returns Nothing.> toysolverIf xs is an uninteresting set minimalUninterestingSet prob xs returns Just ys such that ys& is a minimal uninteresting subset of xs, otherwise it returns Nothing.? toysolverIf xs is an uninteresting set 6minimalUninterestingSetOrMaximalInterestingSet prob xs returns Left ys such that ys& is a minimal uninteresting subset of xs. If xs is an interesting set 6minimalUninterestingSetOrMaximalInterestingSet prob xs returns Right ys such that ys& is a maximal interesting superset of xsC toysolverDefault implementation of ; using :.D toysolverDefault implementation of < using :.E toysolverDefault implementation of maximalUninterestingSet using : and ;.F toysolverDefault implementation of > using : and <.G toysolverDefault implementation of ? using :, < ;.+,-./01234567<8;9:=>?@ABCDEFG7<8;9:=>?@ABCDEFG56./01234+,- (c) Masahiro Sakai 2015 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-InferredWbR toysolverGiven a problem and an option, it computes maximal interesting sets and minimal uninteresting sets.S toysolver(Find a new prime implicant or implicate.Let f6 be a monotone boolean function over set of variables S. Let D_{IDC} D_{iDI} x_i and D_{IDD} D_{iDI} x_i be the irredundant CNF representation f and DNF representation of f respectively.Given a subset C' E C and D' E D, S S f C' D' returns Just (Left I) where I D C \ C',Just (Right I) where J D D \ D', orNothing if C'=C and D'=D.T toysolverCompute the irredundant CNF representation and DNF representation.Let f6 be a monotone boolean function over set of variables S. This function returns C and D where D_{IDC} D_{iDI} x_i and D_{IDD} D_{iDI} x_i are the irredundant CNF representation f and DNF representation of f respectively.S toysolverSet of variables V toysolverA monotone boolean function f from {0,1}^|V| D P(V) to Bool toysolverSubset C' of prime implicates C of f toysolverSubset D' of prime implicants D of fT toysolverSet of variables V toysolverA monotone boolean function f from {0,1}^|V| D P(V) to Bool toysolverSubset C' of prime implicates C of f toysolverSubset D' of prime implicants D of f"+,-.4321/0567?>=:9;<8@ABCDEFGRSTUVRSTUV (c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred[W toysolverGiven a problem and an option, it computes maximal interesting sets and minimal uninteresting sets.X toysolverCompute the irredundant CNF representation and DNF representation.Let f6 be a monotone boolean function over set of variables S. This function returns C and D where D_{IDC} D_{iDI} x_i and D_{IDD} D_{iDI} x_i are the irredundant CNF representation f and DNF representation of f respectively.X toysolverSet of variables V toysolverA monotone boolean function f from {0,1}^|V| D P(V) to Bool toysolverSubset C' of prime implicates C of f toysolverSubset D' of prime implicants D of f+,-.4321/0567?>=:9;<8@ABCDEFGWXWX (c) Masahiro Sakai 2014 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred[YZ[ZY[ (c) Masahiro Sakai 2014 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred\)\]^]\^ (c) Masahiro Sakai 2015 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred\_`ab_ab`(c) Masahiro Sakai 2015 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferredbd toysolverMaximize _{i=1}^n wi xi subject to _{i=1}^n wi xi D c and xi D {0,1}.Note: 0 (resp. 1) is identified with False (resp. True) in the assignment.e toysolverMinimize _{i=1}^n wi xi subject to _{i=1}^n wi xi D l and xi D {0,1}.Note: 0 (resp. 1) is identified with False (resp. True) in the assignment.f toysolver)Solve _{i=1}^n wi xi = c and xi D {0,1}.Note that this is different from usual definition of the subset sum problem, as this definition allows all xi to be zero.Note: 0 (resp. 1) is identified with False (resp. True) in the assignment.d toysolverweights [w1, w2 .. wn] toysolver capacity c toysolver(the objective value _{i=1}^n wi xi, andthe assignment [x1, x2 .. xn], identifying 0 (resp. 1) with False (resp. True).e toysolverweights [w1, w2 .. wn] toysolver l toysolver(the objective value _{i=1}^n wi xi, andthe assignment [x1, x2 .. xn], identifying 0 (resp. 1) with False (resp. True).f toysolverweights [w1, w2 .. wn] toysolver l toysolverthe assignment [x1, x2 .. xn], identifying 0 (resp. 1) with False (resp. True).cdefcfde(c) Masahiro Sakai 2018 BSD-stylemasahiro.sakai@gmail.com experimental non-portable Safe-Inferredbghijklmnopqrstuvwxyzxyzvwtuqrsopmnklijgh(c) Masahiro Sakai 2011-2012 BSD-stylemasahiro.sakai@gmail.com experimentalportable Safe-InferredcE(c) Masahiro Sakai 2018 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferreddd toysolverGiven a set S and a family of sets U, find a TDS such that SDT has maximum cardinality. In case of tie, smaller T is preferred.(c) Masahiro Sakai 2018 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferredd!(c) Masahiro Sakai 2013-2014,2016 BSD-stylemasahiro.sakai@gmail.com experimental non-portable Safe-Inferred"ev(c) Masahiro Sakai 2013,2016 BSD-stylemasahiro.sakai@gmail.com experimental non-portable Safe-Inferred"f(c) Masahiro Sakai 2013 BSD-stylemasahiro.sakai@gmail.com experimentalportable Safe-Inferredf|(c) Masahiro Sakai 2012-2015 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferredg toysolver3types that can be combined with boolean operations. toysolvertypes that can be negated.1132(c) Masahiro Sakai 2011-2013 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferredh toysolverDisjunctive normal form toysolverlist of conjunction of literals(c) Masahiro Sakai 2011-2013 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferredj toysolverEvaluataion of something (e.g. expression or formula) under the model. toysolverA Model# is a map from variables to values. toysolvercollecting free variables toysolverMap from variables toysolverSet of variables toysolver2Variables are represented as non-negative integers(c) Masahiro Sakai 2011-2015 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferredk toysolverformulas of first order logic toysolver+convert a formula into negation normal form (c) Masahiro Sakai 2014-2015 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred6l toysolver-Boolean expression over a given type of atoms  (c) Masahiro Sakai 2012 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferredo& toysolver&Lifted Bool type. It has three values , , . toysolverlifted true value toysolverlifted false value toysolverundefined truth value toysolver  lnot lTrue == lFalse lnot lFalse == lTrue lnot lUndef == lUndef  toysolver 4 liftBool True == lTrue liftBool False == lFalse  toysolver  unliftBool lTrue == Just True unliftBool lFalse == Just False unliftBool lUndef == Nothing (c) Masahiro Sakai 2011 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferredq toysolverAtomic formula toysolver.type class for constructing relational formula toysolver.type class for constructing relational formula toysolverrelational operators toysolverflipping relational operatorrel (flipOp op) a b is equivalent to  rel op b a toysolvernegating relational operatorrel (negOp op) a b is equivalent to notB (rel op a b) toysolveroperator symbol toysolver0evaluate an operator into a comparision function444444(c) Masahiro Sakai 2011 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferredy toysolver$Atomic Formula of Linear Arithmetics toysolverLinear combination of variables and constants. Non-negative keys are used for variables's coefficients. key  is used for constants. toysolver(a mapping from variables to coefficients toysolver Create a Expr/ from a mapping from variables to coefficients. toysolver"terms contained in the expression. toysolver Create a Expr from a list of terms. toysolver6Special variable that should always be evaluated to 1. toysolvervariable toysolverconstant toysolvermap coefficients. toysolvermap coefficients. toysolver(evaluate the expression under the model. toysolverapplySubst1 x e e1 == e1[e/x] toysolver'lookup a coefficient of the variable. $ coeff v e == fst (extract v e)  toysolver2lookup a coefficient of the variable. It returns Nothing$ if the expression does not contain v. 4 lookupCoeff v e == fmap fst (extractMaybe v e)  toysolver extract v e returns (c, e') such that e == c *^ v ^+^ e' toysolverextractMaybe v e returns  Just (c, e') such that e == c *^ v ^+^ e' if e contains v, and returns Nothing otherwise. toysolverapplySubst1 x e phi == phi[e/x] toysolver1Solve linear (in)equation for the given variable. solveFor a v returns  Just (op, e) such that  Atom v op e is equivalent to a. toysolvercompute bounds for a Expr with respect to  BoundsEnv.5(c) Masahiro Sakai 2011 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferredz toysolverNon-basic variables toysolverBasic variables toysolverLookup a row by basic variable(c) Masahiro Sakai 2011-2013 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred|[ toysolver"results of satisfiability checking toysolverAtomic formula toysolverArithmetic expressions toysolversingle variable expression toysolver evaluate an  with respect to a (c) Masahiro Sakai 2013 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferred}o(c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com experimental non-portable Safe-Inferred~ (c) Masahiro Sakai 2014 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferred toysolverQuantifier-free formula of LRA toysolver x  returns  (, lift) such that:E_LRA Dy1, @, yn. (Dx. ) C  where {y1, @, yn} = FV() \ {x}, andif  M E_LRA  then  lift M E . toysolver {x1,@,xm}  returns  (, lift) such that:%E_LRA Dy1, @, yn. (Dx1, @, xm. ) C  where {y1, @, yn} = FV() \ {x1,@,xm}, andif  M E_LRA  then lift M E_LRA . toysolver x  returns ![(_1, lift_1), @, (_m, lift_m)] such that:+E_LRA Dy1, @, yn. (Dx. ) C (_1 D @ D _m) where {y1, @, yn} = FV() \ {x}, andif  M E_LRA _i then lift_i M E_LRA . toysolver x  returns ![(_1, lift_1), @, (_m, lift_m)] such that:+E_LRA Dy1, @, yn. (Dx. ) C (_1 D @ D _m) where {y1, @, yn} = FV() \ {x}, andif  M E_LRA _i then lift_i M E_LRA . Note that (Dx. (x)) C D_{tDS} (t) where  = {a_i x - b_i _i 0 | i D I, _i D {=, D, D, <}} the set of atomic subformulas in (x) S = { b_i / a_i, b_i / a_i + 1, b_i / a_i - 1 | iDI } D {1/2 (b_i / a_i + b_j / a_j) | i,jDI, iDj} toysolver {x1,@,xm}  returns ![(_1, lift_1), @, (_n, lift_n)] such that:+E_LRA Dy1, @, yp. (Dx. ) C (_1 D @ D _n) where {y1, @, yp} = FV() \ {x1,@,xm}, andif  M E_LRA _i then lift_i M E_LRA . toysolver {x1,@,xn}  returns Just M such that  M E_LRA  when such M exists, returns Nothing otherwise.FV() must be a subset of  {x1,@,xn}. toysolver {x1,@,xn}  returns Just M such that  M E_LRA  when such M exists, returns Nothing otherwise.FV() must be a subset of  {x1,@,xn}.  !(c) Masahiro Sakai 2011-2013 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred8  toysolverAtomic constraint toysolvere D 0 toysolvere > 0 toysolvere = 0 toysolver'(t,c) represents t/c, and c must be >0. toysolverSimplify conjunction of s. It returns " when a inconsistency is detected. toysolver x  returns ![(_1, lift_1), @, (_m, lift_m)] such that:+E_LRA Dy1, @, yn. (Dx. ) C (_1 D @ D _m) where {y1, @, yn} = FV() \ {x}, andif  M E_LRA _i then lift_i M E_LRA . toysolver {x1,@,xm}  returns ![(_1, lift_1), @, (_n, lift_n)] such that:+E_LRA Dy1, @, yp. (Dx. ) C (_1 D @ D _n) where {y1, @, yp} = FV() \ {x1,@,xm}, andif  M E_LRA _i then lift_i M E_LRA . toysolver {x1,@,xn}  returns Just M that  M E_LRA  when such M exists, returns Nothing otherwise.FV() must be a subset of  {x1,@,xn}."(c) Masahiro Sakai 2014-2015 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferred toysolveroptimize dir obj  returns  (I, lift) whereI' is convex hull of feasible region, andlift is a function, that takes x D I8 and returns the feasible solution with objective value better than or equal to x.Note: i (resp.  i) is the optimal value in case of minimization (resp. maximization).If I* is empty, then the problem is INFEASIBLE.#(c) Masahiro Sakai 2013 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferred toysolver {x1,@,xm}  returns Sat M such that  M E_LRA  when such M exists,returns Unsat when such M does not exists, andreturns Unknown when  is beyond LRA. toysolverEliminate quantifiers and returns equivalent quantifier-free formula.  returns  (, lift) such that:# is a quantifier-free formula and LRA E Dy1, @, yn.  C  where {y1, @, yn} = FV() E FV(), andif  M E_LRA  then lift M E_LRA .% may or may not be a closed formula.(c) Masahiro Sakai 2011-2013 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferred&  $(c) Masahiro Sakai 2011-2014 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred toysolver1Quantifier-free formula of Presburger arithmetic. toysolver"Literals of Presburger arithmetic. toysolverIsPos e means e > 0 toysolverDivisible True d e means e can be divided by d (i.e. d | e)Divisible False d e means e can not be divided by d (i.e. (d | e)) toysolver'(t,c) represents t/c, and c must be >0. toysolver+Linear arithmetic expression over integers. toysolverd | e means e can be divided by d. toysolver x  returns  (, lift) such that:E_LIA Dy1, @, yn. (Dx. ) C  where {y1, @, yn} = FV() \ {x}, andif  M E_LIA  then lift M E_LIA . toysolver {x1,@,xm}  returns  (, lift) such that:%E_LIA Dy1, @, yn. (Dx1, @, xm. ) C  where {y1, @, yn} = FV() \ {x1,@,xm}, andif  M E_LIA  then lift M E_LIA . toysolver x  returns ![(_1, lift_1), @, (_m, lift_m)] such that:+E_LIA Dy1, @, yn. (Dx. ) C (_1 D @ D _m) where {y1, @, yn} = FV() \ {x}, andif  M E_LIA _i then lift_i M E_LIA . toysolver {x1,@,xm}  returns ![(_1, lift_1), @, (_n, lift_n)] such that:+E_LIA Dy1, @, yp. (Dx. ) C (_1 D @ D _n) where {y1, @, yp} = FV() \ {x1,@,xm}, andif  M E_LIA _i then lift_i M E_LIA . toysolver {x1,@,xn}  returns Just M that  M E_LIA  when such M exists, returns Nothing otherwise.FV() must be a subset of  {x1,@,xn}. toysolver {x1,@,xn}  returns Just M that  M E_LIA  when such M exists, returns Nothing otherwise.FV() must be a subset of  {x1,@,xn}. toysolver {x1,@,xn}  I returns Just M that  M E_LIRA  when such M exists, returns Nothing otherwise.FV() must be a subset of  {x1,@,xn}.I7 is a set of integer variables and must be a subset of  {x1,@,xn}.%(c) Masahiro Sakai 2011-2013 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferred toysolverEliminate quantifiers and returns equivalent quantifier-free formula.  returns  (, lift) such that:# is a quantifier-free formula and LIA E Dy1, @, yn.  C  where {y1, @, yn} = FV() E FV(), andif  M E_LIA  then lift M E_LIA .% may or may not be a closed formula. toysolver  {x1,@,xm} returns Sat M such that  M E_LIA  when such M exists,returns Unsat when such M does not exists, andreturns Unknown when  is beyond LIA.(c) Masahiro Sakai 2011 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferred!(c) Masahiro Sakai 2012-2013 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred61 toysolverMonic monomials toysolver Variable "x" toysolver.Univariate polynomials over commutative ring r toysolver'Options for pretty printing polynomials%The default value can be obtained by . toysolver(Square-free factorization of polynomials toysolverfactor a polynomial p into p1 ^ n1 * p2 ^ n2 * .. and return a list [(p1,n1), (p2,n2), ..]. toysolver"Prime factorization of polynomials toysolverfactor a polynomial p into p1 ^ n1 * p2 ^ n2 * .. and return a list [(p1,n1), (p2,n2), ..]. toysolverContent of a polynomial toysolverPrimitive part of a polynomial toysolver"Polynomial over commutative ring r toysolver"total degree of a given polynomial toysolver&construct a polynomial from a constant toysolver+construct a polynomial from a list of terms toysolver*construct a polynomial from a singlet term toysolver list of terms toysolver3leading term with respect to a given monomial order toysolver:leading coefficient with respect to a given monomial order toysolver7leading monomial with respect to a given monomial order toysolverLook up a coefficient for a given monomial. If no such term exists, it returns 0. toysolverLook up a coefficient for a given monomial. If no such term exists, it returns Nothing. toysolvera polynomial is called primitive if the greatest common divisor of its coefficients is 1. toysolver Formal derivative of polynomials toysolverFormal integral of polynomials toysolver Evaluation toysolverSubstitution or bind toysolver"Transform polynomial coefficients. toysolverTransform a polynomial into a monic polynomial with respect to the given monomial order. toysolverConvert  K[x,x1,x2,@] into  K[x1,x2,@][x]. toysolverMultivariate division algorithmdivModMP cmp f [g1,g2,..] returns a pair  ([q1,q2,@],r) such thatf = g1*q1 + g2*q2 + .. + r and g1, g2, .. do not divide r. toysolverMultivariate division algorithm )reduce cmp f gs = snd (divModMP cmp f gs) toysolver&Eisenstein's irreducibility criterion.-Given a polynomial with integer coefficients P[x] = an x^n + .. + a1*x + a0, it is irreducible over rational numbers if there exists a prime number p& satisfying the following conditions:p divides ai for i /= n,p does not divides an, andp^2 does not divides a0. toysolverNatural ordering x^0 < x^1 < x^2 ..: is the unique monomial order for univariate polynomials. toysolver"division of univariate polynomials toysolver"division of univariate polynomials toysolver"division of univariate polynomials toysolverGCD of univariate polynomials toysolverLCM of univariate polynomials toysolverExtended GCD algorithm toysolverpseudo division toysolverpseudo quotient toysolverpseudo reminder toysolverGCD of univariate polynomials toysolver'Is the number a root of the polynomial? toysolverIs the polynomial square free? toysolverLexicographic order toysolverReverse lexicographic order.Note that revlex is NOT a monomial order. toysolverGraded lexicographic order toysolver"Graded reverse lexicographic order77'(c) Masahiro Sakai 2013-2014 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred(c) Masahiro Sakai 2013-2014 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferredp((c) Masahiro Sakai 2013 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-InferredZ toysolverSquare-free decomposition of univariate polynomials over a field of characteristic 0.)(c) Masahiro Sakai 2012-2013 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred toysolver$sugar strategy (not implemented yet) toysolver&Options for Grbner Basis computation.&The default option can be obtained by .  *(c) Masahiro Sakai 2012-2013 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred  toysolverSquare-free decomposition of univariate polynomials over a finite field. toysolver1Berlekamp algorithm for polynomial factorization.8Input polynomial is assumed to be monic and square-free.+(c) Masahiro Sakai 2012-2013 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred toysolverf|^2,(c) Masahiro Sakai 2012-2013 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred@-(c) Masahiro Sakai 2013 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred&(c) Masahiro Sakai 2012-2013 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferred;.(c) Masahiro Sakai 2012 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferred toysolver Sturm's chain (Sturm's sequence) toysolver Sturm's sequence of a polynomial toysolver%The number of distinct real roots of p in a given interval toysolver%The number of distinct real roots of p+ in a given interval. This function takes p's sturm chain instead of p itself. toysolverClosed interval that contains all real roots of a given polynomial. `Ь =http://aozoragakuen.sakura.ne.jp/taiwa/taiwaNch02/node26.html toysolverDisjoint intervals each of which contains exactly one real roots of the given polynoimal p,. The intervals can be further narrowed by  or . toysolverDisjoint intervals each of which contains exactly one real roots of the given polynoimal p,. The intervals can be further narrowed by  or . This function takes p's sturm chain instead of p itself.  (c) Masahiro Sakai 2012 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferred~/(c) Masahiro Sakai 2012-2016 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred toysolverGiven a polynomial P = _i a_i x^i over L/K where each a_i is a root of polynomial f a_i over K, rootSimpPoly f P computes a polynomial Q over K such that roots of P is a subset of roots of Q. toysolverGiven a polynomial P and polynomials {P1,@,Pn} over K, findPoly P [P1..Pn] computes a non-zero polynomial Q such that Q[P] = 0 modulo {P1,@,Pn}.  0(c) Masahiro Sakai 2012-2013 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferredį toysolverAlgebraic real numbers. toysolver0Real roots of the polynomial in ascending order. toysolver0Real roots of the polynomial in ascending order. toysolver-Returns approximate rational value such that %abs (a - approx a epsilon) <= epsilon. toysolver'Returns approximate interval such that +width (approxInterval a epsilon) <= epsilon. toysolverSame as . toysolverSame as . toysolverSame as . toysolverSame as . toysolverSame as . toysolverThe n th root of a toysolver9Same algebraic real, but represented using finer grained . toysolver5The polynomial of which the algebraic number is root. toysolverIsolating interval that separate the number from other roots of  of it. toysolver+Whether the algebraic number is a rational. toysolverWhether the algebraic number is a root of a polynomial with integer coefficients with leading coefficient 1 (a monic polynomial). toysolverHeight of the algebraic number.The height of an algebraic number is the greatest absolute value of the coefficients of the irreducible and primitive polynomial with integral rational coefficients. toysolverroot index, satisfying  ( a) !! rootIndex a == a  toysolver Golden ratio toysolverDegree of the algebraic number.If the algebraic number's  has degree n2, then the algebraic number is said to be degree n. toysolvera toysolverepsilon toysolvera toysolverepsilon1(c) Masahiro Sakai 2012 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferredj2(c) Masahiro Sakai 2013 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferredȋ toysolver&Complex numbers are an algebraic type.For a complex number z,  z# is a number with the magnitude of z8, but oriented in the positive real direction, whereas  z has the phase of z, but unit magnitude. toysolver+Extracts the real part of a complex number. toysolver0Extracts the imaginary part of a complex number. toysolver"The conjugate of a complex number. toysolver.The nonnegative magnitude of a complex number. toysolver5The polynomial of which the algebraic number is root. toysolverRoots of the polynomial63(c) Masahiro Sakai 2020 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred toysolver5Compute a hermite Hermite interpolation from a list [(x_0, [y_0, y'_0, \ldots y^{(m)}_0]), (x_1, [y_1, y'_1, \ldots y^{(m)}_1]), \ldots].4(c) Masahiro Sakai 2012 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-InferredG5(c) Masahiro Sakai 2016-2018 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred"6̼ toysolver7 represents a parse error and it wraps a error message. toysolver(A type class that abstracts file formats toysolverParse a lazy byte string, and either returns error message or a parsed value toysolverEncode a value into  toysolver=Parse a file but returns an error message when parsing fails. toysolverParse a file. Similar to  but this function throws  when parsing fails. toysolverWrite a value into a file.6(c) Masahiro Sakai 2020 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-InferredY7(c) Masahiro Sakai 2018 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferred8(c) Masahiro Sakai 2016-2017 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred# toysolverOperations for folding edge information along with a path into a r value.Fold cost label r consists of three operations Vertex -> a corresponds to an empty path,Edge cost label -> a corresponds to a single edge, a -> a -> a# corresponds to path concatenation,and a -> r to finish the computation. toysolverStrict pair type toysolverpath data type. toysolver empty path toysolverpath with single edge toysolverconcatenation of two paths toysolver3Incoming edge data type (target vertex is implicit) toysolver3Outgoing edge data type (source vertex is implicit) toysolverEdge data type toysolverVertex data type toysolverGraph represented as a map from vertexes to their outgoing edges toysolver Source vertex toysolver Target vertex toysolverCost of a path toysolver Empty path toysolverConcatenation of two paths toysolverEdges of a path toysolver)Edges of a path, but in the reverse order toysolverEdges of a path, but as  toysolverVertexes of a path toysolver,Vertexes of a path, but in the reverse order toysolverVertex of a path, but as  toysolverFold a path using a given  operation. toysolverProject 7 into a monoid value and fold using monoidal operation. toysolver Similar to  but a label$ is directly used as a monoid value. toysolver(Ignore contents and return a unit value. toysolver Pairs two  into one that produce a tuple. toysolver Construct a  value. toysolverCompute cost of a path. toysolverGet the first  of a path. toysolver Get the last / of a path. This is useful for constructing a parent map of a spanning tree. toysolverBellman-Ford algorithm for finding shortest paths from source vertexes to all of the other vertices in a weighted graph with negative weight edges allowed.It compute shortest-paths from given source vertexes, and folds edge information along shortest paths using a given  operation. toysolver0Utility function for detecting a negative cycle. toysolverDijkstra's algorithm for finding shortest paths from source vertexes to all of the other vertices in a weighted graph with non-negative edge weight.It compute shortest-paths from given source vertexes, and folds edge information along shortest paths using a given  operation. toysolverFloyd-Warshall algorithm for finding shortest paths in a weighted graph with positive or negative edge weights (but with no negative cycles).It compute shortest-paths between each pair of vertexes, and folds edge information along shortest paths using a given  operation. toysolver$Operation used to fold shotest paths toysolverList of source vertexes vs toysolverOperation used to fold a cycle toysolver Result of   vs toysolver$Operation used to fold shotest paths toysolverList of source vertexes toysolver$Operation used to fold shotest paths##9(c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com experimentalportable Safe-Inferred toysolver a :- b :<= k represents  a - b D k toysolverDifference of two variables toysolver6Takes labeled list of constraints, and returns eithera7unsatisfiable set of constraints as a set of labels, orsatisfying assignment.46:(c) Masahiro Sakai 2014 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferredݽ(c) Masahiro Sakai 2012 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-InferredT      ;(c) Masahiro Sakai 2014 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred toysolver%Get the internal representation array toysolver%Get the internal representation array toysolver%Get the internal representation array toysolver!Pre-allocate internal buffer for n elements.<(c) Masahiro Sakai 2012 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred\  toysolver6Priority queue implemented as array-based binary heap. toysolver.Build a priority queue with default ordering ( of  class) toysolver$Build a priority queue with a given  less than operator. toysolverReturn a list of all the elements of a priority queue. (not sorted) toysolver*Remove all elements from a priority queue. toysolver"Create a copy of a priority queue. toysolver:Get the internal representation of a given priority queue. toysolver:Get the internal representation of a given priority queue. toysolver!Pre-allocate internal buffer for n elements.    =(c) Masahiro Sakai 2012 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-InferredH  toysolver6Priority queue implemented as array-based binary heap. toysolver.Build a priority queue with default ordering ( of  class) toysolver$Build a priority queue with a given  less than operator. toysolver$Build a priority queue with a given  less than operator. toysolverReturn a list of all the elements of a priority queue. (not sorted) toysolver*Remove all elements from a priority queue. toysolver"Create a copy of a priority queue. toysolver:Get the internal representation of a given priority queue. toysolver:Get the internal representation of a given priority queue. toysolver!Pre-allocate internal buffer for n elements. toysolver!Pre-allocate internal buffer for [0..n-1] values.    >(c) Masahiro Sakai 2012, 2015 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred\ toysolver An equation a = b represented as eithera = b orf(a1,a2) = a, f(b1,b2) = b where a1 = b1 and a2 = b2 has already been derived. toysolverEqn1 cid a b c$ represents an equation "f(a,b) = c" toysolver Eqn0 cid a b represents an equation "a = b"))?(c) Masahiro Sakai 2015 BSD-stylemasahiro.sakai@gmail.comunstable non-portable Safe-Inferredx$$@(c) Masahiro Sakai 2014 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred toysolver Filename of the executable (see  for details) toysolver any arguments toysolverstandard input toysolvercallback function which is called when a line is read from stdout toysolvercallback function which is called when a line is read from stderrA(c) Masahiro Sakai 2014 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred6 toysolverOptions for solving.&The default option can be obtained by .  B(c) Masahiro Sakai 2014 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred6{ toysolverOptions for solving.&The default option can be obtained by .  C(c) Masahiro Sakai 2012-2014 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred toysolver allocate too many intermediate . Therefore we use this optimized implementation instead. Many intermediate values in this implementation will be optimized away by worker-wrapper transformation and unboxing.D(c) Masahiro Sakai 2011-2012 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferred toysolverCombining two Maybe values using given function. toysolveris the number integral? , isInteger x = fromInteger (round x) == x  toysolverfractional part ) fracPart x = x - fromInteger (floor x)  E(c) Masahiro Sakai 2012-2013 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred2F(c) Masahiro Sakai 2011-2013 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred  toysolver Delta r k: represents r + k for symbolic infinitesimal parameter . toysolver#symbolic infinitesimal parameter . toysolverConversion from a base r value to Delta r. toysolverExtracts the real part.. toysolverExtracts the  part.. toysolver version of .  x/ returns the greatest integer not greater than x toysolver version of .  x) returns the least integer not less than x toysolverIs this a integer? toysolverThis is unsafe instance in the sense that only a proper real can be a divisor. toysolverThis instance assumes the symbolic infinitesimal parameter  is a nilpotent with  = 0.  G!(c) Masahiro Sakai 2012-2014,2016 BSD-stylemasahiro.sakai@gmail.com experimental non-portable Safe-Inferred" toysolverTranslation options.&The default option can be obtained by .(c) Masahiro Sakai 2012 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred f toysolverOptions for solving.&The default option can be obtained by . toysolverresults of optimization toysolver=A natural transformation suitable for storing in a container. toysolverA natural transformation from f to g. toysolver0feasibility aݟ``` non-basic variable xj `a```a toysolver0feasibility aݟ``` non-basic variable xj `a```a  toysolver-set callback function for receiving messages.      000H(c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferred|   I(c) Masahiro Sakai 2011 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred toysolver'(t,c) represents t/c, and c must be >0. toysolverAtomic constraint toysolvere D 0 toysolvere = 0  toysolverOptions for solving.&The default option can be obtained by .  toysolveroptCheckReal is used for checking whether real shadow is satisfiable.If it returns True0, the real shadow may or may not be satisfiable.If it returns False', the real shadow must be unsatisfiable  toysolver  opt {x1,@,xn}  returns Just M that  M E_LIA  when such M exists, returns Nothing otherwise.FV() must be a subset of  {x1,@,xn}.  toysolver  {x1,@,xn}  I returns Just M that  M E_LIRA  when such M exists, returns Nothing otherwise.FV() must be a subset of  {x1,@,xn}.I7 is a set of integer variables and must be a subset of  {x1,@,xn}.   J(c) Masahiro Sakai 2011 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferredt   K(c) Masahiro Sakai 2012 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred]  toysolver-set callback function for receiving messages. L(c) Masahiro Sakai 2011 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred$  toysolver5tightening variable bounds by constraint propagation. toysolvertightening intervals by ceiling lower bounds and flooring upper bounds.  toysolverinitial bounds toysolver constraints toysolverintegral variables toysolverlimit of iterations  M(c) Masahiro Sakai 2011 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred  toysolverresults of optimization  toysolverAllocate a new  non-negative variable.  toysolverAdd a contraint and maintain feasibility condition by introducing artificial variable (if necessary).Disequality is not supported.Unlike  , an equality contstraint becomes one row with an artificial variable.  toysolverAdd a contraint, without maintaining feasibilty condition of tableaus.Disequality is not supported.Unlike  *, an equality constraint becomes two rows.  N(c) Masahiro Sakai 2011 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred  toysolverresults of optimization  O(c) Masahiro Sakai 2011 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-InferredU   P(c) Masahiro Sakai 2012 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferred  Q(c) Masahiro Sakai 2012 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferredi  R(c) Masahiro Sakai 2018 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred" M  toysolver Ising model. Minimize :\sum_{i1.  toysolverThe initial limit for learnt constraints. Negative value means computing default value from problem instance.  toysolverThe limit for learnt constraints is multiplied with this factor periodically. (default 1.1) This must be >1.  toysolverControls conflict constraint minimization (0=none, 1=local, 2=recursive)  toysolverstep-size  in ERWA and LRB branching heuristic is initialized with this value. (default 0.4)  toysolverstep-size  in ERWA and LRB branching heuristic is decreased by this value after each conflict. (default 0.06)  toysolverstep-size  in ERWA and LRB branching heuristic is decreased until it reach the value. (default 0.06)  toysolverinverse of the variable EMA decay factor used by LRB branching heuristic. (default 1 / 0.95)  toysolverThe frequency with which the decision heuristic tries to choose a random variable  toysolver6Split PB-constraints into a PB part and a clause part.Example from minisat+ paper:-4 x1 + 4 x2 + 4 x3 + 4 x4 + 2y1 + y2 + y3 D 4would be split into(x1 + x2 + x3 + x4 + z D 1 (clause part)"2 y1 + y2 + y3 + 4 z D 4 (PB part)where z is a newly introduced variable, not present in any other constraint. Reference:N . Een and N. Srensson. Translating Pseudo-Boolean Constraints into SAT. JSAT 2:1@26, 2006.  toysolverInverse of the variable activity decay factor. (default 1 / 0.95)  toysolver> return (), but maybe faster.  toysolver XOR clause.'([l1,l2..ln], b)' means l1 E l2 E E E ln = b. Note that:&True can be represented as ([], False)&False can be represented as ([], True)  toysolverDisjunction of  .  toysolverPositive (resp. negative) literals are represented as positive (resp. negative) integers. (DIMACS format).  toysolverA model is represented as a mapping from variables to its values.  toysolver=Variable is represented as positive integers (DIMACS format).  toysolverRestrict model to first nv variables.  toysolver7Construct a literal from a variable and its polarity.  (resp *) means positive (resp. negative) literal.  toysolverNegation of the  .  toysolverUnderlying variable of the   toysolverPolarity of the  .  means positive literal and  means negative literal.  toysolverNormalizing clause! if the clause is trivially true.  toysolver normalizing PB term of the form c1 x1 + c2 x2 ... cn xn + c into d1 x1 + d2 x2 ... dm xm + d where d1,...,dm D 1.  toysolver&normalizing PB constraint of the form c1 x1 + c2 cn ... cn xn >= b.  toysolver&normalizing PB constraint of the form c1 x1 + c2 cn ... cn xn = b.  toysolverNormalize XOR clause  toysolver literals [l1, l2, @, ln] toysolverrhs  toysolverSelector literal sel toysolver literals [l1, l2, @, ln] toysolverrhs  toysolverList of terms [(c1,ls1),(c2,ls2),@] toysolvern  toysolverList of terms [(c1,ls1),(c2,ls2),@] toysolvern  toysolverList of terms [(c1,ls1),(c2,ls2),@] toysolvern  toysolverSelector literal sel toysolverList of terms [(c1,ls1),(c2,ls2),@] toysolvern  toysolverSelector literal sel toysolverList of terms [(c1,ls1),(c2,ls2),@] toysolvern  toysolverSelector literal sel toysolverList of terms [(c1,ls1),(c2,ls2),@] toysolvern  toysolverlist of terms [(c1,l1),(c2,l2),@] toysolvern  toysolverlist of [(c1,l1),(c2,l2),@] toysolvern  toysolverlist of terms [(c1,l1),(c2,l2),@] toysolvern  toysolverSelector literal sel toysolverlist of terms [(c1,l1),(c2,l2),@] toysolvern  toysolverSelector literal sel toysolverlist of terms [(c1,l1),(c2,l2),@] toysolvern  toysolverSelector literal sel toysolverlist of terms [(c1,l1),(c2,l2),@] toysolvern  toysolverset of literals  {l1,l2,..}" (duplicated elements are ignored) toysolvern  toysolverset of literals  {l1,l2,..}" (duplicated elements are ignored) toysolvern  toysolverset of literals  {l1,l2,..}" (duplicated elements are ignored) toysolvern  toysolvervariable toysolverpolarity U(c) Masahiro Sakai 2012 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferred- V(c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com experimental non-portable Safe-Inferred.a  W(c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred0   toysolver#number of variables of the problem.  toysolver%number of constraints of the problem. toysolver#number of edges of the factor graph  toysolver3Get the marginal probability of the variable to be True, False and unspecified respectively.  8X(c) Masahiro Sakai 2012-2014 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred 26@* toysolverinvoked with the watched literal when the literal is falsified. watch `  toConstraint+ a``` heap allocation ``a`a `a`a``â`  a````` toysolverdeduce a clause CDl from the constraint and return C. C and l should be false and true respectively under the current assignment.  toysolverSolver instance toysolver2will be invoked once when the variable is assigned toysolver#exponential moving average estimate toysolverWhen v was last assigned toysolverThe number of learnt clauses v participated in generating since Assigned. toysolverThe number of learnt clauses v reasoned in generating since Assigned. toysolver.will be invoked when this literal is falsified toysolver"Amount to bump next variable with. toysolver$Amount to bump next constraint with. toysolverstep-size parameter   toysolverit returns a set of literals that are fixed without any assumptions. toysolverRegister the constraint to be notified when the literal becames false. toysolverRegister the constraint to be notified when the variable is assigned.  toysolver#number of variables of the problem. toysolvernumber of assigned  toysolvernumber of constraints.  toysolvernumber of learnt constrints.  toysolver Create a new   instance.  toysolver Create a new  % instance with a given configulation.  toysolver!Pre-allocate internal buffer for n variables. toysolverSee documentation of setPBSplitClausePart.  toysolverSolve constraints. Returns ) if the problem is SATISFIABLE. Returns ! if the problem is UNSATISFIABLE.  toysolver-Solve constraints under assuptions. Returns ) if the problem is SATISFIABLE. Returns ! if the problem is UNSATISFIABLE.  toysolverCancel exectution of   or  .&This can be called from other threads.  toysolverAfter  3 returns True, it returns an satisfying assignment.  toysolverAfter   returns False, it returns a set of assumptions that leads to contradiction. In particular, if it returns an empty set, the problem is unsatisiable without any assumptions.  toysolverEXPERIMENTAL API: After   returns True or failed with   exception, it returns a set of literals that are implied by assumptions. toysolverSimplify the constraint database according to the current top-level assigment.  toysolver#The default polarity of a variable.  toysolver:Set random generator used by the random variable selection  toysolver:Get random generator used by the random variable selection  toysolverSet a callback function used to indicate a termination requirement to the solver.The solver will periodically call this function and check its return value during the search. If the callback function returns # the solver terminates and throws   exception. See also   and  "https://github.com/biotomas/ipasirIPASIR's ipasir_set_terminate() function.  toysolver!Clear a callback function set by   toysolverSet a callback function used to extract learned clauses from the solver. The solver will call this function for each learned clause. See also   and  "https://github.com/biotomas/ipasirIPASIR's ipasir_set_learn() function.  toysolver!Clear a callback function set by   toysolver?Revert to the state at given level (keeping all assignment at level but not beyond). toysolver?invoked with the watched literal when the literal is falsified. toysolverdeduce a clause CDl from the constraint and return C. C and l should be false and true respectively under the current assignment.  toysolver-set callback function for receiving messages.  toysolverClear logger function set by  .  toysolver Assumptions  Safe-InferredB Y(c) Masahiro Sakai 2012, 2015 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred"E  toysolverElement of model. toysolver Shallow atom toysolver Shallow term  toysolverTerm  toysolver3Generalized literal type parameterized by atom type  toysolverPredicate Symbol  toysolverFunction Symbol  toysolverVariable  toysolver.normalize a formula into a skolem normal form.TODO:Tseitin encoding  toysolver print entity+ + Z(c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-InferredI  toysolverGiven a problem and an option, it computes maximal interesting sets and minimal uninteresting sets.  toysolverCompute the irredundant CNF representation and DNF representation.Let f6 be a monotone boolean function over set of variables S. This function returns C and D where D_{IDC} D_{iDI} x_i and D_{IDD} D_{iDI} x_i are the irredundant CNF representation f and DNF representation of f respectively.  toysolverSet of variables V toysolverA monotone boolean function f from {0,1}^|V| D P(V) to Bool toysolverSubset C' of prime implicates C of f toysolverSubset D' of prime implicants D of f +,-.4321/0567?>=:9;<8@ABCDEFG  [(c) Masahiro Sakai 2012 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-InferredL  toysolverPrint a  . in a way specified for SAT Competition. See  ,http://www.satcompetition.org/2011/rules.pdf for details.  toysolverPrint a  1 in a way specified for Max-SAT Evaluation. See  &http://maxsat.ia.udl.cat/requirements/ for details.  toysolverPrint a   in the new compact way specified for Max-SAT Evaluation >=2020. See  4https://maxsat-evaluations.github.io/2020/vline.html for details.  toysolverPrint a  9 in a way specified for Pseudo-Boolean Competition. See  .http://www.cril.univ-artois.fr/PB12/format.pdf for details.  \(c) Masahiro Sakai 2014 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-InferredM]  ](c) Masahiro Sakai 2013 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-InferredN9  ^(c) Masahiro Sakai 2013 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-InferredN  _(c) Masahiro Sakai 2014 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-InferredQ  toysolverOptions for BCD2 algorithm.%The default value can be obtained by . toysolver.The smallest integer greater-than or equal-to n- that can be obtained by summing a subset of ws. Note that the definition is different from the one in Morgado et al. toysolver-The greatest integer lesser-than or equal-to n- that can be obtained by summing a subset of ws. toysolver ws toysolver n toysolver ws toysolver n  `(c) Masahiro Sakai 2014 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-InferredQ  a(c) Masahiro Sakai 2014 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-InferredR(  b(c) Masahiro Sakai 2012-2013 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-InferredR  toysolverOptimization method%The default value can be obtained by .! ! c(c) Masahiro Sakai 2012-2014 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-InferredW  toysolver!Maximal Satisfiable Subset (MSS).A subset S E C is an MSS if S is satisfiable and DC_i D U\S, SD{C_i} is unsatisfiable [CAMUS]. A MSS is the complement of an  .  toysolverSatisfiable Subset (SS).A subset S E C is a SS if S is satisfiable. A SS is the complement of a  .  toysolver/Minimal Correction Subset of constraints (MCS).A subset M E C is an MCS if C\M is satisfiable and DC_i D M, C\(M\{C_i}) is unsatisfiable [CAMUS]. A MCS is the complement of an   and also known as a CoMSS.  toysolver&Correction Subset of constraints (CS).A subset M E C is a CS if C\M is satisfiable. A CS is the complement of a  .  toysolver2Minimal Unsatisfiable Subset of constraints (MUS).A subset U E C is an MUS if U is unsatisfiable and DC_i D U, U\{C_i} is satisfiable [CAMUS].  toysolver)Unsatisfiable Subset of constraints (US)..A subset U E C is an US if U is unsatisfiable.  (c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-InferredZ^  toysolverMCS candidates (see HYCAM paper for details). A MCS candidate must be a superset of a real MCS.  toysolverBecause each soft constraint C_i' is represented as a selector literal l_i! together with a hard constraint  l_i C C_i1, there are cases that a model assigns false to l_i even though C_i itself is true. This function is used to inform the truth value of the original constraint C_i+ that corresponds to the selector literal l_i. (c) Masahiro Sakai 2012-2014 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferred[ d(c) Masahiro Sakai 2012-2016 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred[  (c) Masahiro Sakai 2012 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferred^t  toysolverOptions for MUS finding.%The default value can be obtained by .  toysolverBecause each soft constraint C_i' is represented as a selector literal l_i! together with a hard constraint  l_i C C_i1, there are cases that a model assigns false to l_i even though C_i itself is true. This function is used to inform the truth value of the original constraint C_i+ that corresponds to the selector literal l_i. (c) Masahiro Sakai 2015 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferred_ toysolverFind a minimal set of assumptions that causes a conflict. Initial set of assumptions is taken from  . (c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferred` toysolverFind a minimal set of assumptions that causes a conflict. Initial set of assumptions is taken from  . (c) Masahiro Sakai 2012 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferreda toysolverFind a minimal set of assumptions that causes a conflict. Initial set of assumptions is taken from  . e(c) Masahiro Sakai 2012 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferredb  toysolverFind a minimal set of assumptions that causes a conflict. Initial set of assumptions is taken from  .  f(c) Masahiro Sakai 2012-2021 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred (;c  toysolver'Arbitrary formula not restricted to CNF  g(c) Masahiro Sakai 2012 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-InferredlJ  toysolverEncoder instance  toysolver Create a Encoder9 instance. If the encoder is built using this function,  has no effect. toysolver Create a Encoder9 instance. If the encoder is built using this function,  has an effect. toysolverUse pseudo boolean constraints or use only clauses. This option has an effect only when the encoder is built using . toysolverAssert a given formula to underlying SAT solver by using Tseitin encoding. toysolver=Return an literal which is equivalent to a given conjunction.  encodeConj encoder =  encoder   toysolverReturn an literal which is equivalent to a given conjunction which occurs only in specified polarity. toysolver=Return an literal which is equivalent to a given disjunction.  encodeDisj encoder =  encoder   toysolverReturn an literal which is equivalent to a given disjunction which occurs only in specified polarity. toysolver>Return an literal which is equivalent to a given if-then-else.  encodeITE encoder =  encoder   toysolverReturn an literal which is equivalent to a given if-then-else which occurs only in specified polarity. toysolverReturn an literal which is equivalent to an XOR of given two literals.  encodeXOR encoder =  encoder   toysolverReturn an literal which is equivalent to an XOR of given two literals which occurs only in specified polarity. toysolver$Return an "sum"-pin of a full-adder.  encodeFASum encoder =  encoder   toysolverReturn an "sum"-pin of a full-adder which occurs only in specified polarity. toysolver&Return an "carry"-pin of a full-adder.  encodeFACarry encoder =  encoder   toysolverReturn an "carry"-pin of a full-adder which occurs only in specified polarity.(   h(c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com experimental non-portable Safe-InferredmU  (c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com experimentalportable Safe-Inferredmi(c) Masahiro Sakai 2015 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferredq toysolverEncode a non-linear   into a lienar  .linearizePBSum enc s is equivalent to +linearizePBSumWithPolarity enc polarityBoth. toysolverLinearize a non-linear   into a lienar  . The input  0 is assumed to occur only in specified polarity.If polarityPosOccurs p, the value of resulting   is  greater than or equal to the value of original  .If polarityNegOccurs p, the value of resulting   is  lesser than or equal to the value of original  .   j(c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferredr_  k(c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferredsl(c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferredsm(c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferredt'  n(c) Masahiro Sakai 2012 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferredto(c) Masahiro Sakai 2020 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferreduo  p(c) Masahiro Sakai 2019 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferredvq(c) Masahiro Sakai 2019 BSD-stylemasahiro.sakai@gmail.com provisionalportable Safe-Inferredvr(c) Masahiro Sakai 2019 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferredw%  s(c) Masahiro Sakai 2016-2018 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred" toysolver Synonym of   toysolverQuantified set of variables toysolver Quantifier toysolverexistential quantifier (D) toysolveruniversal quantifier (D) toysolverQDIMACS formatQuantified boolean expression in prenex normal form, consisting of a sequence of quantifiers (#) and a quantifier-free CNF part (). References:QDIMACS standard Ver. 1.1 "http://www.qbflib.org/qdimacs.html toysolverNumber of variables toysolverNumber of clauses toysolverSequence of quantifiers toysolverClauses toysolver%Clause together with component number toysolverComponent number between 0 and  toysolverGroup oriented CNF Input FormatThis format is used in Group oriented MUS track of the SAT Competition 2011. References: ,http://www.satcompetition.org/2011/rules.pdf toysolverNubmer of variables toysolverNumber of clauses toysolverThe last index of a group in the file number of components contained in the file. toysolverNew WCNF file format7This format is used for for MAX-SAT evaluations >=2020. References: 5https://maxsat-evaluations.github.io/2021/format.html toysolverWeighted clauses toysolverWeigths must be greater than or equal to 1, and smaller than 2^63. toysolverWeighted clauses toysolver?WCNF format for representing partial weighted Max-SAT problems.0This format is used for for MAX-SAT evaluations. References: &http://maxsat.ia.udl.cat/requirements/ toysolverNumber of variables toysolverNumber of (weighted) clauses toysolverHard clauses have weight equal or greater than "top". We assure that "top" is a weight always greater than the sum of the weights of violated soft clauses in the solution. toysolverWeighted clauses toysolverDIMACS CNF format toysolverNumber of variables toysolverNumber of clauses toysolverClauses toysolver Note that  also accepts (old) WCNF files and (unweighted) CNF files and converts them into . toysolver Note that  also accepts new WCNF files and (unweighted) CNF files and converts them into .3 + t(c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com experimental non-portable Safe-Inferredu(c) Masahiro Sakai 2017 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred{  v(c) Masahiro Sakai 2017 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred6#w(c) Masahiro Sakai 2017 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred toysolverGiven a set of variables X = \{x_1, \ldots, x_k\} and CNF formula \phi, this function duplicates X with X^+ = \{x^+_1,\ldots,x^+_k\} and X^- = \{x^-_1,\ldots,x^-_k\},replaces positive literals x_i with x^+_i, and negative literals \neg x_i with x^-_i, andadds constraints \neg x^+_i \vee \neg x^-_i. toysolverGiven a set of variables X = \{x_1, \ldots, x_k\} and CNF formula \phi1, this function computes shortest implicants of \exists X. \phi.Resulting shortest implicants form a DNF (disjunctive normal form) formula that is equivalent to the original formula \exists X. \phi. toysolverGiven a CNF formula \phi,, this function returns another CNF formula \psi that is equivalent to \neg\phi. toysolverGiven a set of variables X = \{x_1, \ldots, x_k\} and CNF formula \phi(, this function computes a CNF formula \psi that is equivalent to \exists X. \phi (i.e. &(\exists X. \phi) \leftrightarrow \psi). toysolverX toysolver\phi toysolverX toysolver\phi toysolver\phi toysolver\psi \equiv \neg\phi toysolverX toysolver\phi toysolver\psix(c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-InferredI toysolver"Naive Algorithm for a Winning Move toysolver.Abstraction-Based Algorithm for a Winning Move toysolver.Abstraction-Based Algorithm for a Winning Movey(c) Masahiro Sakai 2018 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferredw toysolverWrapper type for parsing opb/wbo files using attoparsec-based parser instead of megaparsec-based one. z(c) Masahiro Sakai 2018 BSD-stylemasahiro.sakai@gmail.com experimental non-portable Safe-Inferred{(c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com experimental non-portable Safe-Inferred|(c) Masahiro Sakai 2018 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred2} Safe-Inferred~(c) Masahiro Sakai 2018 BSD-stylemasahiro.sakai@gmail.com experimentalportable Safe-Inferred2!(c) Masahiro Sakai 2013,2016-2018 BSD-stylemasahiro.sakai@gmail.com experimental non-portable Safe-Inferred toysolverQuandratize PBO/PBS problem without introducing additional constraints. toysolverQuandratize PBO/PBS problem without introducing additional constraints. toysolverConvert inequality constraints into equality constraints by introducing surpass variables. toysolverConvert a pseudo boolean formula  to a equisatisfiable CNF formula  together with two functions f and g such that:if M E  then f(M) E if M E  then g(M) E 6ghijklmnopqrsrstuvwxyzyz(c) Masahiro Sakai 2018 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred(c) Masahiro Sakai 2011-2015 BSD-stylemasahiro.sakai@gmail.com experimental non-portable Safe-Inferredw(c) Masahiro Sakai 2018 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-InferredV toysolverInformation of  conversion toysolverInformation of  conversion toysolverConvert a CNF formula  to an equisatifiable NAE-SAT formula , together with a  toysolverConvert a NAE-SAT formula  to an equisatifiable CNF formula , together with a (c) Masahiro Sakai 2018 BSD-stylemasahiro.sakai@gmail.com provisional non-portable Safe-Inferred(c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com experimental non-portable Safe-Inferred(c) Masahiro Sakai 2016 BSD-stylemasahiro.sakai@gmail.com experimental non-portable Safe-InferredO(c) Masahiro Sakai 2018 BSD-stylemasahiro.sakai@gmail.com experimentalportable Safe-Inferredghijklmnopqrsrstuvwxyzyz(c) Masahiro Sakai 2015 BSD-stylemasahiro.sakai@gmail.comunstable non-portable Safe-Inferred"6@ toysolver Sort symbols toysolver>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????@AAAAAAAAAAAABBBBBBBBBBBBBBBBBBBCCDDDDDDDDDEFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGG                   HHIII I I III IIIIIIJ J J KKKK K K K K KK L MMMMM MM MMM M M M M MMMMM MM M M M NN NNN N NNN N N O O OO O O O O P P QQR R R R R RRRR R RR R R R R R R S S S S S S S S S S S S S S SSS S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S T T T T T T T T T T T T T T T T T T T T T T T T TT T T T T T T T T T T T T T T T T TTT T TTTT T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T U U U U U U U U U V V V V V V V V WWW W W W W W W W W W W W W W W W X X X X XX X X X X X X X XX X XX X XX X XXXX X X X X X X X X XX X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X YYYY YYYY YYYYYYYYYYYY YYY YY Y Y Y Y Y YYY Y Y Y YY Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y YYYYYYY Y Y ZZZ[ [ [ [ [ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \ \ ]^___ _ _ __`ab bb b b b b b b b b b b b bb b b b b b b b b b bb b b b b b b bbbbb b c c c c c c             d d d d        e e e ffffffffff ffffff f f f f fffffff f g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g hhhh hhhhhhh h h h h h h h i i i i i i i i i i j j j j j j j j j j j j k k l l mm m m m m m m m m m m m m mmmmmnnnn n n nnnnnnno o o o o o o o o o o o o p p q q r rr r r r r r r r r r r r r rrrrrss s s s s s s s s s s s s s s s s s s s s s s s ss s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s t t t t t uuu u u u u u u u uv v v v v v v v v vvv v v v vvv v v v v v v v v vv v v v v v vvw w wx x x x x xx x x x x x y y yyyyyzzzzzzzz{{{{{{{{{||||||||||||||||||||||||||||||||||}}}}}}}}}}}}}}}}}}}}}~    $+.00000288=>>>IIIILWWXXXXXXXXXXXXXXXXXXX XYY__    w&toysolver-0.8.1-8UpSeeDvJqYHlnd3w7teb3ToySolver.Arith.Simplex ToySolver.Internal.Data.SeqQueueToySolver.Version)ToySolver.Combinatorial.BipartiteMatching7ToySolver.Combinatorial.HittingSet.FredmanKhachiyan1996'ToySolver.Combinatorial.HittingSet.Util)ToySolver.Combinatorial.HittingSet.Simple2ToySolver.Combinatorial.HittingSet.InterestingSets7ToySolver.Combinatorial.HittingSet.GurvichKhachiyan1999&ToySolver.Combinatorial.HittingSet.DAA#ToySolver.Combinatorial.Knapsack.BB(ToySolver.Combinatorial.Knapsack.DPDense)ToySolver.Combinatorial.Knapsack.DPSparse!ToySolver.Combinatorial.SubsetSumToySolver.Converter.BaseToySolver.Converter.ObjTypeToySolver.Converter.PB2LSPToySolver.Converter.PB2SMPToySolver.Converter.PBSetObjToySolver.Data.BooleanToySolver.Data.DNFToySolver.Data.IntVarToySolver.Data.FOL.FormulaToySolver.Data.BoolExprToySolver.Data.LBoolToySolver.Data.OrdRelToySolver.Data.LA ToySolver.Arith.Simplex.TextbookToySolver.Data.FOL.ArithToySolver.Data.LA.FOLToySolver.BitVector.Base#ToySolver.Arith.VirtualSubstitution#ToySolver.Arith.FourierMotzkin.Base+ToySolver.Arith.FourierMotzkin.Optimization"ToySolver.Arith.FourierMotzkin.FOLToySolver.Arith.Cooper.BaseToySolver.Arith.Cooper.FOLToySolver.Data.Polynomial7ToySolver.Data.Polynomial.Factorization.Hensel.Internal2ToySolver.Data.Polynomial.Factorization.SquareFree'ToySolver.Data.Polynomial.GroebnerBasis3ToySolver.Data.Polynomial.Factorization.FiniteField2ToySolver.Data.Polynomial.Factorization.Zassenhaus/ToySolver.Data.Polynomial.Factorization.Integer0ToySolver.Data.Polynomial.Factorization.Rational$ToySolver.Data.AlgebraicNumber.Sturm#ToySolver.Data.AlgebraicNumber.Root#ToySolver.Data.AlgebraicNumber.RealToySolver.Arith.CAD&ToySolver.Data.AlgebraicNumber.Complex/ToySolver.Data.Polynomial.Interpolation.Hermite0ToySolver.Data.Polynomial.Interpolation.LagrangeToySolver.FileFormat.BaseToySolver.Graph.BaseToySolver.Graph.MaxCutToySolver.Graph.ShortestPathToySolver.Arith.DifferenceLogicToySolver.Internal.Data.IOURefToySolver.Internal.Data.Vec%ToySolver.Internal.Data.PriorityQueue,ToySolver.Internal.Data.IndexedPriorityQueueToySolver.EUF.CongruenceClosureToySolver.EUF.EUFSolverToySolver.Internal.ProcessUtil&ToySolver.Combinatorial.HittingSet.SHD)ToySolver.Combinatorial.HittingSet.HTCBDDToySolver.Internal.TextUtilToySolver.Internal.Util1ToySolver.Data.Polynomial.Factorization.KroneckerToySolver.Data.DeltaToySolver.Converter.MIP2SMTToySolver.Arith.Simplex.SimpleToySolver.Arith.OmegaTest.BaseToySolver.Arith.OmegaTestToySolver.Arith.MIPToySolver.Arith.BoundsInference)ToySolver.Arith.Simplex.Textbook.LPSolver0ToySolver.Arith.Simplex.Textbook.LPSolver.Simple1ToySolver.Arith.Simplex.Textbook.MIPSolver.SimpleToySolver.Arith.LPUtilToySolver.Arith.ContiTraversoToySolver.QUBO ToySolver.SAT.Solver.CDCL.ConfigToySolver.SAT.TypesToySolver.SAT.TheorySolverToySolver.SAT.Store.PB5ToySolver.SAT.Solver.MessagePassing.SurveyPropagationToySolver.SAT.Solver.CDCLToySolver.EUF.FiniteModelFinder(ToySolver.Combinatorial.HittingSet.MARCOToySolver.SAT.PrinterToySolver.SAT.PBO.ContextToySolver.SAT.PBO.UnsatBasedToySolver.SAT.PBO.MSU4ToySolver.SAT.PBO.BCD2ToySolver.SAT.PBO.BCDToySolver.SAT.PBO.BCToySolver.SAT.PBOToySolver.SAT.MUS.TypesToySolver.SAT.MUS.EnumToySolver.SAT.MUSToySolver.SAT.FormulaToySolver.SAT.Encoder.TseitinToySolver.BitVector.SolverToySolver.SAT.Encoder.PBNLC(ToySolver.SAT.Encoder.PB.Internal.Sorter%ToySolver.SAT.Encoder.PB.Internal.BDD'ToySolver.SAT.Encoder.PB.Internal.AdderToySolver.SAT.Encoder.PBToySolver.SAT.Encoder.Integer4ToySolver.SAT.Encoder.Cardinality.Internal.Totalizer:ToySolver.SAT.Encoder.Cardinality.Internal.ParallelCounter0ToySolver.SAT.Encoder.Cardinality.Internal.Naive!ToySolver.SAT.Encoder.CardinalityToySolver.FileFormat.CNFToySolver.SAT.Store.CNFToySolver.SAT.Solver.SLS.UBCSAT ToySolver.SAT.Solver.SLS.ProbSAT'ToySolver.SAT.ExistentialQuantification ToySolver.QBFToySolver.FileFormatToySolver.Converter.TseitinToySolver.Converter.SAT2KSATToySolver.Converter.SAT2MaxSATToySolver.Converter.SAT2MISToySolver.Converter.QBF2IPCToySolver.Converter.PBToySolver.Converter.QUBOToySolver.Converter.PB2IPToySolver.Converter.NAESATToySolver.Converter.SAT2MaxCutToySolver.Converter.MIP2PBToySolver.Converter.GCNF2MaxSAT ToySolver.SMTToySolver.Text.SDPFile ToySolver.SDPToySolver.WangPaths_toysolver9ToySolver.Converter.PB.Internal.LargestIntersectionFinder'ToySolver.Converter.PB.Internal.ProductToySolver.Arith.FourierMotzkinToySolver.Arith.CooperToySolver.Data.Polynomial.Base.ToySolver.Data.Polynomial.Factorization.Hensel&ToySolver.Data.AlgebraicNumber.Graeffe ToySolver.SATToySolver.SAT.MUS.Enum.BaseToySolver.SAT.MUS.Enum.CAMUSToySolver.SAT.MUS.BaseToySolver.SAT.MUS.QuickXplainToySolver.SAT.MUS.InsertionToySolver.SAT.MUS.DeletionToySolver.BitVectorToySolver.ConverterToySolver.Version.TH#OptDir-0.0.4-DFbjZiVPna85b8377JvIx4 Data.OptDirOptDirOptMinOptMax"queue-0.1.2-14E6zCzOo7KJAbjlzBIZgfData.Queue.ClassesnewFifoNewFifo enqueueBatchenqueueEnqueue dequeueBatchdequeueDequeue queueSize QueueSizeversionmaximumCardinalityMatchingmaximumWeightMatchingCompletemaximumWeightMatching$maximumWeightPerfectMatchingComplete$minimumWeightPerfectMatchingCompletemaximumWeightPerfectMatchingminimumWeightPerfectMatchingminimumCardinalityEdgeCoverminimumWeightEdgeCoverminimumWeightEdgeCoverCompleteisCounterExampleOf condition_1_1condition_1_1_solve condition_1_2condition_1_2_solve condition_1_3condition_1_3_solve condition_2_1condition_2_1_solve isRedundantdeleteRedundancy occurFreq areDualDNFs checkDuality checkDualityA checkDualityBmaintainNoSupersetsminimalHittingSetsenumMinimalHittingSetsImplicateOrImplicant Implicate ImplicantOptionsoptMinimalHittingSetsoptMaximalInterestingSetsoptMinimalUninterestingSetsoptOnMaximalInterestingSetFound!optOnMinimalUninterestingSetFound SimpleProblem IsProblemuniverse isInterestingisInteresting'growshrinkmaximalInterestingSetminimalUninterestingSet.minimalUninterestingSetOrMaximalInterestingSetInterestingOrUninterestingSetUninterestingSetInterestingSet defaultGrow defaultShrinkdefaultMaximalInterestingSetdefaultMinimalUninterestingSet5defaultMinimalUninterestingSetOrMaximalInterestingSet$fIsProblemSimpleProblemm$fDefaultOptions$fEqImplicateOrImplicant$fOrdImplicateOrImplicant$fShowImplicateOrImplicant$fReadImplicateOrImplicant!$fEqInterestingOrUninterestingSet"$fOrdInterestingOrUninterestingSet#$fShowInterestingOrUninterestingSet#$fReadInterestingOrUninterestingSetrun"findPrimeImplicateOrPrimeImplicantgenerateCNFAndDNFValueWeightsolve solveGenericsolveInt solveInteger maxSubsetSum minSubsetSum subsetSumReversedTransformerIdentityTransformerComposedTransformerObjValueBackwardTransformertransformObjValueBackwardObjValueForwardTransformertransformObjValueForwardObjValueTransformerSourceObjValueTargetObjValueBackwardTransformertransformBackwardForwardTransformertransformForward TransformerSourceTarget0$fObjValueBackwardTransformerComposedTransformer/$fObjValueForwardTransformerComposedTransformer($fObjValueTransformerComposedTransformer($fBackwardTransformerComposedTransformer'$fForwardTransformerComposedTransformer $fTransformerComposedTransformer($fBackwardTransformerIdentityTransformer'$fForwardTransformerIdentityTransformer $fTransformerIdentityTransformer0$fObjValueBackwardTransformerReversedTransformer/$fObjValueForwardTransformerReversedTransformer($fObjValueTransformerReversedTransformer($fBackwardTransformerReversedTransformer'$fForwardTransformerReversedTransformer $fTransformerReversedTransformer$fEqReversedTransformer$fShowReversedTransformer$fReadReversedTransformer$fEqIdentityTransformer$fShowIdentityTransformer$fReadIdentityTransformer$fEqComposedTransformer$fShowComposedTransformer$fReadComposedTransformerObjTypeObjNone ObjMaxOne ObjMaxZero $fEqObjType $fOrdObjType $fEnumObjType$fBoundedObjType $fShowObjTypepb2lspwbo2lsppb2smpsetObjBoolean.=>..<=>. IfThenElseite ComplementnotBMonotoneBooleantruefalse.&&..||.andBorB iteBoolean$fMonotoneBooleanBool$fMonotoneBooleanFUN$fMonotoneBoolean(,)$fComplementBool$fComplementFUN$fComplement(,)$fIfThenElseBoolBool $fBooleanBool $fBooleanFUN$fIfThenElseFUNFUN $fBoolean(,)$fIfThenElse(,)(,)DNFunDNF $fBooleanDNF$fIfThenElseDNFDNF$fMonotoneBooleanDNF$fComplementDNF $fShowDNFEvalevalModel VariablesvarsVarMapVarSetVar $fVariables[]FormulaTFAtomAndOrNotImplyEquivForallExistspushNot$fBooleanFormula$fIfThenElseFormulaFormula$fMonotoneBooleanFormula$fComplementFormula$fVariablesFormula $fShowFormula $fEqFormula $fOrdFormulaBoolExprITEfoldsimplify$fEvalmBoolExprBool$fVariablesBoolExpr$fBooleanBoolExpr$fIfThenElseBoolExprBoolExpr$fMonotoneBooleanBoolExpr$fComplementBoolExpr$fHashableBoolExpr$fNFDataBoolExpr$fTraversableBoolExpr$fFoldableBoolExpr$fMonadBoolExpr$fApplicativeBoolExpr$fFunctorBoolExpr$fBooleanSimplify$fIfThenElseSimplifySimplify$fMonotoneBooleanSimplify$fComplementSimplify $fEqBoolExpr $fOrdBoolExpr$fShowBoolExpr$fReadBoolExpr$fDataBoolExprLBoollTruelFalselUndeflnotliftBool unliftBool $fShowLBool $fEqLBoolOrdRelIsOrdRel.<..<=..>..>=.ordRelIsEqRel.==../=.RelOpLtLeGeGtEqlNEqflipOpnegOpshowOpevalOp fromOrdRel$fEvalmOrdRelBool$fFunctorOrdRel$fVariablesOrdRel$fIsOrdReleOrdRel$fIsEqReleOrdRel$fComplementOrdRel $fShowOrdRel $fEqOrdRel $fOrdOrdRel $fShowRelOp $fEqRelOp $fOrdRelOp BoundsEnvExprcoeffMap fromCoeffMapterms fromTermsunitVarasConstvarconstantmapCoeffmapCoeffWithVar evalLinearlift1 applySubst applySubst1coeff lookupCoeffextract extractMaybeshowExprshowAtomapplySubstAtomapplySubst1AtomsolveForcomputeInterval$fEvalIntMapExprr$fVectorSpaceExpr$fAdditiveGroupExpr $fNFDataExpr $fReadExpr $fShowExpr$fVariablesExpr$fEqExpr $fOrdExprRowColIndexRowIndexTableau emptyTableau objRowIndexpivot lookupRowaddRow setObjFun currentValuecurrentObjValueisValidTableau isFeasible isOptimalsimplex dualSimplexphaseIprimalDualSimplextoCSV$fShowPivotResult$fEqPivotResult$fOrdPivotResult SatResultUnknownUnsatSatConst:+::*::/:evalExprevalAtom $fFunctorExpr$fFractionalExpr $fNumExpr$fIsOrdRelExprFormula$fIsEqRelExprFormula$fShowSatResult $fEqSatResult$fOrdSatResult fromFOLAtom toFOLFormula fromFOLExpr toFOLExprRelOp2OpConcatOpAndOpOrOpXOrOpCompOpAddOpMulOpUDivOpURemOpSDivOpSRemOpSModOpShlOpLShrOpAShrOp1 OpExtractOpNotOpNegEConstEVarEOp1EOp2varWidthvarIdBV BVComparisonComparisonResultbvulebvultbvugebvugtbvslebvsltbvsgebvsgtIsBVwidthfromBVbvnotbvandbvorbvxorbvnandbvnorbvxnorbvnegbvaddbvsubbvmulbvudivbvurembvsdivbvsrembvsmodbvshlbvlshrbvashrbvcomprepeat zeroExtend signExtendbv2natnat2bv fromAscBits fromDescBits toAscBits toDescBits$fIsEqRelBVBool$fShowBV $fMonoidBV $fSemigroupBV$fOrdBV$fIsBVBV$fBitsBV$fBVComparisonBV $fBitsExpr $fMonoidExpr$fSemigroupExpr $fIsBVExpr$fBVComparisonExpr$fIsEqRelExprAtom$fComplementAtom$fEqAtom $fOrdAtom $fShowAtom$fEqOp2$fOrdOp2 $fEnumOp2 $fBoundedOp2 $fShowOp2$fEqOp1$fOrdOp1 $fShowOp1$fEqVar$fOrdVar $fShowVar$fEqBV QFFormulaprojectprojectN projectCases projectCasesNsolveQFFormulaBoundsConstrIsNonnegIsPosIsZeroRatExprZtoRateqR fromLAAtomtoLAAtomconstraintsToDNF evalBoundsboundsToConstrs collectBoundsproject' projectN'solve'$fEvalIntMapConstrBool$fVariablesConstr $fShowConstr $fEqConstr $fOrdConstroptimize solveFormulaeliminateQuantifierseliminateQuantifiers'Lit Divisible.|.solveQFLIRAConj$fEvalIntMapLitBool$fComplementLit$fVariablesLit$fIsOrdRelExprBoolExpr$fIsEqRelExprBoolExpr$fEvalIntMapWitnessInteger $fMonoidLCM$fSemigroupLCM $fShowWitness $fShowLit$fEqLit$fOrdLit MonomialOrder UMonomialMonomial mindicesMapUTermTermX UPolynomial PrettyVar pPrintVar PrettyCoeff pPrintCoeffisNegativeCoeff PrintOptions pOptPrintVarpOptPrintCoeffpOptIsNegativeCoeffpOptMonomialOrderSQFreesqfreeFactorfactorContPPPPCoeffcontpp PolynomialDegreedegVarsfromTermltlclm isPrimitivederivintegralsubsttoMonictoUPolynomialOfdivModMPreduceeisensteinsCriterion prettyPrintnatdivmoddivModdividesgcdlcmexgcdpdivModpdivpmodgcd'isRootOf isSquareFreetdegtscaletmulttdividestdivtderiv tintegralmone mfromIndicesmfromIndicesMapmindicesmmultmpowmdividesmdivmderiv mintegralmlcmmgcdmcoprimelexrevlexgrlexgrevlexhenselcabook_proposition_5_10cabook_proposition_5_11 sqfreeChar0$fSQFreePolynomial$fSQFreePolynomial0StrategyNormalStrategy SugarStrategy optStrategy spolynomialbasisbasis' reduceGBasis$fEqItem $fOrdItem $fEqStrategy $fOrdStrategy$fShowStrategy$fReadStrategy$fBoundedStrategy$fEnumStrategy berlekampbasisOfBerlekampSubalgebra$fFactorPolynomial zassenhaus SturmChain sturmChainnumRoots numRoots'separate separate'halvehalve'narrownarrow'approxapprox' normalizePolyrootAddrootMul rootShift rootScale rootRecip rootSimpPoly rootNthRootlift2findPolyAReal realRoots realRootsExapproxIntervalnthRootrefineIsolatingIntervalminimalPolynomialisolatingInterval isRationalisAlgebraicIntegerheight rootIndex simpARealPoly goldenRatio$fPrettyCoeffAReal $fPrettyAReal $fDegreeAReal$fRealFracAReal $fRealAReal$fFractionalAReal $fNumAReal $fOrdAReal $fEqAReal $fShowARealCellPointIntervalNegInfRootOfPosInf findSampleevalCell evalPoint$fEqCell $fOrdCell $fShowCell $fEqPoint $fOrdPoint $fShowPointAComplex:+realPartimagPart conjugate magnitude$fFractionalAComplex $fNumAComplex $fEqAComplex$fShowAComplex interpolate ParseError FileFormatparserender parseFilereadFile writeFile$fExceptionParseError$fShowParseErrorGraphEdgeLabeledGraphgraphToUnorderedEdgesgraphFromUnorderedEdgesgraphFromUnorderedEdgesWithisIndependentSetSolutionProblembuildDSDPMaxCutGraphbuildDSDPMaxCutGraph'evalEdgeFoldPathEmpty SingletonAppendInEdgeOutEdgeEdgepathFrompathTopathCost pathEmpty pathAppend pathEdgespathEdgesBackward pathEdgesSeq pathVertexespathVertexesBackwardpathVertexesSeqpathMinpathFoldmonoid'monoidunitpairpathcost firstOutEdge lastInEdge bellmanFordbellmanFordDetectNegativeCycledijkstra floydWarshall$fApplicativeFold $fFunctorFold$fEqPath $fShowPath SimpleAtom:<=Diff:-$fEqSimpleAtom$fOrdSimpleAtom$fShowSimpleAtom$fEqDiff $fOrdDiff $fShowDiffIOURef newIOURef readIOURef writeIOURef modifyIOURef $fEqIOURefSeqQueueclear$fQueueSizeSeqQueuem$fDequeueSeqQueuema$fEnqueueSeqQueuema$fNewFifoSeqQueuemIndexUVecVec GenericVecnewgetSizereadwritemodifymodify' unsafeModify unsafeModify' unsafeRead unsafeWriteresizegrowTopushpopMaybepop unsafePoppeek unsafePeekgetElemsclonegetArray getCapacityresizeCapacity$fEqGenericVec PriorityQueuenewPriorityQueuenewPriorityQueueByrebuild getHeapArray getHeapVecresizeHeapCapacity$fQueueSizePriorityQueueIO$fDequeuePriorityQueueIOa$fEnqueuePriorityQueueIOa$fNewFifoPriorityQueueIOmemberupdateresizeTableCapacity$fDequeuePriorityQueueIOInt$fEnqueuePriorityQueueIOInt mUniverse mFunctions mUnspecified mEquivClasses EntityTupleEntityVAFun withVArgsSolverConstrIDFlatTermFTConstFTAppTAppFSym newSolvernewFSymnewFunnewConstmergemerge' mergeFlatTermmergeFlatTerm' areCongruentareCongruentFlatTermexplainexplainFlatTerm explainConstgetModelevalAppushBacktrackPointpopBacktrackPointtermToFlatTermflatTermToFSymfsymToFlatTerm termToFSym fsymToTerm$fSemigroupClass $fVAFunFUN $fVAFunTerm$fShowTrailItem $fShowModel $fShowClass$fEqEqn1 $fOrdEqn1 $fShowEqn1$fEqEqn0 $fOrdEqn0 $fShowEqn0 $fOrdFlatTerm $fEqFlatTerm$fShowFlatTerm $fOrdTerm$fEqTerm $fShowTerm assertEqual assertEqual'assertNotEqualassertNotEqual'checkareEqualrunProcessWithOutputCallbackFailure optSHDCommand optSHDArgs optOnGetLineoptOnGetErrorLine$fExceptionFailure $fShowFailureMethod MethodToda MethodKnuthoptHTCBDDCommand optMethod$fDefaultMethod $fEqMethod $fOrdMethod $fShowMethodreadIntreadUnsignedInteger combineMaybe isIntegerfracPart showRationalshowRationalAsFiniteDecimal revSequencerevMapMrevForMsetEncodingChar8DeltadeltafromReal deltaPartfloor'ceiling' isInteger'$fRealFracDelta $fRealDelta$fFractionalDelta $fNumDelta$fVectorSpaceDelta$fAdditiveGroupDelta $fOrdDelta $fEqDelta $fShowDelta YicesVersionYices1Yices2LanguageSMTLIB2YICES optLanguage optSetLogic optCheckSAToptProduceModel optOptimizemip2smt $fShowOptions $fEqOptions $fOrdOptions$fShowLanguage $fEqLanguage $fOrdLanguage$fShowYicesVersion$fEqYicesVersion$fOrdYicesVersion$fEnumYicesVersion$fBoundedYicesVersionRawModelobjLimit OptResultOptimum UnboundedObjLimit PivotStrategyPivotStrategyBlandRulePivotStrategyLargestCoefficientConfigconfigPivotStrategyconfigEnableBoundTighteningBound ConstrIDSet SolverValuetoValue showValue GenericSolverGenericSolverM cloneSolver boundValueboundExplanation setConfig getConfig modifyConfigshowPivotStrategyparsePivotStrategysetPivotStrategynewVar assertAtom assertAtom' assertAtomEx assertAtomEx' simplifyAtom assertLower assertLower' assertUpper assertUpper'getObj setOptDir getOptDirnVarsisBasicVariableisNonBasicVariable getRawModel getObjValuegetLBgetUB getTableaugetValuegetRowgetColgetCoeff setLogger clearLoggerenableTimeRecordingdisableTimeRecordingdump$fDefaultConfig$fSolverValueDelta$fSolverValueRatio$fShowOptResult $fEqOptResult$fOrdOptResult $fShowConfig $fEqConfig $fOrdConfig$fEqPivotStrategy$fOrdPivotStrategy$fEnumPivotStrategy$fBoundedPivotStrategy$fShowPivotStrategy$fReadPivotStrategy optCheckRealcheckRealNoCheck checkRealByFMzmodcheckRealByCAD checkRealByVScheckRealBySimplexgetBestSolution getBestModel getBestValuesetShowRational setNThreadsetOnUpdateBestSolution inferBoundsLP emptySolver putTableaudefine#addConstraintWithArtificialVariable addConstrainttableautwoPhaseSimplexcollectNonnegVarsOptUnsatmaximizeminimize$fOrdErr$fEqErr $fShowErr $fEnumErr $fBoundedErrtoStandardFormtoStandardForm' IsingModel isingNumVarsisingInteractionisingExternalMagneticField quboNumVars quboMatrixevalIsingModel$fFileFormatProblem$fFunctorProblem$fEqIsingModel$fShowIsingModel $fEqProblem $fShowProblem PBHandlerTypePBHandlerTypeCounterPBHandlerTypePuebloBranchingStrategyBranchingVSIDS BranchingERWA BranchingLRBLearningStrategyLearningClauseLearningHybridRestartStrategyMiniSATRestarts ArminRestarts LubyRestartsconfigRestartStrategyconfigRestartFirstconfigRestartIncconfigLearningStrategyconfigLearntSizeFirstconfigLearntSizeInc configCCMinconfigBranchingStrategyconfigERWAStepSizeFirstconfigERWAStepSizeDecconfigERWAStepSizeMinconfigEMADecayconfigEnablePhaseSaving%configEnableForwardSubsumptionRemoval&configEnableBackwardSubsumptionRemovalconfigRandomFreqconfigPBHandlerTypeconfigEnablePBSplitClausePartconfigCheckModelconfigVarDecayconfigConstrDecayshowRestartStrategyparseRestartStrategyshowLearningStrategyparseLearningStrategyshowBranchingStrategyparseBranchingStrategyshowPBHandlerTypeparsePBHandlerType$fDefaultRestartStrategy$fDefaultLearningStrategy$fDefaultBranchingStrategy$fDefaultPBHandlerType$fShowPBHandlerType$fEqPBHandlerType$fOrdPBHandlerType$fEnumPBHandlerType$fBoundedPBHandlerType$fShowBranchingStrategy$fEqBranchingStrategy$fOrdBranchingStrategy$fEnumBranchingStrategy$fBoundedBranchingStrategy$fShowLearningStrategy$fEqLearningStrategy$fOrdLearningStrategy$fEnumLearningStrategy$fBoundedLearningStrategy$fShowRestartStrategy$fEqRestartStrategy$fOrdRestartStrategy$fEnumRestartStrategy$fBoundedRestartStrategy AddXORClause addXORClauseaddXORClauseSoftAddPBNLaddPBNLAtLeast addPBNLAtMostaddPBNLExactlyaddPBNLAtLeastSoftaddPBNLAtMostSoftaddPBNLExactlySoftAddPBLin addPBAtLeast addPBAtMost addPBExactlyaddPBAtLeastSoftaddPBAtMostSoftaddPBExactlySoftAddCardinality addAtLeast addAtMost addExactly AddClause addClauseNewVarnewVarsnewVars_ XORClausePBSumPBTerm PBLinExactly PBLinAtLeastPBLinSum PBLinTermExactlyAtLeast PackedClause PackedLit PackedVarClauseLitMapLitSetIModelevalVarvalidVar restrictModellitUndefvalidLitliterallitNotlitVar litPolarityevalLitnormalizeClauseinstantiateClause clauseSubsume evalClauseclauseToPBLinAtLeastpackLit unpackLit packClause unpackClausenormalizeAtLeastinstantiateAtLeast evalAtLeast evalExactlynormalizePBLinSumnormalizePBLinAtLeastnormalizePBLinExactlyinstantiatePBLinAtLeastinstantiatePBLinExactly cutResolvecardinalityReductionnegatePBLinAtLeast evalPBLinSumevalPBLinAtLeastevalPBLinExactlypbLinLowerBoundpbLinUpperBound pbLinSubsume evalPBSumevalPBConstraint evalPBFormula pbLowerBound pbUpperBoundremoveNegationFromPBSumnormalizeXORClauseinstantiateXORClause evalXORClause $fIModelFUN $fIModelArray$fIModelUArray TheorySolver thAssertLitthCheck thExplainthPushBacktrackPointthPopBacktrackPointthConstructModel emptyTheoryPBStore newPBStore getPBFormula$fAddPBNLmPBStore$fAddPBLinmPBStore$fAddCardinalitymPBStore$fAddClausemPBStore$fNewVarmPBStore deleteSolverinitializeRandominitializeRandomDirichletgetNVarsgetNConstraints getTolerance setTolerancegetIterationLimitsetIterationLimit getNThreads setNThreads propagate getVarProbfixLitunfixLit printInfoCanceledBudgetExceeded getVarFixed getLitFixedgetFixedLiteralsvarDecayActivityvarBumpActivitygetNLearntConstraintsnewSolverWithConfigresizeVarCapacity solveWithcancelgetFailedAssumptionsgetAssumptionsImplicationssetVarPolarity setRandomGen getRandomGen setConfBudgetsetTerminateCallbackclearTerminateCallbacksetLearnCallbackclearLearnCallback setTheory$fExceptionBudgetExceeded$fExceptionCanceled$fHashableClauseHandler$fEqClauseHandler$fHashableAtLeastHandler$fEqAtLeastHandler$fHashablePBHandlerCounter$fEqPBHandlerCounter$fHashablePBHandlerPueblo$fEqPBHandlerPueblo$fHashableXORClauseHandler$fEqXORClauseHandler$fHashableTheoryHandler$fHashableSomeConstraintHandler$fAddXORClauseIOSolver$fAddCardinalityIOSolver$fAddClauseIOSolver$fNewVarIOSolver $fConstraintHandlerTheoryHandler#$fConstraintHandlerXORClauseHandler"$fConstraintHandlerPBHandlerPueblo#$fConstraintHandlerPBHandlerCounter!$fConstraintHandlerAtLeastHandler $fConstraintHandlerClauseHandler($fConstraintHandlerSomeConstraintHandler$fAddPBLinIOSolver$fEqSomeConstraintHandler$fEqTheoryHandler$fShowCanceled$fShowBudgetExceeded $fEqLitArray mRelations GenFormulaPAppTmAppTmVarGenLitPosNegPSym toSkolemNF showEntity showModel evalFormulaevalTerm evalClauses evalClausesU findModel$fVars[] $fVarsGenLit$fComplementGenLit $fVarsTerm $fVarsAtom$fVarsGenFormula$fBooleanGenFormula $fIfThenElseGenFormulaGenFormula$fComplementGenFormula$fMonotoneBooleanGenFormula$fVarsSGenTerm$fVarsSGenAtom$fShowSGenAtom $fEqSGenAtom $fOrdSGenAtom$fShowSGenTerm $fEqSGenTerm $fOrdSGenTerm$fShowGenFormula$fEqGenFormula$fOrdGenFormula $fShowGenLit $fEqGenLit $fOrdGenLit satPrintModelmaxsatPrintModelmaxsatPrintModelCompact pbPrintModel musPrintSol Normalized SimpleContextContextgetObjectiveFunctionevalObjectiveFunctionisUnsat getLowerBoundsetUnsat addSolution addLowerBound logMessage isOptimum isFinishedgetSearchUpperBound setFinishednewSimpleContextnewSimpleContext2setOnUpdateLowerBound normalize$fContextSimpleContext$fContextNormalizedoptEnableHardeningoptEnableBiasedSearchoptSolvingNormalFirst Optimizer LinearSearch BinarySearchAdaptiveSearch UnsatBasedMSU4BCBCDBCD2 showMethod parseMethod newOptimizer newOptimizer2 getMethod setMethod!defaultEnableObjFunVarsHeuristicsgetEnableObjFunVarsHeuristicssetEnableObjFunVarsHeuristicsdefaultTrialLimitConfgetTrialLimitConfsetTrialLimitConf $fEnumMethod$fBoundedMethodMSSSSMCSCSMUSUS optLogger optShowLit optEvalConstr optOnMCSFound optOnMUSFound optKnownMCSes optKnownMUSes optKnownCSesCAMUSDAAMARCOGurvichKhachiyan1999allMUSAssumptions$fIsProblemProblemIO optUpdateBestDeletion Insertion QuickXplainfindMUSAssumptions$fUninternableFormula$fHashableDescription$fInternedFormula$fHashableFormula $fReadFormula$fEqDescription$fGenericDescriptionPolaritypolarityPosOccurspolarityNegOccursEncoder newEncodernewEncoderWithPBLinsetUsePB addFormula encodeFormulaencodeFormulaWithPolarity encodeConjencodeConjWithPolarity encodeDisjencodeDisjWithPolarity encodeITEencodeITEWithPolarity encodeXORencodeXORWithPolarity encodeFASumencodeFASumWithPolarity encodeFACarryencodeFACarryWithPolaritygetDefinitionsnegatePolarity polarityPos polarityNeg polarityBoth polarityNone$fAddClausemEncoder$fNewVarmEncoder $fEqPolarity$fShowPolaritynewVar'$fEqNormalizedAtom$fOrdNormalizedAtom$fShowNormalizedAtom$fEqNormalizedRel$fOrdNormalizedRel$fEnumNormalizedRel$fBoundedNormalizedRel$fShowNormalizedRelgetTseitinEncoderlinearizePBSumlinearizePBSumWithPolarity$fAddPBNLmEncoder$fAddPBLinmEncoder$fAddCardinalitymEncoderCostUNumberUDigitBasegenSorterCircuit sortVectorisRepresentableencodedecode optimizeBaseaddPBLinAtLeastSorterencodePBLinAtLeastSorteraddPBLinAtLeastBDDencodePBLinAtLeastBDDaddPBLinAtLeastAdderencodePBLinAtLeastAdderBDDAdderSorterHybridnewEncoderWithStrategyencodePBLinAtLeast$fDefaultStrategy linearizeaddConstraintSoft DefinitionsevalDefinitionsaddCardinality encodeAtLeastencodeCardinality encodeSumaddAtLeastParallelCounterencodeAtLeastParallelCounteraddAtLeastNaiveencodeAtLeastNaiveTotalizerDefinitionsNaiveSequentialCounterParallelCounter TotalizergetTotalizerDefinitionsevalTotalizerDefinitionsQuantSet QuantifierEAQDimacsqdimacsNumVarsqdimacsNumClauses qdimacsPrefix qdimacsMatrixGClause GroupIndexGCNF gcnfNumVarsgcnfNumClausesgcnfLastGroupIndex gcnfClausesSomeWCNF SomeWCNFOld SomeWCNFNewNewWCNF nwcnfClausesWeightedClauseWCNF wcnfNumVarswcnfNumClauses wcnfTopCost wcnfClausesCNF cnfNumVars cnfNumClauses cnfClauses$fFileFormatCNF$fFileFormatSomeWCNF$fFileFormatNewWCNF$fFileFormatWCNF$fFileFormatGCNF$fFileFormatQDimacs $fEqQDimacs $fOrdQDimacs $fShowQDimacs $fReadQDimacs$fEqQuantifier$fOrdQuantifier$fShowQuantifier$fReadQuantifier$fEnumQuantifier$fBoundedQuantifier$fEqGCNF $fOrdGCNF $fShowGCNF $fReadGCNF $fEqSomeWCNF $fOrdSomeWCNF$fShowSomeWCNF$fReadSomeWCNF $fEqNewWCNF $fOrdNewWCNF $fShowNewWCNF $fReadNewWCNF$fEqWCNF $fOrdWCNF $fShowWCNF $fReadWCNF$fEqCNF$fOrdCNF $fShowCNF $fReadCNFCNFStore newCNFStore getCNFFormula$fAddClausemCNFStore$fNewVarmCNFStore optCommand optTempDir optProblemoptProblemFile optVarInitubcsatBestFeasible ubcsatBest ubcsatMany StatisticsstatTotalCPUTime statFlipsstatFlipsPerSecond CallbackscbGenerateInitialSolutioncbOnUpdateBestSolution optTarget optMaxTries optMaxFlipsoptPickClauseWeightednewSolverWeighted getNumVars getStatisticsgenerateUniformRandomSolutionprobsatwalksat$fDefaultStatistics$fDefaultCallbacks$fExceptionFinished$fShowFinished$fEqStatistics$fShowStatisticsshortestImplicantsE negateCNFMatrixPrefixnormalizePrefixquantifyFreeVariables litToMatrix solveNaive solveCEGARsolveCEGARIncrementalsolveQE solveQE_CNF$fShowCNFOrDNFWithFastParserunWithFastParser$fFileFormatSoftFormula$fFileFormatFormula$fFileFormatWithFastParser$fFileFormatWithFastParser0 TseitinInfo $fBackwardTransformerTseitinInfo$fForwardTransformerTseitinInfo$fTransformerTseitinInfo$fEqTseitinInfo$fShowTseitinInfo$fReadTseitinInfo SAT2KSATInfosat2ksat!$fBackwardTransformerSAT2KSATInfo $fForwardTransformerSAT2KSATInfo$fTransformerSAT2KSATInfo$fEqSAT2KSATInfo$fShowSAT2KSATInfo$fReadSAT2KSATInfoSATToSimpleMaxCutInfoSimpleMaxSAT2ToSimpleMaxCutInfoSimplifyMaxSAT2Info SimpleMaxSAT2MaxSAT2ToSimpleMaxCutInfoSAT3ToMaxSAT2InfoSATToMaxSAT2Info satToMaxSAT2 sat3ToMaxSAT2maxSAT2ToSimpleMaxCutsimplifyMaxSAT2simpleMaxSAT2ToSimpleMaxCutsatToSimpleMaxCut&$fBackwardTransformerSAT3ToMaxSAT2Info%$fForwardTransformerSAT3ToMaxSAT2Info$fTransformerSAT3ToMaxSAT2Info($fBackwardTransformerSimplifyMaxSAT2Info'$fForwardTransformerSimplifyMaxSAT2Info $fTransformerSimplifyMaxSAT2Info4$fBackwardTransformerSimpleMaxSAT2ToSimpleMaxCutInfo3$fForwardTransformerSimpleMaxSAT2ToSimpleMaxCutInfo,$fTransformerSimpleMaxSAT2ToSimpleMaxCutInfo#$fEqSimpleMaxSAT2ToSimpleMaxCutInfo%$fShowSimpleMaxSAT2ToSimpleMaxCutInfo%$fReadSimpleMaxSAT2ToSimpleMaxCutInfo$fEqSimplifyMaxSAT2Info$fShowSimplifyMaxSAT2Info$fReadSimplifyMaxSAT2Info$fEqSAT3ToMaxSAT2Info$fShowSAT3ToMaxSAT2Info$fReadSAT3ToMaxSAT2Info IS2SATInfo SAT3ToISInfo SAT2ISInfosatToISsat3ToISis2pb mis2MaxSAT!$fBackwardTransformerSAT3ToISInfo $fForwardTransformerSAT3ToISInfo$fTransformerSAT3ToISInfo'$fObjValueBackwardTransformerIS2SATInfo&$fObjValueForwardTransformerIS2SATInfo$fObjValueTransformerIS2SATInfo$fBackwardTransformerIS2SATInfo$fForwardTransformerIS2SATInfo$fTransformerIS2SATInfo$fEqIS2SATInfo$fShowIS2SATInfo$fReadIS2SATInfo$fEqSAT3ToISInfo$fShowSAT3ToISInfoqbf2ipcWBO2MaxSATInfoMaxSAT2WBOInfo PB2SATInfo SAT2PBInfo WBO2PBInfo PB2WBOInfo PB2QUBOInfo'PBUnconstrainInfoPBInequalitiesToEqualitiesInfoPBQuadratizeInfoPBLinearizeInfo normalizePB normalizeWBO linearizePB linearizeWBO quadratizePB quadratizePB'inequalitiesToEqualitiesPB unconstrainPBpb2qubo'pb2wbowbo2pbaddWBOsat2pbpb2sat maxsat2wbo wbo2maxsat-$fObjValueBackwardTransformerPBQuadratizeInfo,$fObjValueForwardTransformerPBQuadratizeInfo%$fObjValueTransformerPBQuadratizeInfo%$fBackwardTransformerPBQuadratizeInfo$$fForwardTransformerPBQuadratizeInfo$fTransformerPBQuadratizeInfo;$fObjValueBackwardTransformerPBInequalitiesToEqualitiesInfo:$fObjValueForwardTransformerPBInequalitiesToEqualitiesInfo3$fObjValueTransformerPBInequalitiesToEqualitiesInfo3$fBackwardTransformerPBInequalitiesToEqualitiesInfo2$fForwardTransformerPBInequalitiesToEqualitiesInfo+$fTransformerPBInequalitiesToEqualitiesInfo.$fObjValueBackwardTransformerPBUnconstrainInfo-$fObjValueForwardTransformerPBUnconstrainInfo&$fObjValueTransformerPBUnconstrainInfo&$fBackwardTransformerPBUnconstrainInfo%$fForwardTransformerPBUnconstrainInfo$fTransformerPBUnconstrainInfo$fBackwardTransformerWBO2PBInfo$fForwardTransformerWBO2PBInfo$fTransformerWBO2PBInfo$fEqWBO2PBInfo$fShowWBO2PBInfo$fEqPBUnconstrainInfo$fShowPBUnconstrainInfo"$fEqPBInequalitiesToEqualitiesInfo$$fShowPBInequalitiesToEqualitiesInfo$fEqPBQuadratizeInfo$fShowPBQuadratizeInfoIsing2QUBOInfoQUBO2IsingInfo PB2QUBOInfo PBAsQUBOInfo QUBO2PBInfoqubo2pbpbAsQUBOpb2qubo qubo2ising ising2qubo($fObjValueBackwardTransformerQUBO2PBInfo'$fObjValueForwardTransformerQUBO2PBInfo $fObjValueTransformerQUBO2PBInfo $fBackwardTransformerQUBO2PBInfo$fForwardTransformerQUBO2PBInfo$fTransformerQUBO2PBInfo)$fObjValueBackwardTransformerPBAsQUBOInfo($fObjValueForwardTransformerPBAsQUBOInfo!$fObjValueTransformerPBAsQUBOInfo!$fBackwardTransformerPBAsQUBOInfo $fForwardTransformerPBAsQUBOInfo$fTransformerPBAsQUBOInfo+$fObjValueBackwardTransformerQUBO2IsingInfo*$fObjValueForwardTransformerQUBO2IsingInfo#$fObjValueTransformerQUBO2IsingInfo#$fBackwardTransformerQUBO2IsingInfo"$fForwardTransformerQUBO2IsingInfo$fTransformerQUBO2IsingInfo+$fObjValueBackwardTransformerIsing2QUBOInfo*$fObjValueForwardTransformerIsing2QUBOInfo#$fObjValueTransformerIsing2QUBOInfo#$fBackwardTransformerIsing2QUBOInfo"$fForwardTransformerIsing2QUBOInfo$fTransformerIsing2QUBOInfo$fEqIsing2QUBOInfo$fShowIsing2QUBOInfo$fReadIsing2QUBOInfo$fEqQUBO2IsingInfo$fShowQUBO2IsingInfo$fReadQUBO2IsingInfo$fEqPBAsQUBOInfo$fShowPBAsQUBOInfo$fReadPBAsQUBOInfo$fEqQUBO2PBInfo$fShowQUBO2PBInfo$fReadQUBO2PBInfo MaxSAT2IPInfo SAT2IPInfo WBO2IPInfo PB2IPInfopb2ipwbo2ipsat2ip maxsat2ip$fBackwardTransformerPB2IPInfo$fForwardTransformerPB2IPInfo$fTransformerPB2IPInfo$fBackwardTransformerWBO2IPInfo$fForwardTransformerWBO2IPInfo$fTransformerWBO2IPInfo$fEqWBO2IPInfo$fShowWBO2IPInfo $fEqPB2IPInfo$fShowPB2IPInfo$fReadPB2IPInfoNAE3SAT2Max2SATInfoNAESAT2Max2SATInfoNAESAT2NAEKSATInfoNAESAT2SATInfoSAT2NAESATInfo NAEClauseNAESAT evalNAESAT evalNAEClause sat2naesat naesat2satnaesat2naeksatnaesat2max2satnae3sat2max2sat#$fBackwardTransformerSAT2NAESATInfo"$fForwardTransformerSAT2NAESATInfo$fTransformerSAT2NAESATInfo'$fBackwardTransformerNAESAT2NAEKSATInfo&$fForwardTransformerNAESAT2NAEKSATInfo$fTransformerNAESAT2NAEKSATInfo$fEqNAESAT2NAEKSATInfo$fShowNAESAT2NAEKSATInfo$fReadNAESAT2NAEKSATInfo$fEqSAT2NAESATInfo$fShowSAT2NAESATInfo$fReadSAT2NAESATInfoNAE3SAT2MaxCutInfoNAESAT2MaxCutInfoSAT2MaxCutInfo sat2maxcut naesat2maxcutnae3sat2maxcut'$fBackwardTransformerNAE3SAT2MaxCutInfo&$fForwardTransformerNAE3SAT2MaxCutInfo$fTransformerNAE3SAT2MaxCutInfo$fEqNAE3SAT2MaxCutInfo$fShowNAE3SAT2MaxCutInfo$fReadNAE3SAT2MaxCutInfo MIP2PBInfomip2pbaddMIP'$fObjValueBackwardTransformerMIP2PBInfo&$fObjValueForwardTransformerMIP2PBInfo$fObjValueTransformerMIP2PBInfo$fBackwardTransformerMIP2PBInfo$fTransformerMIP2PBInfo$fEqMIP2PBInfo$fShowMIP2PBInfoGCNF2MaxSATInfo gcnf2maxsat$$fBackwardTransformerGCNF2MaxSATInfo$fTransformerGCNF2MaxSATInfo$fEqGCNF2MaxSATInfo$fShowGCNF2MaxSATInfo$fReadGCNF2MaxSATInfoFunDef ValRational ValBitVecValBoolValUninterpreted VASortFun ExceptionError UnsupportedEApEValueFunTypeSortSSymSSymBoolSSymReal SSymBitVecSSymUninterpreted IndexNumeral IndexSymbol ssymAritysBoolsRealsBitVec declareSSym declareSort declareFSym declareFun declareConstassert assertNamedgetGlobalDeclarationssetGlobalDeclarationsexprSortcheckSATcheckSATAssumingvalSortevalFSymmodelGetAssertionsgetUnsatAssumptions getUnsatCore$fIsStringFSym$fExceptionException$fVASortFunFUN$fVASortFunSort$fIsOrdRelExprExpr$fIsEqRelExprExpr $fBooleanExpr$fIfThenElseExprExpr$fComplementExpr$fMonotoneBooleanExpr $fVAFunExpr $fEqFunDef $fShowFunDef $fEqValue $fOrdValue $fShowValue$fEqBVAtomNormalized$fOrdBVAtomNormalized$fEqTheorySolverID$fOrdTheorySolverID$fEnumTheorySolverID$fBoundedTheorySolverID$fShowException $fShowFDef $fShowSort$fEqSort $fOrdSort $fShowSSym$fEqSSym $fOrdSSym $fShowFSym$fEqFSym $fOrdFSym $fShowIndex $fEqIndex $fOrdIndex DenseBlock DenseMatrix primalVector primalMatrix dualMatrixBlock blockStructcostsmatricesmDimnBlock blockElemevalPrimalObjectiveevalDualObjective denseBlock denseMatrix diagBlock readDataFile writeDataFile parseDataparseSparseData renderDatarenderSparseData$fShowSolution $fOrdSolution $fEqSolution $fOrdProblem DualizeInfodualize $fBackwardTransformerDualizeInfo$fForwardTransformerDualizeInfo$fTransformerDualizeInfo$fEqDualizeInfo$fShowDualizeInfo$fReadDualizeInfopackageVersionsgitHashcompilationTimeSequentisValidgetDataFileName getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirAugmentingPathAlternatingPathmaximumCardinalityMatching'$maximumWeightMaximumMatchingCompletexhicontainers-0.6.5.1Data.IntSet.InternalsizeData.Set.InternalfindLargestIntersectionSetTableemptyfromListfromSettoSettoListinsertdecomposeToBinaryProducts projectCases'base GHC.MaybeNothing*data-interval-2.1.1-8YZ4etkMYVRAojz0KR6xIo Data.Interval lowerBound upperBound1data-default-class-0.1.2.0-CQYBH38PFES4dDyailJWvdData.Default.Classdefnorm2sqboundsNthRootgraeffesMethodproperFraction'GHC.RealproperFraction truncate'truncateround'roundceilingfloorGHC.Numabssignumrootsbytestring-0.11.3.1 Data.ByteString.Builder.InternalBuilderPairVertexData.Sequence.InternalSeqghc-prim GHC.Classes<OrdnewPriorityQueueBy#EqnEqn1Eqn0process-1.6.13.2System.Processproc Text.Read ghc-bignumGHC.Num.IntegerInteger:~>~> increaseNB decreaseNB$$tightenToInteger GHC.TypesTrueFalse getNEdges^*constrPropagateSomeConstraintHandlerconstrReasonOf svVarWatchessvVarEMAScaledsvVarWhenAssignedsvVarParticipated svVarReasoned svLitWatchessvVarInc svConstrIncsvERWAStepSizewatchLitwatchVar getNAssignedpbSplitClausePart backtrackToreasonOfSGenAtomSGenTermrefineLBrefineUBenumMCSAssumptionsallMCSAssumptionsdualRailEncodinggitHashQcompilationTimeQ