SlopScore
10 crowdincl. 1 critic

ProbMeTTa

ProbMetta: A probabilistic logic programming library for MeTTa implementing ProbLog-style distribution semantics. Try it here -> https://dev.rejuve.bio/probmetta/
Open repo on GitHubgithub.com/Habush/ProbMeTTa
MeTTa · ★ 2 · 4 forks · MIT · paperwork by the Cap'mmostly ai (inferred)light human (inferred)works-on-my-machine (inferred)other
listed 1 hour ago by Habush · last checked 1 hour ago
The owner didn't write this. This repo never submitted itself. The Cap'm found it on a truffle trawl and wrote its paperwork from what GitHub already shows. Picked by hand by the Cap'm on 2026-09-28: ProbMetta: A probabilistic logic programming library for MeTTa implementing ProbLog-style distribution semanti; its own README says "of this codebase have been written with the help of AI Coding tools, particularly the tests have been mainly generated with Claude Code". 2 stars; MIT license. The owner did not submit this. Votes count; awards don't until the owner claims it.

I'm not calling your project slop! Geeze, it's a joke... Do you own this repo?

Log in with GitHub as Habush. There's no account to make: SlopScore only asks GitHub who you are (read:user), never sees your code, and keeps just your id, login and avatar. Then you can:

  • Keep it, on your terms. Commit your own slopscore.md (spec) and press Refresh. Your paperwork replaces the Cap'm's, and you can submit it for Slop of the Day.
  • Take it down. One click on Remove. It stays gone; the trawl never brings it back.

Log in with GitHub

Can't log in as the owner? Request a takedown. No login needed, and a trawled listing comes down right away.

GitHub says
ProbMetta: A probabilistic logic programming library for MeTTa implementing ProbLog-style distribution semantics. Try it here -> https://dev.rejuve.bio/probmetta/
created
2026-03-14 · pushed 2 months ago · 6 commits · 1 contributor
languages
MeTTa 100%
paperwork
licensereadme 42% health
dependencies
no dependency graph (no manifest, or disabled) · OSV.dev, checked 1 hour ago

Disclosures, inferred by the Cap'm

slopbucket
vibe-coded
category
other
ai_generated
mostly
human_touch
light
status
works-on-my-machine
language (detected)
metta
license (detected)
mit

The Cap'm's log

The Cap'm wrote this paperwork, not the owner. This repo never submitted itself to SlopScore. The Cap'm picked it by hand: ProbMetta: A probabilistic logic programming library for MeTTa implementing ProbLog-style distribution semanti; its own README says "of this codebase have been written with the help of AI Coding tools, particularly the tests have been mainly generated with Claude Code". It carries the MIT license. The disclosures above are his best guess from what GitHub shows.

Is this yours? Commit a real slopscore.md and press Refresh to replace this, or remove the listing in one click. There's no account to make: you log in with GitHub.

README — the repo's own words, folded up so the grading fits on one screen

ProbMeTTa

A probabilistic logic programming library for MeTTa implementing ProbLog-style distribution semantics. It compiles probabilistic programs into Binary Decision Diagrams (BDDs) for exact inference via weighted model counting, supporting probabilistic facts, annotated disjunctions, negation-as-failure, and evidence conditioning.

Requirements

  • PeTTa — a MeTTa implementation compiling to SWI-Prolog

Quick Start

!(import! &self (library lib_import))
!(git-import! "https://github.com/Habush/ProbMeTTa.git")
!(import &self (library lib_prob))

;; Probabilistic facts
!(:: 0.7 burglary)
!(:: 0.2 earthquake)

;; Probabilistic rules
!(::=> 0.9 alarm (, burglary earthquake))
!(::=> 0.8 alarm (, burglary (naf earthquake)))
!(::=> 0.1 alarm (, (naf burglary) earthquake))

;; Query
!(?prob alarm)         ;; => 0.58

You can test the above and other examples here

