Apply a modality to a formula.
115 auto epistemicOperator = boost::any_cast<int>(
options.at(
"epistemicOperator"));
118 auto aboutAgentIRI = boost::any_cast<std::string>(
options.at(
"aboutAgentIRI"));
119 auto confidence = boost::any_cast<double>(
options.at(
"confidence"));
120 if (!aboutAgentIRI.empty()) {
121 if (confidence != 1.0) {
122 mFormula = std::make_shared<ModalFormula>(
123 modals::B(aboutAgentIRI, confidence), mFormula);
125 mFormula = std::make_shared<ModalFormula>(
131 auto aboutAgentIRI = boost::any_cast<std::string>(
options.at(
"aboutAgentIRI"));
132 if (!aboutAgentIRI.empty()) {
133 mFormula = std::make_shared<ModalFormula>(
138 auto temporalOperator = boost::any_cast<int>(
options.at(
"temporalOperator"));
141 auto minPastTimestamp = boost::any_cast<double>(
options.at(
"minPastTimestamp"));
142 auto maxPastTimestamp = boost::any_cast<double>(
options.at(
"maxPastTimestamp"));
144 auto minPastTimePoint =
147 auto maxPastTimePoint =
152 if (minPastTimestamp != -1 || maxPastTimestamp != -1) {
153 if (minPastTimestamp == -1) {
154 mFormula = std::make_shared<ModalFormula>(
156 maxPastTimePoint)), mFormula);
157 }
else if (maxPastTimestamp == -1) {
158 mFormula = std::make_shared<ModalFormula>(
160 std::nullopt)), mFormula);
162 mFormula = std::make_shared<ModalFormula>(
164 maxPastTimePoint)), mFormula);
167 mFormula = std::make_shared<ModalFormula>(
171 if (minPastTimestamp != -1 || maxPastTimestamp != -1) {
172 if (minPastTimestamp == -1) {
173 mFormula = std::make_shared<ModalFormula>(
175 maxPastTimePoint)), mFormula);
176 }
else if (maxPastTimestamp == -1) {
177 mFormula = std::make_shared<ModalFormula>(
179 std::nullopt)), mFormula);
181 mFormula = std::make_shared<ModalFormula>(
183 maxPastTimePoint)), mFormula);
186 mFormula = std::make_shared<ModalFormula>(
std::shared_ptr< ModalFormula > K(const FormulaPtr &phi)
std::shared_ptr< ModalFormula > P(const FormulaPtr &phi)
std::shared_ptr< ModalFormula > B(const FormulaPtr &phi)
std::shared_ptr< ModalFormula > H(const FormulaPtr &phi)
TimePoint fromSeconds(double seconds)
std::shared_ptr< Formula > FormulaPtr