Typechecking without Minimum Types: Finite Bases and Backward Checking for F<:^
Mingkun Xiao, Yixuan Sun
Abstract
System F<: has decidable subtyping but lacks minimum types. We prove that typechecking is decidable for arbitrary explicitly annotated terms with unrestricted subsumption. The difficulty is that type abstraction uses a variable's declared bound to type its body, while quantified subtyping forgets that bound. We construct finite covers that preserve all required subtype comparisons across this change of context. These covers yield a compositional finite typing basis and a decision procedure. We then derive a backward checker that propagates acceptable targets without constructing the complete typing basis. Rectangularity of typing families gives a uniform elimination domain while retaining every result type, even when the canonical type is not least. Finite inverse families transport targets through type substitution. The same inverse specification recovers bound forgetting and yields finite type-avoidance families. Both typechecking procedures are total Rocq functions proved equivalent to the original typing judgment. For a separate symbolic word-RAM realization, we prove a quartic worst-case work bound. We measure family representation sizes and comparison storage in independent OCaml prototypes on synthetic checking judgments.
Create a lesson
Related papers
Verifying deployed bytecode against executable EVM semantics, with exact gas and no added axioms
Seulkee Baek
Recursive Formation and First-Class Reuse of Compositional Capabilities
Hang Lin
OpenMQPI: An MLIR-based Pipeline to Offload Quantum Circuits via OpenMP
Ercüment Kaya, Ekin Devim Şahinkaya, Minh Chung et al.
Compositional Information Geometry of Probabilistic Programs
Jacek Karwowski, Frank Nielsen, Sam Staton
Scenario Proofs for Verification of Distributed Protocols
Zhendong Ang, George Pîrlea, Umang Mathur
Contravariant Universe Subtyping, Formalized, Mechanized
Shengyi Jiang, Jason Z. S. Hu