Proof-Based Synthesis of Sorting Algorithms Using Multisets in Theorema

09/04/2019
by   Isabela Drămnesc, et al.
0

Using multisets, we develop novel techniques for mechanizing the proofs of the synthesis conjectures for list-sorting algorithms, and we demonstrate them in the Theorema system. We use the classical principle of extracting the algorithm as a set of rewrite rules based on the witnesses found in the proof of the synthesis conjecture produced from the specification of the desired function (input and output conditions). The proofs are in natural style, using standard rules, but most importantly domain specific inference rules and strategies. In particular the use of multisets allows us to develop powerful strategies for the synthesis of arbitrarily structured recursive algorithms by general Noetherian induction, as well as for the automatic generation of the specifications of all necessary auxiliary functions (insert, merge, split), whose synthesis is performed using the same method.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/03/2022

A Formalisation of Algorithms for Sorting Network

This notes explains how standard algorithms that construct sorting netwo...
research
02/20/2018

Breaking the Loop: Recursive Proofs for Coinductive Predicates in Fibrations

The purpose of this paper is to develop and study recursive proofs of co...
research
06/09/2023

A Complete Proof Synthesis Method for the Cube of Type Systems

We present a complete proof synthesis method for the eight type systems ...
research
07/01/2021

EqFix: Fixing LaTeX Equation Errors by Examples

LaTeX is a widely-used document preparation system. Its powerful ability...
research
03/29/2013

Formalizing the Confluence of Orthogonal Rewriting Systems

Orthogonality is a discipline of programming that in a syntactic manner ...
research
08/08/2023

One Step Forward, One Step Back: FLP-Style Proofs and the Round-Reduction Technique for Colorless Tasks

The paper compares two generic techniques for deriving lower bounds and ...
research
01/03/2021

DB4HLS: A Database of High-Level Synthesis Design Space Explorations

High-Level Synthesis (HLS) frameworks allow to easily specify a large nu...

Please sign up or login with your details

Forgot password? Click here to reset