None!"BH !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU$VWXYZ[\]^_`abc !"#$%&'()*+,-./0123;) !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUSafe!"d9A fact is a predicate, applied to zero or more constants.e5Effects, optionally guarded by additional conditions.f3Operators, consisting of preconditions and effects. A collection of named operators.gJEmit effects that have the operator's precondition guarding their effects.dheijklfmnopqrstuvwxyz{g|dheijklfmnopqrstuvwxyz{g dheijklfmnopqrstuvwxyz{g|Safe!"FJ}'The operator that this effect came from~CWhether or not this effect is a member of the current relaxed plan0If this action is part of the helpful action set Membership level for this effect$Active preconditions for this effectEffects that require this factEffects that add this factEffects that delete this fact2The effects that have this fact as a precondition.,The effects that add this fact to the state.1The effects that delete this fact from the state.Increment the number of activated preconditions, and return a boolean that indicates whether or not the effect has been activated.:Apply an effect to the state given, returning a new state.eTranslate a domain and problem into a description of the initial state, the goal state, and the connection graph. The translation process includes adding a special empty fact that all effects with no preconditions will have as a precondition. The empty fact is also added to the initial state, in the event that the problem has an empty initial state.@Reset dirty references in the plan graph to their initial state.J}~"* }~ Safe!"\5A map from fact level to the goals that appear there.Construct the initial goal set for a set of presumed solved goals in the connection graph. If the goals have not been solved, the level returned will be Nothing.NOTE: in fast-forward, when a goal with level INFINITY is encountered, this process returns immediately the value INFINITY, and doesn't complete the goal set.jThe difficulty heuristic for an effect: the lowest level where one of the effect's preconditions appears.-Extract a plan from a fixed connection graph.&All applicable actions from the state.xHelpful actions are those in the first layer of the relaxed plan, that contribute something directly to the next layer.TTrue when the plan currently represented in the graph deletes a goal along the way.None!"ICLoop until the goal state is activated in the connection graph. As the connection graph should only be built from domains that can activate all facts, and delete effects are ignored, this operation will terminate. The set of effects returned is the set of effects that are immediately applicable to the initial state.OAll goals have been reached if they are all activated in the connection graph.rSet a fact to true at this level of the relaxed graph. Return any effects that were enabled by adding this fact.<Add an effect at level i, and return all of its add effects.None!"#The heuristic value for this state.?All actions from the first layer of the relaxed planning graph=The goals generated by layer 1 of the relaxed planning graphTrue when this state will cause a goal to be deleted (it fails the added goal deletion heuristic). If this check has been disabled, this value simply shows up as . Search nodes.&The state after the effect was appliedThe cost of this pathQThe state before this one in the plan, and the effect that caused the differenceWThe actions applied in the first and second layers of the relaxed graph for this node.OFind a state whose heuristic value is strictly smaller than the current state.3The distance that this node is from the goal state.zExtract the set of effects applied to get to this state. This ignores the root node, as it represents the initial state.bApply effects to the current state, returning the valid choices ordered by their heuristic value.,The Heuristic value that suggests no action.UCompute the size of the relaxed plan produced by the given starting state and goals.(Add a new entry in the hash for a state..Safe!"234b Types and all their inhabitants.A      !"#$%&'()*+,-./0123456789:;<=>@      !"#(&$%')*+,-1./023456789:;<=      !"#$%&'()*+,-./0123456789:;<=> Safe!"b ?Expand out instances of an operator, based on the types of its parameters. This is similar to the case of existential elimination covered lower down.@Remove quantifiers used in the preconditions and effects of an operator, by turning forall into conjuction, and exists into disjunction.eINVARIANT: This stage removes the TForall and TExists constructors from the pre and post conditions.A Remove quantifiers from effects.BRemove quantifiers from terms.CdGenerate multiple operators, corresponding to which branch of the disjunction was found to be true.EINVARIANT: This stage removes the TOr, TNot, and TImply constructors.D1Remove disjunctions, by producing multiple terms.EPPut a term in negation normal form, pushing all negations down to the literals.INVARIANT: This stage removes the TNot constructor by pushing all negations down to the TLit leaves, and the TImply constructor by translating it to disjunction and negation.FNegate a literalG1Remove negations through the addition of special H predicates. These generated predicates have the same structure as their counterparts, but imply the presence of the negated effect.INVARIANT: This stage removes all negative literals from the preconditions of operators and conditional effects, replacing them with other literals that correspond to their negation.IHThe set of atoms used as negative preconditions for conditional effects.J8Convert all dependencies on !p to dependencies on not-p.K8Convert negative literals to positive ones of the form ` `$not-p''.L?@ABMNCDOEPFGQRISJTKL?@CGL?@ABMNCDOEPFGQRISJTK Safe!"UrGenerate operators from the problem description. This corresponds to the "Initial Conditions and Goals" section.VNModify the initial state to include assumptions about negative preconditions.W{Generate the initial state, given the set of atoms that show up as negative preconditions, and the existing initial state.UVWUVUVW None! !"/023459:;<=?@ABDFIJKNOQRTbXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-Z9 [9  Safe!"Tb.?Compile operators, but leave off the negation removal step, which must be done in the presence of the problem. The benefit to doing things this way, is that this step can be done at compile time with template-haskell, and the less-complicated negation removal step can be done at runtime, once the problem is known./0Compile a problem, in the context of the domain.0=Partition an effect into its simple, and conditional effects. ./123456078C      !"#(&$%')*+,-1./023456789:;<=./1 ./123456078 None!"93Translate the domain into one data declaration per `type`, as well as one big data declaration for the domain, with one constructor per operator. Additionally, write out an altered version of the domain, that will produce values of the new domain type.:6Generate a data declaration from an object definition.9INVARIANT: all objects are assumed to have the same type.;Generate a specialized predicate that can produce either a literal, or a term. Produces one type-class per predicate, with instances for literals and terms.<Lift a grounded operator.=-Lift a precondition from a grounded operator.>&Lift effects from a grounded operator.?9@:;ABCDE<=FGH>I?9@:;ABCDE<=FGH>INone     3 4J  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdbcdbcebcfbcgbchbchbcibcjbckbclbclbcmbcnopqropstuqvwxyz{|}~ppsoop     qqvyx{|z !"#$%&'() * + , - . / 0 1 234 5 6 7 8 9 : ; < = > ? @ A B C D E F F G H I I J K L 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 q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 12#huff-0.1.0.0-CHN39opxofu2YuqhPvAlcfHuff Huff.QQ.Lexer Huff.InputHuff.ConnGraphHuff.FF.ExtractHuff.FF.FixpointHuff.FF.PlannerHuff.Compile.ASTHuff.Compile.OperatorsHuff.Compile.ProblemHuff.QQ.Parser Huff.CompileHuff.QQDomainSpecLiteralTermProblemhuffHas_negneg/\\/implyfindPlan $fHas_negTerm$fHas_negLiteralAlexAcc AlexAccNone AlexAccSkip AlexLastAccAlexNone AlexLastSkip AlexReturnAlexEOF AlexErrorAlexSkip AlexTokenAlexAddrAlexA#Error E_lexicalKeywordK_domainK_object K_predicate K_operator K_requiresK_effectK_lbraceK_rbraceK_lparenK_rparenK_assignK_pipeK_commaK_colonK_notTokenTKeywordTIdent TConIdentTError alex_tab_size alex_base alex_table alex_check alex_deflt alex_acceptkeywordlexer alexGetByte alex_action_1 alex_action_2 alex_action_3 alex_action_4 alex_action_5 alex_action_6 alex_action_7 alex_action_8 alex_action_9alex_action_10alex_action_11alex_action_12alex_action_13alex_action_14alex_action_15alex_action_16alex_action_17alex_action_18alexIndexInt16OffAddralexIndexInt32OffAddr quickIndexalexScan alexScanUser alex_scan_tkn$fFunctorAlexLastAcc)alex-tools-0.1.0.0-7nWmAO8PDyo3Aetpyt9cJR AlexToolsLexeme lexemeText lexemeToken lexemeRange SourcePos sourceIndex sourceLine sourceColumn SourceRange sourceFromsourceToFactEffectOperator expandEffectsePreeAddeDelopNameopPre opEffectsopVal domOperatorsprobInitprobGoal probFactsdomFactsopFactseffFacts$fIsStringFacteOpeInPlaneIsInHeLevel eActivePrefPreCondfAddfDel requiresFactaddsFactdelsFactactivatePrecondition applyEffectbuildConnGraphresetConnGraphIsNodedirtyactivategetLeveleIdeNumPreeAddseDelseDirty eDirtyListfIdfPropfLevelfIsTruefIsGoalfDirty fDirtyList ConnGraphcgFacts cgEffects cgDirtyFactscgDirtyEffectsLevelEffectsStateGoalsFactsmarkTrueisTruemarkGoalisGoal markInPlanisInPlaneffectOp effectAdds effectDels effectPre resetFact resetEffectprintConnGraph printFacts printFact printEffects printEffect$fIsNodeEffect $fIsNodeFact $fOrdEffect $fEqEffect $fShowEffect $fOrdFact$fEqFact$fHashableFact $fShowFactGoalSetgoalSet difficulty extractPlan allActionshelpfulActionsaddedGoalDeletion buildFixpointallGoalsReached activateFactactivateEffecthMeasurehActionshGoals hDeletesGoalghc-prim GHC.TypesFalseNode nodeStatenodePathMeasure nodeParent nodeHeuristicfindBetterState nodeMeasure extractPath successors badHeuristic measureState hashStateHashshHashKey HeuristicStepsResultEnforcedHillClimbing GreedyBFSPlanresStepsenforcedHillClimbinggreedyBestFirstrootNode childNode deletesGoal aStarMeasurecomputeHeuristicmkKeykeyStatenewHash lookupState $fHashableKey$fEqKey $fOrdNode$fEqNodeTypeMapArgANameAVarPredAtomAppLAtomLNotEForallEWhenEAndELitTAndTOrTNotTImplyTExistsTForallTLitObjectParam getTypeMapTypedtValuetTypeTypeName opDerivedopParams opPreconddomName domObjectsdomPredstypeMap lookupTypemkTAndmkTOrmkEWhen mkELitConjmkEAndelimEAndisELitnegAtom$fMonoidTypeMap expandActionsremoveQuantifiersrqEffrqTermremoveDisjunctionrdTermnnfTermnegLitremoveNegation GHC.Classesnot negEffectscnTerms cnLiteralArgEnvsubstLit substAtomrdEffect nnfEffect negPrecondsnegTermscnOper cnEffectsgenProblemOperatorsaddNegativePreconditionsinitNegs HappyAddrHappyA#HappyStk Happy_IntList HappyCons ParseErrorParseHappyAny HappyAbsSynKWhappyIn4 happyOut4happyIn5 happyOut5happyIn6 happyOut6happyIn7 happyOut7happyIn8 happyOut8happyIn9 happyOut9 happyIn10 happyOut10 happyIn11 happyOut11 happyIn12 happyOut12 happyIn13 happyOut13 happyIn14 happyOut14 happyIn15 happyOut15 happyIn16 happyOut16 happyIn17 happyOut17 happyIn18 happyOut18 happyIn19 happyOut19 happyIn20 happyOut20 happyIn21 happyOut21 happyIn22 happyOut22 happyIn23 happyOut23 happyIn24 happyOut24 happyIn25 happyOut25 happyIn26 happyOut26 happyIn27 happyOut27 happyIn28 happyOut28 happyIn29 happyOut29 happyIn30 happyOut30 happyIn31 happyOut31 happyIn32 happyOut32 happyIn33 happyOut33 happyIn34 happyOut34 happyIn35 happyOut35 happyInTok happyOutTokhappyActOffsetshappyGotoOffsetshappyDefActions happyCheck happyTablehappyReduceArr happy_n_termshappy_n_nonterms happyReduce_1happyReduction_1 happyReduce_2happyReduction_2 happyReduce_3happyReduction_3 happyReduce_4happyReduction_4 happyReduce_5happyReduction_5 happyReduce_6happyReduction_6 happyReduce_7happyReduction_7 happyReduce_8happyReduction_8 happyReduce_9happyReduction_9happyReduce_10happyReduction_10happyReduce_11happyReduction_11happyReduce_12happyReduction_12happyReduce_13happyReduction_13happyReduce_14happyReduction_14happyReduce_15happyReduction_15happyReduce_16happyReduction_16happyReduce_17happyReduction_17happyReduce_18happyReduction_18happyReduce_19happyReduction_19happyReduce_20happyReduction_20happyReduce_21happyReduction_21happyReduce_22happyReduction_22happyReduce_23happyReduction_23happyReduce_24happyReduction_24happyReduce_25happyReduction_25happyReduce_26happyReduction_26happyReduce_27happyReduction_27happyReduce_28happyReduction_28happyReduce_29happyReduction_29happyReduce_30happyReduction_30happyReduce_31happyReduction_31happyReduce_32happyReduction_32happyReduce_33happyReduction_33happyReduce_34happyReduction_34happyReduce_35happyReduction_35happyReduce_36happyReduction_36happyReduce_37happyReduction_37happyReduce_38happyReduction_38happyReduce_39happyReduction_39happyReduce_40happyReduction_40happyReduce_41happyReduction_41happyReduce_42happyReduction_42happyReduce_43happyReduction_43happyReduce_44happyReduction_44happyReduce_45happyReduction_45happyReduce_46happyReduction_46happyReduce_47happyReduction_47happyReduce_48happyReduction_48 happyNewToken happyError_ happyThen happyReturn happyThen1 happyReturn1 happyError'domainshappySeq parseErrorparseQQ happyParse happyAccept happyDoActionindexShortOffAddr happyShifthappySpecReduce_0happySpecReduce_1happySpecReduce_2happySpecReduce_3 happyReducehappyMonadReducehappyMonad2Reduce happyDrop happyDropStk happyGoto happyFail notHappyAtAll happyTcHack happyDoSeq happyDontSeqcompileOperatorscompileProblem splitEffs transProblem transDomain transOperatortransPretransEff transAtomtransArg genDomain genObjectDecl genPredicate liftOperatorliftTerm liftEffecthuffDecs mkTypeMap genDomainDeclmkOpCongenDomainValue liftTypestextliftLitliftAtomliftArgmkDomVar