There is a newer version of the record available.

Published September 29, 2026 | Version v28

Semantic Completeness for Correct Maintenance: A Strict Hierarchy of Typing and Inheritance

  • 1. EDMO icon McGill University

Description

Correct maintenance preserves required answers, excludes invalid states, and minimizes lifetime semantic edits (changed required answers). Banning semantic completeness makes correct maintenance formally impossible. We prove exact minima for identity names, contract memberships, and implementation-class pairs left to code or tooling, in a strict mechanism hierarchy. When meanings look alike but need different answers, graph coloring gives the fewest stable key values. Contract parents supply membership, not code: one suffices exactly for tree-shaped member groups; multiple parents derive any finite membership map.

For distinct, independently changing implementations on one ancestry chain per class, the ancestry gap d_↓ counts the fewest required implementation-class pairs any correct repair inheriting only required implementations leaves outside. It is zero exactly when implementation groups fit a tree. Reparenting, infinite helpers, replicas, arbitrary delegation, and generators cannot lower it. Multiple parents derive every finite relation with none outside. Batching can cut operations, not forced answers; prices do not change their minimum.

In a constructed history, every snapshot fits a tree, yet each update forces a parent change or forwarding or blocking before or after it. Keeping the initial one-parent map leaves exactly n(n + 1)/2 required connections outside ancestry after n updates. No algorithm recognizes all and only permanently tree-shaped generated streams.

18 of 20 pinned, preselected Python source-class maps have positive gaps. Excluding order-sensitive lookups, a SQLAlchemy component has gap 520 and no conflict. Its checked repair needs exactly 59 bundles. Lean 4 checks all numbered formal results, halting reductions, and certified lower bounds; independent replay checks attaining repairs. Complexity-class naming and source extraction remain external.

Files

paper1_oopsla_submission.pdf

Files (7.2 MB)

Name Size
md5:8925bcf68e0d19cb86cc201cf82d1c89
937.3 kB Preview Download
md5:5df349e9ac3a70414a0a982b3cb81d3c
904.4 kB Preview Download
md5:f0ee67445d29be9ff8101785528b7040
5.3 MB Preview Download

Additional details

Software

Programming language
Python
Development Status
Active