Example-Based Reasoning about the Realizability of Polymorphic Programs #245
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This paper was randomly selected as your next reading.
ExampleBased Reasoning about the Realizability of Polymorphic Programs
Parametricity states that polymorphic functions behave the same regardless of how they are instantiated. When developing polymorphic programs, Wadlers 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, inputoutput 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 inputoutput examples can be automated.
Mulleners, Niek, et al. “ExampleBased Reasoning about the Realizability of Polymorphic Programs. Proceedings of the ACM on Programming Languages, vol. 8, no. ICFP, Aug. 2024, pp. 31737. Crossref, https://doi.org/10.1145/3674636.
Merge this PR to apply selection.