{
  "abstract": "Tensor expressions in index notation, where a repeated index name denotes a summation, are ubiquitous in physics software, but the elaboration of such expressions into explicit sums is rarely verified. We present a small calculus for index notation over a finite index range, with named, variance-tagged indices, and prove in Lean 4 that every well-typed expression transforms covariantly under a change of basis. On top of this core we define a surface language in which a product contracts its repeated names automatically, a translation into the core that introduces explicit contractions and fresh renamings, and an algorithm that infers the set of contracted names from the free indices of the factors. We prove that the translation preserves typing and denotation, that the algorithm is sound and complete with respect to the typing discipline (the contracted set is unique), and that covariance holds for surface expressions. The development is about 1450 lines, uses only the Lean core library, and is intended as the formal core of the tensor fragment of the language PyAct-tensor; the implementation of that language is not itself verified.",
  "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/1pknam36kpf81.bib",
  "cited_by": 0,
  "doi": "10.5281/zenodo.23533336",
  "fulltext_url": null,
  "id": "1pknam36kpf81",
  "issns": [],
  "landing_url": "https://zenodo.org/records/23533336",
  "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/23533336/files/epiarticle.pdf/content",
  "pmcid": null,
  "pmid": null,
  "published": "2026-10-21",
  "publisher": null,
  "ris": "https://research.draconitic.com/paper/1pknam36kpf81.ris",
  "sources": [
    {
      "first_seen": "2026-11-04T12:20:49Z",
      "native_id": "23533336",
      "source": "zenodo",
      "url": "https://zenodo.org/records/23533336"
    }
  ],
  "subjects": [],
  "title": "A mechanized calculus for index notation with automatic contraction",
  "title_text": "A mechanized calculus for index notation with automatic contraction",
  "type": "preprint",
  "updated_at": "2026-11-04T12:20:49Z",
  "url": "https://research.draconitic.com/paper/1pknam36kpf81",
  "venue": "Submitted to Annals of Formalized Mathematics",
  "versions": []
}