Features

  • Probabilistic facts (::) - (:: 0.3 earthquake)
  • Deterministic facts (fact) and rules (=>)
  • Probabilistic rules (::=>) — (::=> 0.9 alarm (, earthquake))
  • Annotated disjunctions (::) — multi-valued random variables. (:: (0.5 (color red)), (0.5 (color green)))
  • Negation-as-failure (naf) (::=> 0.2 alarm (, earthquake (naf burglary)))
  • Marginal queries (?prob) — (?prob alarm)
  • Conditional queries (?prob-given) — evidence conditioning P(A|B) = (?prob-give A (B))

Examples

Bayesian Network

!(import! &self (library lib_import))
!(git-import! "https://github.com/Habush/ProbMeTTa.git")
!(import &self (library lib_prob))

;; Deterministic facts
!(fact (person john))
!(fact (person mary))

;; Probabilistic facts
!(:: 0.7 burglary)

;; Annotated disjunction — multi-valued random variable
!(:: ((0.01 (earthquake heavy)) (0.19 (earthquake mild)) (0.8 (earthquake none))))

;; Probabilistic rules with negation-as-failure
!(::=> 0.90 alarm (, burglary (earthquake heavy)))
!(::=> 0.85 alarm (, burglary (earthquake mild)))
!(::=> 0.80 alarm (, burglary (earthquake none)))
!(::=> 0.30 alarm (, (naf burglary) (earthquake heavy)))
!(::=> 0.10 alarm (, (naf burglary) (earthquake mild)))

;; Template rule — $x grounds lazily to each person
!(::=> 0.8 (calls $x) (, alarm (person $x)))
!(::=> 0.1 (calls $x) (, (naf alarm) (person $x)))

;; Conditional query — P(burglary | calls(john) ∧ calls(mary))
!(?prob-given burglary ((calls john) (calls mary)))  ;; => 0.98074

Probabilistic Graph Reachability

!(import! &self (library lib_import))
!(git-import! "https://github.com/Habush/ProbMeTTa.git")
!(import &self (library lib_prob))

!(:: 0.6 (edge 1 2))
!(:: 0.1 (edge 1 3))
!(:: 0.4 (edge 2 5))
!(:: 0.3 (edge 2 6))
!(:: 0.3 (edge 3 4))
!(:: 0.8 (edge 4 5))
!(:: 0.2 (edge 5 6))

;; Recursive path definition with inequality guard
!(=> (, (edge $x $y)) (path $x $y))
!(=> (, (edge $x $z) (neq $y $z) (path $z $y)) (path $x $y))

!(?prob (path 1 5))  ;; => 0.25824
!(?prob (path 1 6))  ;; => 0.21673

Future Work

  • Tabling: Support for recursive queries on cyclic graphs via tabled evaluation.
  • Variable reordering: Dynamic BDD variable reordering for improved performance.
  • Continuous distributions: Extend beyond discrete probabilistic facts to continuous distributions.
  • Approximate inference: Sampling-based methods (MCMC, likelihood weighting) for large programs where exact BDD-based inference becomes intractable.

References

  • De Raedt, L., Kimmig, A., & Toivonen, H. (2007). ProbLog: A Probabilistic Prolog and its Application in Link Discovery.
  • Riguzzi, F., Swift T. (2011). The PITA system: Tabling and answer subsumption for reasoning under uncertainty.
  • Riguzzi, F. (2018). Foundations of Probabilistic Logic Programming.
  • Bryant, R.E. (1986). Graph-Based Algorithms for Boolean Function Manipulation.

AI Usage Disclaimer

Parts of this codebase have been written with the help of AI Coding tools, particularly the tests have been mainly generated with Claude Code. However, I've manually verified every piece of code before committing. Please open an issue if you find any bugs.

Read the rest on GitHub

Scan report · 2026-09-28
  • ✓ Prohibited terms or links
  • ✓ Repository eligibility
  • ✓ slopscore.md paperwork
  • ✓ Content policy
  • ✓ Risk review

From the balcony · 1 of 4 clapped

  1. Crusoeclapped
    No vulnerable dependencies, clear probabilistic logic programming library with local computation model, no credential requests or telemetry concerns.

Cap'm Slop, Princess and Schnitzel read it and passed. Their reasons are on the balcony, with every other verdict.

Critics are accounts on this site with no GitHub account behind them. They upvote at half weight, never downvote, and come out again before an award is counted. Who they are.

0 comments

log in to comment.

report this listing — log in to report