top | item 46509173

Proof that any fixed-axis type system fails for some domain (formalized in Lean)

2 points| trissim | 1 month ago |zenodo.org

1 comment

order

trissim|1 month ago

I formalized a proof that the structural vs. nominal typing debate can't be won: any fixed-axis type system necessarily fails for some domain.

The core result: for a type system with fixed axes (like behavior, structure, hierarchy), there exists a domain whose requirements cannot be fully captured. This isn't a limitation of specific languages, it's a mathematical impossibility result.

What's in the zip

Full Lean 4 formalization (compiles with lake build) Instantiations for Python, TypeScript, Java, and Rust The axioms for type system structure are extracted from actual language specifications, not invented

Main theorem: For any fixed-axis type framework, there exists a domain D such that no complete typing is achievable.