2017
DOI: 10.1016/j.scico.2016.02.007
|View full text |Cite
|
Sign up to set email alerts
|

Verifying relational properties of functional programs by first-order refinement

Abstract: Much progress has been made recently on fully automated verification of higher-order functional programs, based on refinement types and higher-order model checking. Most of those verification techniques are, however, based on first-order refinement types, hence unable to verify certain properties of functions (such as the equality of two recursive functions and the monotonicity of a function, which we call relational properties). To relax this limitation, we introduce a restricted form of higher-order refineme… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
17
0

Year Published

2017
2017
2024
2024

Publication Types

Select...
4
1
1

Relationship

2
4

Authors

Journals

citations
Cited by 14 publications
(17 citation statements)
references
References 21 publications
0
17
0
Order By: Relevance
“…Furthermore, we require that every refinement predicate is welltyped and have type int. (See the full version of this paper [3] for the details.) To enable the reduction to first-order refinement type checking, we shall further restrict the syntax of types later in Section 2.3.…”
Section: Source Languagementioning
confidence: 99%
See 4 more Smart Citations
“…Furthermore, we require that every refinement predicate is welltyped and have type int. (See the full version of this paper [3] for the details.) To enable the reduction to first-order refinement type checking, we shall further restrict the syntax of types later in Section 2.3.…”
Section: Source Languagementioning
confidence: 99%
“…Those conditions are achieved by the preprocessing (−) 3 , (−) 2 , and (−) 1 explained below. 3 Replication of functions If a function variable occurs n (> 1) times in a refinement predicate, we replicate the function and make a tuple consisting of n copies of the function. For example, for a typing…”
Section: : Elimination Of Universal Quantifiers and Function Symbolsmentioning
confidence: 99%
See 3 more Smart Citations