pulsatrix
Loading...
Searching...
No Matches
Neuro-Symbolic Reasoning

A differentiable fuzzy-logic core (Logic Tensor Networks-shaped t-norm/t-conorm operators, a p-mean quantifier aggregator, and a satisfaction loss trainable via ordinary gradient descent) plus a from-scratch Datalog engine (bottom-up fixpoint evaluation, a real-valued/weighted generalization, and a hand-derived LRP rule) – and a bridge wiring a real neural predicate's output in as a Datalog base fact's weight, so relevance traces from a symbolic derivation back into the network. More...

Files

file  aggregator_module.hpp
 Differentiable p-mean quantifier aggregator – Phase 1 Mission 1 of campaign_exai_dl_library_neuro_symbolic (Logic Tensor Networks' Real Logic: agg_p(x) = (mean(x^p))^(1/p), standing in for a fuzzy universal/existential quantifier over a batch of groundings).
 
file  conjunction_module.hpp
 Differentiable fuzzy conjunction (t-norm) – Phase 1 Mission 0 of campaign_exai_dl_library_neuro_symbolic (differentiable fuzzy-logic core, Logic Tensor Networks-shaped).
 
file  datalog_atom.hpp
 A Datalog atom: a predicate name plus a tuple of terms, no function symbols. Phase 3 Mission 0 of campaign_exai_dl_library_neuro_symbolic (Datalog core).
 
file  datalog_dual_semiring.hpp
 Forward-mode-automatic-differentiation semiring (DualNumber<T>/DualSemiring<T>) – a second, differentiable real-valued instantiation of Mission 1's generic Semiring trait shape, carrying a value and its derivative w.r.t. one seeded scalar through every ⊕/⊗ the weighted engine performs. Phase 3 Mission 2 of campaign_exai_dl_library_neuro_symbolic (Neural-Predicate Integration).
 
file  datalog_engine.hpp
 Bottom-up fixpoint evaluation (naive and semi-naive), boolean semiring only. Phase 3 Mission 0 of campaign_exai_dl_library_neuro_symbolic (Datalog core).
 
file  datalog_fact_database.hpp
 A set of ground (fully-constant) Datalog atoms. Phase 3 Mission 0 of campaign_exai_dl_library_neuro_symbolic (Datalog core).
 
file  datalog_lrp.hpp
 LRP-style relevance propagation for the real-valued (+, x) provenance-semiring Datalog circuit built in Mission 1/2 – Phase 3 Mission 3 of campaign_exai_dl_library_neuro_symbolic (LRP for the Datalog/Provenance-Semiring Circuit), extending Phase 1-2's fuzzy-logic LRP methodology (the weighted-sum/ epsilon-rule split for +, the bilinear split for x) to derived-fact weights instead of Module output tensors.
 
file  datalog_rule.hpp
 A Datalog rule: head :- body1, body2, ..., range-restricted (safe) by construction. Phase 3 Mission 0 of campaign_exai_dl_library_neuro_symbolic (Datalog core).
 
file  datalog_semiring.hpp
 Generic provenance-semiring abstraction (zero/one/add=(+)/mul=(x)) plus the boolean (trivial) and real-valued (+, x) concrete instantiations. Phase 3 Mission 1 of campaign_exai_dl_library_neuro_symbolic (Generic Provenance-Semiring Abstraction).
 
file  datalog_term.hpp
 Function-symbol-free Datalog term – a constant or a variable, never a compound term. Phase 3 Mission 0 of campaign_exai_dl_library_neuro_symbolic (Datalog core).
 
file  datalog_weighted_engine.hpp
 Semiring-parameterized bottom-up fixpoint evaluation – the weighted counterparts of Mission 0's naive_evaluate/semi_naive_evaluate. Phase 3 Mission 1 of campaign_exai_dl_library_neuro_symbolic (Generic Provenance-Semiring Abstraction).
 
file  datalog_weighted_fact_database.hpp
 A map from ground Datalog atom to a semiring-typed weight. Phase 3 Mission 1 of campaign_exai_dl_library_neuro_symbolic (Generic Provenance-Semiring Abstraction).
 
file  disjunction_module.hpp
 Differentiable fuzzy disjunction (t-conorm) – Phase 1 Mission 0 of campaign_exai_dl_library_neuro_symbolic (differentiable fuzzy-logic core, Logic Tensor Networks-shaped).
 
file  negation_module.hpp
 Standard fuzzy negation y = 1 - x – Phase 1 Mission 0 of campaign_exai_dl_library_neuro_symbolic (differentiable fuzzy-logic core).
 
file  neuro_symbolic_datalog_bridge.hpp
 Wires a real neural predicate (LinearModule + sigmoid, reusing Phase 1 Mission 2's ToyKnowledgeBase pattern) into the weighted Datalog engine as one base fact's weight, on a small diamond-graph transitive-closure toy program (Mission 0/1's own ancestor shape). Computes the gradient of a derived query fact's weight w.r.t. the neural predicate's output (via forward-mode AD over the provenance semiring, see datalog_dual_semiring.hpp) and, transitively, the predicate's LinearModule parameters (via that module's own real backward(), mirroring ToyKnowledgeBase's hand-chained-Module::backward() precedent). Phase 3 Mission 2 of campaign_exai_dl_library_neuro_symbolic (Neural-Predicate Integration).
 
file  neuro_symbolic_toy_kb.hpp
 Toy knowledge-base training demo – Phase 1 Mission 2 of campaign_exai_dl_library_neuro_symbolic (differentiable fuzzy-logic core's own correctness oracle: proves Missions 0-1's operators compose into a real, trainable Logic Tensor Network).
 
file  satisfaction_loss.hpp
 Real-Logic-style knowledge-base satisfaction loss – Phase 1 Mission 1 of campaign_exai_dl_library_neuro_symbolic.
 

Detailed Description

A differentiable fuzzy-logic core (Logic Tensor Networks-shaped t-norm/t-conorm operators, a p-mean quantifier aggregator, and a satisfaction loss trainable via ordinary gradient descent) plus a from-scratch Datalog engine (bottom-up fixpoint evaluation, a real-valued/weighted generalization, and a hand-derived LRP rule) – and a bridge wiring a real neural predicate's output in as a Datalog base fact's weight, so relevance traces from a symbolic derivation back into the network.