Skip to content

PLN v0.9

Latest

Choose a tag to compare

@pisaev1 pisaev1 released this 14 Mar 23:51
4405956

PLN v0.9 Release Notes

Executive summary and highlights

PLN v0.9 is a semantic and engineering refinement release: it revises confidence propagation across several core truth functions, strengthens determinism and deduplication in the forward-chaining deriver, as well as streamlines the system by removing redundant helper code in favor of direct list/predicate operations. Collectively, these changes aim to make inference results more consistent and typically faster in Prolog-backed execution contexts.

Highlights (v0.6 → pln0.9):

  • Confidence propagation reworked for multiple truth functions, replacing several conservative “min-of-confidences” aggregations.
  • New helper Truth_or(a,b) introduced and used to modulate confidence (notably in similarity-related inference).
  • Evaluation-implication confidence bug fix applied after the initial confidence refactor.
  • Inference control improvements: derivation queue handling moved toward incremental deduplication, and stamp-disjointness checking was tightened to keep derivation ordering deterministic while preserving rule-test behavior.
  • Codebase decluttered: several list/tuple helper wrappers were removed (e.g., TupleConcat, TupleCount, sorting wrappers), simplifying the codebase and reducing overhead.
  • New examples introduced as well as rule tests updated to reflect new STV outputs.
  • Prolog list primitives emphasized (e.g., msort/2, length/2-style operations), consistent with performance-oriented execution in Prolog-based runtimes.

User-facing changes

Compared with v0.6, the most visible differences for users embedding PLN in MeTTa programs are numeric (changed STV outputs), traceability (stamp/evidence aggregation behavior), and library API surface (removal of a few helper wrappers that downstream code might have relied on).