{
  "abstract": "Weighted model counting is the sum, over all assignments of the variables, of a product of clause indicators and literal weights, that is, an einsum over Boolean indices. Tensor-network and project-join model counters build on this view, but the translation from a formula to a sum of products, and the elimination of variables that makes it efficient, are normally trusted. We formalize both in Lean 4, using only its core library, and prove three results. First, the plan of a weighted CNF evaluates to its weighted model count, which is defined independently by enumerating all 2^n assignments. Second, bucket elimination along any order of the variables computes the same count. Third, an eliminated (nested) plan can be flattened to a sum of monomials by a verified compiler that draws bound names from a counter, so that no variable is captured, also when names are reused; composed, these give an end-to-end theorem. The development is executable; on small instances the choice of order changes the number of table entries by up to a factor of six. We make no performance claim against solvers.\n\nThe record contains the manuscript (LaTeX sources in the format of the Journal on Satisfiability, Boolean Modeling and Computation, and PDF) and the Lean 4 artifact (tic_sat_lean.zip), which builds with \"bash build.sh\" using Lean 4.35.0.",
  "abstract_shown": true,
  "affiliations": [],
  "article_type": null,
  "arxiv": null,
  "author_total": 1,
  "authors": [
    {
      "name": "Luca Eliseo Pavesi",
      "orcid": "0009-0003-0532-2850"
    }
  ],
  "bibtex": "https://research.draconitic.com/paper/e36ky15wqcjbd.bib",
  "cited_by": 0,
  "doi": "10.5281/zenodo.23539427",
  "fulltext_url": null,
  "id": "e36ky15wqcjbd",
  "issns": [],
  "landing_url": "https://zenodo.org/records/23539427",
  "language": null,
  "licence": "CC-BY-4.0",
  "licence_label": "CC BY 4.0",
  "licence_source": "article",
  "licence_url": "https://creativecommons.org/licenses/by/4.0/",
  "metadata_licence": null,
  "native_subjects": [],
  "openalex": null,
  "pdf_url": "https://zenodo.org/api/records/23539427/files/jsat.pdf/content",
  "pmcid": null,
  "pmid": null,
  "published": "2026-10-21",
  "publisher": null,
  "ris": "https://research.draconitic.com/paper/e36ky15wqcjbd.ris",
  "sources": [
    {
      "first_seen": "2026-11-04T12:20:45Z",
      "native_id": "23539427",
      "source": "zenodo",
      "url": "https://zenodo.org/records/23539427"
    }
  ],
  "subjects": [],
  "title": "Model Counting as a Sum of Products: Verified Translation and Variable Elimination in Lean 4",
  "title_text": "Model Counting as a Sum of Products: Verified Translation and Variable Elimination in Lean 4",
  "type": "preprint",
  "updated_at": "2026-11-04T12:20:45Z",
  "url": "https://research.draconitic.com/paper/e36ky15wqcjbd",
  "venue": "Zenodo",
  "versions": []
}