Technical Report: Using Loop Scopes with for-Loops

01/21/2019
by   Nathan Wasser, et al.
0

Loop scopes have been shown to be a helpful tool in creating sound loop invariant rules which do not require program transformation of the loop body. Here we extend this idea from while-loops to for-loops and also present sound loop unrolling rules for while- and for-loops, which require neither program transformation of the loop body, nor the use of nested modalities. This approach allows for-loops to be treated as first-class citizens -- rather than the usual approach of transforming for-loops into while-loops -- which makes semi-automated proofs easier to follow for the user, who may need to provide help in order to finish the proof.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/03/2020

Treating for-Loops as First-Class Citizens in Proofs

Indexed loop scopes have been shown to be a helpful tool in creating sou...
research
11/01/2018

Loop Optimization Framework

The LLVM compiler framework supports a selection of loop transformations...
research
04/24/2020

Algebra-based Loop Synthesis

We present an algorithm for synthesizing program loops satisfying a give...
research
12/28/2010

On Elementary Loops of Logic Programs

Using the notion of an elementary loop, Gebser and Schaub refined the th...
research
04/01/2019

Aiming Low Is Harder - Inductive Proof Rules for Lower Bounds on Weakest Preexpectations in Probabilistic Program Verification

We present a new inductive proof rule for reasoning about lower bounds o...
research
06/12/2019

Loop Programming Practices that Simplify Quicksort Implementations

Quicksort algorithm with Hoare's partition scheme is traditionally imple...
research
09/29/2020

New Rewriter Features in FGL

FGL is a successor to GL, a proof procedure for ACL2 that allows complic...

Please sign up or login with your details

Forgot password? Click here to reset