Uniqueness is Separation

Fuente: arXiv
Guardado en:
Detalles Bibliográficos
Autores principales: O'Connor, Liam, Arevalo, Pilar Selene Linares, Rizkallah, Christine
Formato: Preprint
Publicado: 2026
Materias:
Acceso en línea:
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866911427179053056
author O'Connor, Liam
Arevalo, Pilar Selene Linares
Rizkallah, Christine
author_facet O'Connor, Liam
Arevalo, Pilar Selene Linares
Rizkallah, Christine
contents Value independence is enormously beneficial for reasoning about software systems at scale. These benefits carry over into the world of formal verification. Reasoning about programs algebraically is a simple affair in a proof assistant, whereas programs with unconstrained mutation necessitate much more complex techniques, such as Separation Logic, where invariants about memory safety, aliasing, and state changes must be established by manual proof. Uniqueness type systems allow programs to be compiled to code that uses mutation for efficiency, while retaining a semantics that enjoys value independence for reasoning. The restrictions of these type systems, however, are often too onerous for realistic software. Thus, most uniqueness type systems include some "escape hatch" where the benefits of value independence for reasoning are lost, but the restrictions of uniqueness types are lifted. To formally verify a system with such mixed guarantees, the value independence guarantees from uniqueness types must be expressed in terms of imperative, mutable semantics. In other words, we ought to express value independence as an assertion in Separation Logic.
format Preprint
id arxiv_https___arxiv_org_abs_2602_06386
institution arXiv
publishDate 2026
record_format arxiv
spellingShingle Uniqueness is Separation
O'Connor, Liam
Arevalo, Pilar Selene Linares
Rizkallah, Christine
Programming Languages
Logic in Computer Science
D.2.4; D.3.1
Value independence is enormously beneficial for reasoning about software systems at scale. These benefits carry over into the world of formal verification. Reasoning about programs algebraically is a simple affair in a proof assistant, whereas programs with unconstrained mutation necessitate much more complex techniques, such as Separation Logic, where invariants about memory safety, aliasing, and state changes must be established by manual proof. Uniqueness type systems allow programs to be compiled to code that uses mutation for efficiency, while retaining a semantics that enjoys value independence for reasoning. The restrictions of these type systems, however, are often too onerous for realistic software. Thus, most uniqueness type systems include some "escape hatch" where the benefits of value independence for reasoning are lost, but the restrictions of uniqueness types are lifted. To formally verify a system with such mixed guarantees, the value independence guarantees from uniqueness types must be expressed in terms of imperative, mutable semantics. In other words, we ought to express value independence as an assertion in Separation Logic.
title Uniqueness is Separation
topic Programming Languages
Logic in Computer Science
D.2.4; D.3.1
url https://arxiv.org/abs/2602.06386