diff --git a/encodings/sequential-incremental.lp b/encodings/sequential-incremental.lp index 7e1e2f0..d65894f 100644 --- a/encodings/sequential-incremental.lp +++ b/encodings/sequential-incremental.lp @@ -10,9 +10,6 @@ % Establish initial state holds(Variable, Value, 0) :- initialState(Variable, Value). -% Make unspecified initial state variables false by default (for PDDL) -holds(variable(Variable), value(Variable, false), 0) :- variable(variable(Variable)), {initialState(variable(Variable), _)} 0. - #program step(t). % Perform actions diff --git a/src/plasp/pddl/TranslatorASP.cpp b/src/plasp/pddl/TranslatorASP.cpp index aa46027..37bad38 100644 --- a/src/plasp/pddl/TranslatorASP.cpp +++ b/src/plasp/pddl/TranslatorASP.cpp @@ -531,7 +531,17 @@ void TranslatorASP::translateInitialState() const m_outputStream << ")."; }); - m_outputStream << std::endl; + m_outputStream + << std::endl << std::endl + << utils::RuleName("initialState") << "(" + << utils::Keyword("variable") << "(" << utils::Variable("X") << "), " + << utils::Keyword("value") << "(" << utils::Variable("X") << ", " << utils::Boolean("false") << ")) :- " + << utils::RuleName("variable") << "(" << utils::Keyword("variable") << "(" << utils::Variable("X") << ")), " + << utils::Keyword("not") << " " + << utils::RuleName("initialState") << "(" + << utils::Keyword("variable") << "(" << utils::Variable("X") << "), " + << utils::Keyword("value") << "(" << utils::Variable("X") << ", " << utils::Boolean("true") << "))." + << std::endl; } ////////////////////////////////////////////////////////////////////////////////////////////////////