pulsatrix
Loading...
Searching...
No Matches
datalog_engine.hpp File Reference

Bottom-up fixpoint evaluation (naive and semi-naive), boolean semiring only. Phase 3 Mission 0 of campaign_exai_dl_library_neuro_symbolic (Datalog core). More...

#include <vector>
#include "pulsatrix/datalog_fact_database.hpp"
#include "pulsatrix/datalog_rule.hpp"
Include dependency graph for datalog_engine.hpp:

Go to the source code of this file.

Namespaces

namespace  pulsatrix
 
namespace  pulsatrix::datalog
 

Functions

FactDatabase pulsatrix::datalog::naive_evaluate (const std::vector< Rule > &rules, const FactDatabase &initial_facts)
 Naive bottom-up fixpoint evaluation: repeatedly re-evaluates every rule against the entire accumulated fact set until a round derives no new facts.
 
FactDatabase pulsatrix::datalog::semi_naive_evaluate (const std::vector< Rule > &rules, const FactDatabase &initial_facts)
 Semi-naive bottom-up fixpoint evaluation: each round only considers rule applications where at least one body atom is matched against facts newly derived in the previous round (the "delta"), rather than re-scanning the full accumulated fact set for every body-atom position every round.
 

Detailed Description

Bottom-up fixpoint evaluation (naive and semi-naive), boolean semiring only. Phase 3 Mission 0 of campaign_exai_dl_library_neuro_symbolic (Datalog core).