Guardado en:
Detalles Bibliográficos
Autores principales: Mulleners, Niek, Jeuring, Johan, Heeren, Bastiaan
Formato: Preprint
Publicado: 2024
Materias:
Acceso en línea:https://arxiv.org/abs/2406.18304
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866914860485312512
author Mulleners, Niek
Jeuring, Johan
Heeren, Bastiaan
author_facet Mulleners, Niek
Jeuring, Johan
Heeren, Bastiaan
contents Parametricity states that polymorphic functions behave the same regardless of how they are instantiated. When developing polymorphic programs, Wadler's free theorems can serve as free specifications, which can turn otherwise partial specifications into total ones, and can make otherwise realizable specifications unrealizable. This is of particular interest to the field of program synthesis, where the unrealizability of a specification can be used to prune the search space. In this paper, we focus on the interaction between parametricity, input-output examples, and sketches. Unfortunately, free theorems introduce universally quantified functions that make automated reasoning difficult. Container morphisms provide an alternative representation for polymorphic functions that captures parametricity in a more manageable way. By using a translation to the container setting, we show how reasoning about the realizability of polymorphic programs with input-output examples can be automated.
format Preprint
id arxiv_https___arxiv_org_abs_2406_18304
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Example-Based Reasoning about the Realizability of Polymorphic Programs
Mulleners, Niek
Jeuring, Johan
Heeren, Bastiaan
Programming Languages
Parametricity states that polymorphic functions behave the same regardless of how they are instantiated. When developing polymorphic programs, Wadler's free theorems can serve as free specifications, which can turn otherwise partial specifications into total ones, and can make otherwise realizable specifications unrealizable. This is of particular interest to the field of program synthesis, where the unrealizability of a specification can be used to prune the search space. In this paper, we focus on the interaction between parametricity, input-output examples, and sketches. Unfortunately, free theorems introduce universally quantified functions that make automated reasoning difficult. Container morphisms provide an alternative representation for polymorphic functions that captures parametricity in a more manageable way. By using a translation to the container setting, we show how reasoning about the realizability of polymorphic programs with input-output examples can be automated.
title Example-Based Reasoning about the Realizability of Polymorphic Programs
topic Programming Languages
url https://arxiv.org/abs/2406.18304