7̵      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b cdefghijklmnopqrstuvwxyz{|}~A:     , !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIqJKLMNOPQRSTUVWXYZ[\]^_`abcde     !'*-036789:;<=>?@ABCDEFGHI!'*-036789:;<=>?@ABCDEFGHIfghijklmnopqrstuvwxyzfghijklmnopqrstuvwxyzfghijklmlmnopopqrstuvwxyz{|}~{~{~3JKLMNOPQRSTUVWXYZ[\]^_`abcde     !'*-036789:;<=>?@ABCDEFGHI3JKLMNOPQRSTUVWXYZ[\]^_`abcde     !'*-036789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde     !'*-036789:;<=>?@ABCDEFGHIfghijklmnopqrstuvwxyzshift focus to left shift focus to right                     f !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~f.-,+*)('&%$#"!  !"#$%&'()*+,-./76543210012345678/gfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:99:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghonmlkjiijklmnopqqrststuvwvwx|{zyyz{|}~ + !"#      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu^ !"#$%&'()*+,12=>@AvwxBEFGHIJKLMNOPQYZy[\z{]|}~^klnuG !"#$%&'( !"#$%&'()*+,+,122=>@ABEFGHIJKLMNOPQYZ[\]^klnu$%  &'()*+,-./012345   6      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~           %$#"!  !"#$%& 10/.-,+*)(''()*+,-./012654334567EDCBA@?>=<;:9889:;<=>?@ABCDEFIHGGHIJYXWVUTSRQPONMLKKLMNOPQRSTUVWXYZ[\]^_[\]^_`abcdefgabcdefghijklmnijklmnorqppqrsuttuv}|{zyxwwxyz{|}~7 89    :Type of mixin functions. Mixin composition. %Turn a mixin into a closed function. Mixin identity function.  Identity for mixin composition:  mixinId <@> f == f  f <@> mixinId == f Mixin lift function  mixin . mixinLift = id  $produce a fresh constraint variable the constraints  the labels +add a constraint to the current state, and 4 return whether the resulting state is consistent run a computation -mark the current state, and return its label Rmark the current state as discontinued, yet return a label that is usable n times !go to the state with given label WriterT decoration of a solver 2 useful for producing statistics during solving    -Generalization of the search tree data type, * allowing monad transformer decoration.  !"#$%&'()*+,-./01234567show 8 !"#$%&'()*+,-./012345678!'&%$#"(*+,-./01234578) 6  !'&%$#""#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH9:;<=>?@ABCDEFGHFGH9:;<=>?@ABCDE9:; <=>?@ABCDE<=>?@ABCDEFGH3IJKLMNOPQRSTUVWXYZ[\]^_`abcdefgIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgfgMNORSbcdeIJKL`a^_PQVWTUXYZ[\]IJJKLLMNOOPQQRSSTUUVWWXYYZ[[\]]^__`aabcdecdefghijklmnopqrstuvwxyzhijklmnopqrstuvwxyzhijklmnopqstvuwxzyrh ijklmnopqijklmnopqrstuvwxyz;1Show instance | -- {|}Data types | --      Eq instance | -- 1ExprKey: Provides ordering over expressions | -- *{|}     ){|}          <%walk through expressions Helper functions |-- ETransform expressions over one type to expressions over another | --  !"#$%VCheck whether an expression is possibly referring to terms with a given property | -- &'()*+,-.?Count how many references to terms an expression contains | -- /01Simplify expressions | -- 234?Turn expressions over expressions into simply expressions | -- 56789:;{|} !"#$%&'()*123456;<= !"#$%&'()*123456;=g>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~WCDEFGHIJKLMNOPQRSTUVYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~WCDEFGHIDEFGHIJKLMKLMNOPQROPQRSTUTUVYZ[\]^^_``abbc#~}|{zyxwvutsrqponmlkjihgfeddefghijklmnopqrstuvwxyz{|}~*~convertion from/to expression types | -- integer operators/functions | -- list operators/functions | -- boolean operators/functions | -- relational operators/functions | -- Built-in class instances | -- 1{|}~1}|{~(~ 5""">4base state for the DCMonad !definition of a decomposer monad the state for the DCMonad base instance of DecompData Ltransform an expression into a graph, taking and returning an updated state Feasier version of decomposeEx that does not require or return a state Qdecomposition states can be stacked, this function tests whether a property hold # for a state or any of its parents %Decomposition of special values | -- &Real decomposers for expressions | --  DA solver needs to be an instance of this FDSolver class in order to ! create an FDInstance around it. fdefinition of FDInstance, a Solver wrapper that adds power to post boolean expressions as constraints Aa label for an FDInstance; must store the FDState plus the Solver's internal state >state kept by FDInstance, in addition to the underlying solver's internal state 0expression representing unprocessed constraints model being processed now Hprivate data for the decomposer (kept to optimize constraints which aren't added in one go) %when adding constraints, the EGEdgeId'$s occurring in the decomposed model   'expressions that need to be decomposed    variable counter $already introduced integer variablesterms constants/ expressions needed sets of possible types /which variables are being decomposed right now *which nodes are unified with which others $already introduced boolean variablesterms constants/ expressions 'already introduced collection variablesterms constants/ expressions db of specifiers solver is failed? level of nesting levels of dummyness  !"#    $ %&'()*+,-./initial FDState state 01?run the second argument as long as the first one produces true 23$helper function to combine two Maybe's \lift a monad action for the underlying solver to a monad action for an FDInstance around it 456789:;<=>?@ABCDEFGHIJKLSmark all new edges(=constraints) of a model given in graph-form as to-be-processed MNOPQadd an int term Radd a bool term Sadd a col term TUVWXYZ[\]^_` !a"#$b%c&d'(e)*+,0{|}~      !"#$%&'()*+,-./0c)(%&'!"# +*,.-/$     0_      !"#$%&'()*+,0 !f12ghijklmn3456789:;<=>?@ABCDEFGJ6-123456789:;<=>?@ABCDEFGHIJ63461278:9GHI5;=>ABC?@DJ<EF-123456789:;<=>?@ABCDEFGJ 3opqrstuvwxyzK{|L}~MNOPQRSTUVWXYKLMNOPQRSTUVWXYLXWKMVUTSRQPONYKLM VUTSRQPONNOPQRSTUVWXY? Z[\]^_`ab Z[\]^_`ab Z[\]^_`ab Z[\]^_`abcdefghijklmnopqrstuvwxyz{|}~lcdefghijklmnopqrstuvwxyz{|}~ldefghijklmnop}~{|uvstqryzwxckcd efghijklmnopefghijklmnopqrrsttuvvwxxyzz{||} ~~@$##  A[      !"#$%&'()*+,-./0123456789:;G-f123456789:;<=>?@ABCDEFGHIJ  <BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcVdefghijklmnopqrstuvwxyz{|}~;;;v                                                    ! " # $ % & ' ( ) * + , - - . / 0 1 2 2 3 4 5 6 7 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l v m n o p q r s t u v w x y z { | } ~                !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkjljmjnjojpjpjqjrjrjsjtjtjujvjvjwjxjxjyjzjzj{j|j|j}j~j~BB     eeW !"#$%&'()*+,-./012345678U9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxxyz{||}~n_ c             } ~                            !!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""############################################### # # # # #####################~# #!#"#####$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U# #V#W#X#Y#Z#[#\#]#^#_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o$p$p$q$r$s$t$u$v$w$x$y$z${$|$}$~$$$$$$$%%%%%%%%%%%%%%%%&&&V&V&&&&&&&&&b&&&&&&&&&&&&&&&&&&&&&&&&&&''''''(((()))***+,,,,---..//0001122233445555555555556666666666666666666666666666666 6 6 6 6 66666666666666666666 6!6"6#6$6%6&6'6(6)6*6+6,6-6.6/606162636465666768696:6;6<6<6=6>6?6@6A6A6B6C6D6E6F6G6H6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6\6]6^6_6`6a6b6c6d6e6f6g6g6h6i6j6k6l6m6m6n6o6p6q6r6s6t6u6v6w6x6y6z6z6{6|6}7~77y7{7778899999999999999999999D999999:: :::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;F;0;;g;h;i;j;l;k;;;P;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<'<<<<<<<<<<<<==== = = = = = = ======================= =!="=#=$=%=&='=(=)=*=+=,=-=.=/=0=1=2=3=4=5=6=7=8=9=:=;=<===>=?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`=a=b=c=d=e=fgh i j k l m n o p q r s t u v w x Z Y X>y>y>>z>z>{>|>}>}>~>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                B                                                                                                                ! " #   $ % & '   ( ) * p + q , - . /  0 1  2 3 4 5 6 7 8 9 : ; < = >???@?A?B C DEEFFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg@h@i@j@k@l@m@n@o@p@q@r@r@s@t@u@v@@w@x@y@z@{@|@}@~@@@@@@@@@@@A0Acm/monadiccp-0.7.3Control.CP.PriorityQueueControl.CP.QueueControl.CP.SolverControl.CP.SearchTreeControl.CP.Transformers!Control.CP.ComposableTransformersControl.CP.EnumTermData.Expr.SugarControl.CP.FD.ModelControl.CP.FD.FDControl.CP.FD.Interface!Control.CP.FD.OvertonFD.OvertonFDControl.CP.FD.SolversControl.CP.FD.Gecode.Common"Control.CP.FD.Gecode.CodegenSolverControl.CP.FD.ExampleControl.Monatron.MonadTControl.Monatron.AutoInstancesControl.Monatron.TransformerControl.Monatron.MonadControl.Monatron.CodensityControl.Monatron.OperationsControl.Monatron.AutoLiftControl.Search.SStateTControl.Monatron.MonatronControl.Monatron.IdTControl.Monatron.ZipperControl.Monatron.MonadInfoControl.Monatron.OpenControl.Monatron.ZipperExamplesControl.Search.LanguageControl.Search.GeneratorInfoControl.Search.MemoControl.Search.MemoReaderControl.Search.GeneratorControl.Search.StatControl.Search.ConstraintsControl.Search.Combinator.BaseControl.Search.Combinator.MiscControl.Search.Combinator.PrintControl.Search.Combinator.OrControl.Search.Combinator.For!Control.Search.Combinator.FailureControl.Search.Combinator.UntilControl.Search.Combinator.OnceControl.Search.Combinator.If"Control.Search.Combinator.OrRepeatControl.Search.Combinator.Let!Control.Search.Combinator.SuccessControl.Search.Combinator.And Control.Search.Combinator.RepeatControl.Search.Combinator.Post Data.LinearLanguage.CPP.Syntax.ASTLanguage.CPP.PrettyControl.CP.DebugControl.CP.FD.OvertonFD.DomainControl.Mixin.MixinData.Expr.DataData.Expr.UtilControl.CP.FD.GraphControl.CP.FD.DecomposeControl.CP.FD.SimpleFDControl.CP.FD.SearchSpec.DataControl.CP.FD.OvertonFD.Sugar PriorityQueueis_emptyemptyminKey minKeyValueinsert deleteMindeleteMinAndInsertQueueElememptyQisEmptyQpopQpushQTermHelpnewvarhelpSolver ConstraintLabeladdrunmarkmarkngoto MonadTree TreeSolveraddTofalse\/existslabelTreeNewVarAddTryReturnFail transformTreemapTreebindTree insertTree/\truedisjconjdisj2primaddCaddTexistforalluntreeindentshowTree NodeBoundedSTDepthBoundedST Transformer EvalState TreeState ForSolver ForResultleftTrightTnextTinitTreturnTendTevaleval'continue RestartST SealedCSTSealNewBoundBoundCBranchBoundSTCBBST Composition:-CSolutionBoundSTCSBSTCFirstSolutionSTCFSST CIdentityCSTCIST CRandomSTCRSTCLimitedDiscrepancySTCLDSTCDepthBoundedSTCDBSTCNodeBoundedSTCNBST CTransformer CTreeState CForSolver CForResultsolverestartEnumTerm TermBaseType getDomainSize getDomainsetValue splitDomain splitDomainsgetValue defaultOrder enumerator enumerate assignment assignments firstFailinOrder middleOutendsOut levelList labellingBoolExprColExprExpr ExprRange@: ExprClass@=@/= ToBoolExpr toBoolExpr ToColExpr toColExprToExprtoExpr@+@-@*@/@%@?@??!@!!@..@++sizexfoldxsumlistxheadxtailslicexmaploopallloopanyforanychannel@||@&&inv@<@>@<=@>=sortedsSortedallDiffallDiffD ToModelColasCol ToModelIntasExpr ToModelBoolasBool ModelTermType newModelTermModel ModelColArg ModelBoolArg ModelIntArgModelCol ModelBoolModelIntModelFunctions ForNewCol ForNewInt ForNewBool ModelBoolTerm ModelExtra ModelBoolPar ModelBoolVar ModelColTerm ModelColPar ModelColVar ModelIntTerm ModelIntPar ModelIntVar showModelmodelVariantIntmodelVariantColmodelVariantBoolcteFDSolver FDIntTerm FDBoolTerm FDIntSpec FDBoolSpec FDColSpec FDIntSpecTypeFDBoolSpecType FDColSpecTypefdIntSpec_constfdBoolSpec_constfdColSpec_constfdColSpec_listfdIntSpec_termfdBoolSpec_termfdColSpec_size fdIntVarSpec fdBoolVarSpec fdTypeReqBool fdTypeReqInt fdTypeReqCol fdTypeVarInt fdTypeVarBool fdSpecify fdColInspect fdProcess fdEqualBool fdEqualInt fdEqualColfdConstrainIntTermfdSplitIntDomainfdSplitBoolDomain FDSpecInfo FDSpecInfoCol fdspColSpec fdspColVar fdspColVal fdspColTypes FDSpecInfoInt fdspIntSpec fdspIntVar fdspIntVal fdspIntTypesFDSpecInfoBool fdspBoolSpec fdspBoolVar fdspBoolVal fdspBoolTypesSpecFn SpecFnRes SpecResult SpecResUnify SpecResSpec SpecResNone FDInstancesetMinimizeVargetMinimizeVargetMinimizeTerm boundMinimizerunFD procSubModelprocSubModelExgetLevelspecSubModelEx getBoolSpec_ getBoolSpec getIntSpec_ getIntSpec getColSpec_ getColSpecliftFDspecInfoBoolTermspecInfoIntTermfdSpecInfo_specgetEdgemarkEdgenewColnewIntnewBoolgetSingleIntTerm getIntTerm getBoolTerm getColTerm getColItems getIntVal getBoolVal getColVal setFailedaddFD getDefIntSpecgetDefBoolSpec getDefColSpecgetFullIntSpecgetFullBoolSpecgetFullColSpecfdNewvarvalcolListlabelColallinFDVar OvertonFD OConstraintOAbsOMultOSubOAddOLessEqOLessODiffOSame OHasValue fd_domain fd_objectivelookuppfsnbdbbbsbfsitraldGecodeWrappedSolver GecodeSolver GecodeIntVar GecodeBoolVar GecodeColVar newInt_at newInt_cond newCol_list newCol_size newCol_catsplitIntDomainsplitBoolDomain col_getSize col_regList GecodeICIFn GecodeIIIFn GecodeIIFn GecodeCIFn GecodeCBFn GecodeIBFnGecodeConstraintGCCondGCDomGCCountGCSumGCFoldCGCFoldGCMapGCAnyCGCAllCGCAnyGCAllGCSorted GCAllDiffGCEquivGCNotGCOrGCAndGCSliceGCCatGCSize GCChannelGCAtGCAbsGCModGCDivGCMult GCColEqual GCLinearReifGCLinearGCIntVal GCBoolEqual GCBoolValGecodeOperator GOLessEqualGOLessGODiffGOEqualGecodeColSpecTypeGCSVar GCSSectionGCSConst GecodeColSpecGCTVar GCTSectionGCTConstGecodeBoolSpecTypeGBSVar GBSCondConstGBSConstGecodeBoolSpecGBTVar GBTCondConstGBTConstGecodeIntSpecTypeGISVar GISLinearGISConst GecodeIntSpecGITVar GITLinearGITConst GecodeLinearGecodeColVarOrSectionGecodeListConstGecodeColConstGecodeBoolConstGecodeIntConstGecodeColParamGCParamGecodeBoolParamGBParamGecodeIntParamGIParamprocConstraintliftGCunliftGCaddMetatoConst fromConst toBoolConst fromBoolConstCodegenGecodeSolverCodegenGecodeOptions noTrailing noGenSearch setOptionsgenerateGecodeExampleMinModel ExampleModel example_mainexample_min_mainexample_sat_mainexample_sat_main_voidexample_min_main_voidexample_sat_main_singleexample_min_main_singleexample_sat_main_single_exprexample_min_main_single_exprexample_sat_main_coll_exprexample_min_main_coll_exprFCompCompdeCompMMonadTflift monoidalTFMonadTtmap'FunctorDfmapDMonadTlifttreturntbindfunctortmapmtmapbaseGHC.Basefail>>=>>fmapreturn Control.MonadguardliftMMonadFunctor MonadPlusmfilterapliftM5liftM4liftM3liftM2unlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMjoinvoidforever<=<>=>msumforM_forMfilterMmapM_mapM sequence_sequence=<<mplusmzeroStepTTrunTListTLunLLSigConsTNilTContTCunCExcTXunXReaderTRunRWriterTWunWStateTSunSstateT runStateTwriterT runWriterT runReaderTreaderTexcTrunExcTrunContTcontTrunListTlistTemptyLappendL foldListT collectListTstepTrunStepT caseStepT unfoldStepT Data.MonoidmconcatmappendmemptyMonoidgetDualDualappEndoEndogetAllAllgetAnyAnygetSumSum getProductProductgetFirstFirstgetLastLastCont ExceptionReaderWriterStateLiftrunLiftIdrunIdstaterunStatewriter runWriterreader runReader exception runExceptioncontrunCont Codensity unCodensity codensity runCodensityListOpPlusListZeroListStepOpContOpCallCCAbortWriterOpTraceHandleOpHandleThrowOpThrowReaderOpInEnvAskStateOpPutGetAlgModelExtModeltoAlg liftModel liftAlgModel liftExtModel modelStateTgetXputX modelReaderTaskXinEnvXlocalXmodelThrowExcTmodelHandleExcT modelThrowIO modelHandleIOthrowXhandleX modelWriterTtraceX modelContTabortXcallCCXcallccX modelStepTstepX modelListT zeroListX plusListXListM listModelContM contModelExcM throwModel handleModelReaderM readerModelWriterM writerModelStateM stateModelgetputtellasklocalthrowhandlecallCCmZeromPlusSStateTSSunSSTup2sstateT runSStateT modelSStateTfst2snd2versionIdTrunIdT:><:Viewtofrom:>runL runZipperzipperleftLrightLiovlifthcompvcomprstateIsogetvputv MonadInfoTtminfo MonadInfominfoMInfoundefmiInc:<:injOpenFixInout:+:InrInl<@>fixinjectfoldFixExpr3VarLitM4RegMemRetrieveStoreCountEnvfmaskevalMem2litvarstoreretrieveeval4 handleExcevalLitevalVartest Simplifiablesimplify Statement DebugValue DebugOutputBlockDeleteBIFoldBFoldIFoldFoldPostSHookPrintAssignSeqSkipPush IfThenElseFalseCTrueCGqCGtCLqCLtCNqCEqCValueMinValMaxValDummyAssignedCondBaseNewNullRandomMedianLbRegretUbRegretWDegreeDegreeMaxDomMinDomIVar BAVarSize BAVarElemAVarSizeAVarElemMaxVHookNotOrAnd BaseContinueEqGtGqLtPFieldField'FieldCloneDerefRefAbsModDivMultPlusMinus RootSpaceBValIValTypeTHookSTypeUnionBoolInt SpaceTypePointerStructPrettyprettyXpretty PrettyFlagsgenModeGenModeModeMCPModeFZ ModeGecodeModeUnk renderVar simplValueinliner simplStmt spacetypexsspacedivValue&&&|||@==@->@=>lex$==$/=$<$<=$>$>=negcommentdecinc>>><==assignifthenseqsInfo baseTstatepathabort_commit_oldclonefield stackField treeStateType evalStateType@@spacetstate tstate_typeestate estate_type withCommitonAbortonCommit onCommit'withPathwithBase withClone withField resetPath resetCommit shiftCommit resetAbort shiftAbort resetClone resetInfomkInfoinfonewinfocommitabort primClonecloneItMemoMgetMemosetMemoMemoTunMemoTMemoInfomemoMap memoCountmemoRead MemoValuememoIdmemoCodememoUsed memoFieldsMemoKeymemoFnmemoInfo memoStack memoExtra memoStatement memoParams initMemoInforunMemoT MemoReaderT unMemoReaderT memoReaderT deMemoReaderTrunMemoReaderTmodelMemoReaderT ProgramStringheader functionsmainpcomment FunctionDeffunNamefunArgsfunBodySearchCombinerElemmapperSearchCombinerrunnerelemsSearchmkeval runsearchMkEvalSeqPosSecondSFirstSOutSMemoablememox HookStatsM hookCalled HookStatsT unHookStatsTHookStatnCallsEvalstructs treeState_ evalState_ nextSameH nextDiffH pushLeftH pushRightHbodyHinitHaddHreturnHfailHtryHtryLH startTryH intArraysE boolArraysEintVarsEdeleteHtoString canBranchcompleteEvalableVarInfoM lookupVarInfo setVarInfoVarInfoT unVarInfoTVarInfoVarIdGenModeMgetFlagsgetModeGenModeT unGenModeTmodify runGenModeTcommentStatement commentEvalentry rootEntryinitsinitemapE runHookStatsTcallHooknextSamenextDiffpushLeft pushRightbodyEaddEreturnEinitEfailEtryE startTryEtryE_deleteEmapE_ buildMemoKey lookupMemo insertMemo invokeMemo cacheCallcacheStatement_cacheStatementmemo cachedCommit cachedAbort seqSwitch@>>>@initTreeState_corefnmainfncppfnmcpfn typedecls declRootStategenerate generatemcp generatecppfixallmemoizeextractCombinersliftSearchCombinerElemsmmapmfunctorgenfungenprog monadInfogetgensearch'searchmkCopymkUpdatemseqsmemoLoop cachedClonerReaderT numSwitch@++@ ref_count ref_countxref_count_type cloneBase@$@.rp buildCombinerStatIValuereadStatevalStatappStatliftStat constStat#>#=#<#>=#<=#/notStat depthStatdiscrepancyStat nodesStat solutionsStatvarStat failsStateStattimeStat ConstraintGenConstraintExprcvarscbvarscvarcvalclvarcopctruecfalse cexprStatVal cexprStatMin cexprStatMax cexprStatMedVarSelValSel treeStateL leftChild_L rightChild_LaddLtryL intArraysL boolArraysLintVarsLvlabelilabel int_assignglabelgblabel foldVarSel ifoldVarSel bfoldVarSel bifoldVarSelmaxVminVlbVubVdomsizeV lbRegretV ubRegretVdegreeVdomSizeDegreeVwDegreeVdomSizeWDegreeVrandomVminDmaxDmeanDmedianDrandomDldsLoopdbsLoopbbLoopbbminldsdbs printLoop debugLoopprtdbg xneedSideorLoop<|>forLoopforforeachfailure untilLooplimitglimituntilonceLooponceonceOldifLoopif' orRepeatLooporRepeatletLooplet'set' successLoopdummyseqNLoopandN<&> repeatLooprepeatpostLooppostLinear termToLinearintegerToLinear constToLinear linearToListlinearToListExgetCoef linearMultlinearMultiply linearToConst linearToTerm CPPBinaryOpCPPOpLOr CPPOpLAndCPPOpXorCPPOpOrCPPOpAndCPPOpNeqCPPOpEqCPPOpGeqCPPOpLeqCPPOpGrCPPOpLeCPPOpShrCPPOpShlCPPOpSubCPPOpAddCPPOpRmdCPPOpDivCPPOpMul CPPUnaryOpCPPOpNeg CPPOpComp CPPOpMinus CPPOpPlusCPPOpIndCPPOpAdr CPPOpPostDec CPPOpPreDec CPPOpPostInc CPPOpPreInc CPPAssignOp CPPAssOpXor CPPAssOpOr CPPAssOpAnd CPPAssOpShr CPPAssOpShl CPPAssOpSub CPPAssOpAdd CPPAssOpRmd CPPAssOpDiv CPPAssOpMulCPPAssOpCPPConstCPPConstString CPPConstFloat CPPConstChar CPPConstIntCPPExprCPPNewCPPVar CPPMemberCPPCallCPPIndex CPPSizeOfType CPPSizeOfExprCPPCastCPPCondCPPUnary CPPBinary CPPAssignCPPComma CPPBlockItem CPPComment CPPBlockDecl CPPStatementCPPStat CPPDelete CPPReturnCPPBreakCPPContCPPGotoCPPForCPPWhile CPPSwitchCPPIf CPPVerbStat CPPCompound CPPSimple CPPDefaultCPPCaseCPPLabel CPPConstr cppConstrStor cppConstrArgs cppConstrBody cppConstrInitCPPDef cppDefName cppDefRetType cppDefStor cppDefQual cppDefArgs cppDefBodyCPPDecl cppDeclNamecppType cppTypeQual cppTypeStor cppDeclInitCPPInit CPPInitArray CPPInitCall CPPInitValueCPPQualCPPQualVolatile CPPQualConst CPPStorSpec CPPVirtual CPPInline CPPTypedef CPPExtern CPPStatic CPPRegisterCPPAutoCPPTypeCPPTemplCPPRefCPPPtrCPPArray CPPTypePrim CPPVisibility CPPPrivate CPPProtected CPPPublicCPPClass cppClassNamecppClassInherit cppClassDecls cppClassDefscppClassConstrs CPPNamespace CPPElement CPPElemClass CPPElemDef CPPElemDeclCPPElemNamespace CPPMacroStmCPPMacroDefinecppMacroDefNamecppMacroDefArgscppMacroDefExprCPPMacroIncludeSysCPPMacroIncludeUserCPPFile cppMacroStmcppUsing cppTranslUnitToString prettyPrecpriocodegenBranchNilunion singletondebugimdebugToDomaintoDomainDomainRangeSetmember isSubsetOf intersection differencenull isSingletonfilterLessThanfilterGreaterThanfindMaxfindMin shiftDomain mapDomain absDomain mirrorDomainprintDomdebugDomMixinmixinmixinId mixinLift$fSolverWriterT flattenTreeNBSTDBST ContinueSig SearchSig BBEvalStateBBP CEvalStateinitCTleftCTrightCTnextCTreturnCT completeCTEXITCONTINUEEVAL CContinueSig CSearchSigTStack nextTStackevalCT continueCTexitCTShowFnshowFnDomSortedAllDiff BoolEqualColEqualBoolAnyBoolAllRelBoolCondBoolNotBoolOrBoolAnd BoolConstBoolTermExprRelERLessERDiffEREqualColCatColSliceColMapColRangeColListColTermChannelColSizeAtConstExprHole equalExpr equalColExpr equalBoolExprcompareColExprcompareBoolExpr compareExpr<<>> WalkResult WalkDescendWalkSkip WalkPhaseWalkPost WalkSingleWalkPrerelCheck transform transformEx colTransformcolTransformEx boolTransformboolTransformEx propertyEx colPropertyExboolPropertyExproperty colProperty boolPropertypropIntpropColpropBoolvarrefs colVarrefs boolVarrefs colSimplify boolSimplifycollapse colCollapse boolCollapsexwalkerwalker colWalker boolWalkerwalkcolWalkboolWalkDisplaydisplay displayer DisplayDataEGModel egmParamsegmVars egmNEdgesegmEdgesegmLinksEGEdgeegeConsegeLinks EGTypeDataboolDataintDatacolDataEGVarIdunVarIdEGEdgeId unEGEdgeId EGConsArgsEGColPar EGBoolParEGPar EGParColTerm EGPTColParam EGParBoolTerm EGPTBoolParam EGParTerm EGPTParamEGConstraintSpec EGCondInt EGCondEqualEGDom EGAllDiffEGSortedEGAnyEGAllEGLessEGDiffEGEqualEGNotEGEquivEGOrEGAndEGCatEGSliceEGMapEGRangeEGList EGChannelEGSizeEGFoldEGAtEGAbsEGModEGDivEGMultEGMinusEGPlus EGColExtern EGBoolExtern EGIntExtern EGColValue EGBoolValue EGIntValue EGVarType EGColType EGIntType EGBoolTypedummyConstraint getConsArgs baseTypeData egTypeDataMap egTypeGet egTypeModshowBoolshowIntshowColshowLst externMap emptyModel filterModelprefixaddEdgeunifyIdsdelEdgefindEdge pruneNodes unifyNodesaddNodedelNode baseGraphpresent displaySinglegetConnectedEdges$fExprClasstcbExpr $fNumExpr FlatModel FlatModelCol FlatModelBool FlatModelInt ModelColExpr ModelBoolExpr ModelIntExpr ModelIntrosNewColNewIntNewBool explicateflattenvariantIntTermvariantBoolTermvariantColTermDCMonadDCStatedcsDatadcsModel DecompData cseMapBool cseMapInt cseMapCol cseParent cseImportscseNIds cseLockedcseLeveldecompBoolLookupdecompIntLookupdecompColLookupbaseDecompData decomposeEx decompose statePropertynewVar importBool importInt importCol unifyVars addConstraint newBoolVar newIntVar newColVardecomposeSubmodel constIntTrans constColTransconstBoolTransconstIntTransInvconstColTransInvconstBoolTransInvdependentIntExprdependentBoolExprdependentColExprnextId decomposeBooldecomposeBoolEx decomposeInt decomposeColrealDecomposeBoolExrealDecomposeIntlistAllrealDecomposeColFDColSpecTypeSetFDIntSpecTypeSetFDBoolSpecTypeSetSpecDb TermTypeSpecFDSColFDSIntFDSBoolTermTypeFDTColFDTIntFDTBoolSpecColSpecIntSpecBool unFDInstanceFDLabelfdlStatefdlLabelFDStatefdsExprfdsModel fdsDecomp fdsNewEdges fdsDoneEdges fdsForceBool fdsForcedBool fdsForceInt fdsForcedInt fdsForceColfdsVars fdsIntVarsfdsIntVarTypes fdsIntVarBusy fdsIntUnifies fdsBoolVarsfdsBoolVarTypesfdsBoolVarBusyfdsBoolUnifies fdsColVarsfdsColVarTypes fdsColVarBusy fdsColUnifiesfdsDb fdsFailedfdsLevel fdsDummyLevelfdsMinimizeVarfdsMinimizeTermmapValsdumpSpec linkExternsoptimizeSetSetoptimizeVarTypes decompBestdecompDefaultBooldecompDefaultIntdefaultBoolDecompdefaultIntDecomp getBoolSpec__ getIntSpec__ getColSpec__ baseFDState edgesLeftwhileMwhileM_joinWith liftFDTree addBoolSpec addIntSpec addColSpecemptyFDSpecInfoBoolemptyFDSpecInfoIntemptyFDSpecInfoColspecInfoMapBoolspecInfoMapIntspecInfoMapColfdSpecInfo_edgefdSpecInfo_spec_bfdSpecInfo_spec_ifdSpecInfo_spec_c fdGetValBool fdGetValIntfdCombineSpecifyprocEdge sureMaybe allIntSpec allBoolSpec allColSpecdefault_fdSpecifydefault_fdProcess initForModelsetAlter addSpecInt addSpecBool addSpecCol addIntVar addBoolVar addColVarfull_fdProcessfull_fdSpecify getJustEdge buildSpecDbaddBoolTypeReq addIntTypeReq addColTypeReq addTypeReqs processExprocesscombinerealGetIntTermrealGetBoolTerm getIntVal_ getBoolVal_ getColVal_ getFailedModelExprClass DummyTermEQHelp DummySolver treeToModeladdMBinaryConstraint varSupplyvarMap objectiveVarMapdelayedConstraintsdomain VarSupplyunFDVarunFD consistentFD runOverton initStatenewVarsupdateaddBinaryConstrainthasValuesame different.<..<=.dumpaddArithmeticConstraintaddUnaryArithmeticConstraint getDomainPlusgetDomainMinus getDomainMult getDomainDivitakesimple_fdSpecifysimple_fdProcesstreeAlldfsbfsGecodeWrappedLabelGecodeFnProcablegwalkGecodeColSectionGecodeColVarOrConstGecodeIntVarOrConst buildSection invOperator procHelperInt procHelperColprocHelperBool procHelperunwrapConstraintwrapConstraint extractFullforceDecompIntforceLinearInt forceConstIntforceDecompBoolforceDecompColfromAll fromAllConst linearSpec constSpecconstMaybeSpec constFullSpeclinearMaybeSpeclinearFullSpecspecMapspecifyreduceCountFoldreduceMultCountFoldreduceSumFoldToMapextractSumFold SearchSpecPrintSol BranchBoundLimitDiscrepancyLimitNodeCount LimitDepth LimitSolCountTryOnce CombinePar CombineSeq Labelling LabelBoolLabelColLabelIntConstraintBoolExprConstraintRefsValRefVarRefVarExprOptimDirectionMinimizeMaximizeVarStatDDummyDMedianDRandom DWDregreeDDegree DUpperRegret DLowerRegretDDomSize DUpperBound DLowerBound mmapSearchCompilableModelspecific_compileColVarBoolVar BoolVarCPPIntVar IntVarCond IntVarCPP IntVarIdxcgsStateCodegenGecodeStatenIntVars nBoolVarsnIntParsintParsnColParscolParscolVars colListEntconsintRetboolRetcolRetlevelparentoptions searchSpec ColParDef ColParDefCPP ColParDefExt IntParDef IntParDefCPP IntParDefExtColDefColDefConstMap ColDefCat ColDefList ColDefSize initOptions newIntParam newColParamgenVar defineColcolSizelstindex registerList lookupList resolveVars buildState getTopState modTopStatecompileretState astGenerateastIntastThis astColSize astIntParam astBoolParam astColParam astBoolExpr astColExpr astIntExprastDecl astDeclEq astDeclEqA astDeclFncall astBoolVar astIntVar astColVar astTempListastParTempList astSection astSectionM astConstraintifList postMinimizecodegenOptionset