The problem
Can a checking guarantee for one expression survive when it is put into a larger program? An identity function returns its argument, so applying it to another identity function leaves that argument. In a pure subtype system, the same expressions can act as programs and as types. The proposed checking rules still need a general guarantee for replacing expressions in specified positions, with both completed expressions passing the rules.[1] [2]
Can a well-formed expression retain its checking guarantees as it is placed inside a function and evaluated? Let be the identity function. The application reduces to : replacing its parameter by its argument leaves the argument itself. This small instance illustrates substitution, not the missing general theorem.
For the Section 4 machine-based pure subtype system, progress says a well-formed term is in normal form or can take an evaluation step. Preservation says that if is a transitive well-subtype of and evaluates to , then retains that relation to . The substitution argument depends on Conjecture 8, which transfers well-subtyping through the specified covariant contexts when both plugged terms are well-formed.[1] [2]
Scope
The well-formedness, well-subtyping and operational rules for Machine-Based Pure Subtype Systems in Section 4 of Pasquale–García-Pérez (CSL 2026). Complete their progress and preservation argument by proving or refuting Conjecture 8: transitive well-subtyping is preserved by the specified covariant program contexts when both plugged terms are well-formed.
What remains open
Conjecture 8 states: if Γ⊢u≤*wf t and both Co[u] and Co[t] are well-formed in Γ, then Γ⊢Co[u]≤*wf Co[t]. The allowed contexts are the hole, a hole inside a function body, and the function position of an application, recursively. Both well-formedness premises matter; the target is not closure under every arbitrary program context.[1] [2]
Why it matters
Allowing expressions to act as types gives one language for describing values and constraints on those values. The mathematical challenge is compositional: guarantees for small checked expressions must remain meaningful when functions use them inside larger expressions and execution substitutes arguments. This connects the proposed expressiveness to reasoning about whole programs, without claiming a finished compiler or guarantees for every language with subtyping.[1] [2]
When an evaluated function replaces a parameter by its argument, the checker needs to carry a relation established for that argument into the function body. That lets the safety argument use local checking facts inside an assembled expression as evaluation changes it. In this proposed calculus, Conjecture 8 supplies the missing compositional bridge for the specified covariant contexts, only when both plugged expressions are well-formed. It would connect local well-subtyping facts to the conditional progress and preservation argument. It would not establish termination, theorem-prover consistency or equivalence with Hutchins’ original rules.[1] [2]
Definitions
4 terms
well-formed
An expression satisfying this calculus’s specified static checking rules in its logical context. This is a condition of the formal system, not a claim about arbitrary software.[1] [2]
covariant contexts
The particular expression templates in Conjecture 8: a hole, a hole within a function body, or a template in the function position of an application, recursively. They exclude arbitrary placements, such as putting the hole in an argument position.[1] [2]
Sources
- Towards the Type Safety of Pure Subtype Systems
Notes on Towards the Type Safety of Pure Subtype Systems
Sections 3–4 separate the proved commutation result from the well-formed system’s conditional progress and preservation; Conjecture 8 includes the required well-formedness of both plugged terms.
- Towards the type safety of Pure Subtype Systems (Full version)
Notes on Towards the type safety of Pure Subtype Systems (Full version)
Version 2 revised December 13, 2025: Section 4 and the substitution appendix invoke Conjecture 8 explicitly. Related work distinguishes safety from termination and theorem-prover consistency.