Verifying relational properties of functional programs by first-order refinement

Kazuyuki Asada, Ryosuke Sato, Naoki Kobayashi

研究成果: Contribution to journalArticle査読

5 被引用数 (Scopus)


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 refinement types where refinement predicates can refer to functions, and formalize a systematic program transformation to reduce type checking/inference for higher-order refinement types to that for first-order refinement types, so that the latter can be automatically solved by using an existing software model checker. We also prove the soundness of the transformation, and report on implementation and experiments.

ジャーナルScience of Computer Programming
出版ステータス出版済み - 4 1 2017

All Science Journal Classification (ASJC) codes

  • Software

フィンガープリント 「Verifying relational properties of functional programs by first-order refinement」の研究トピックを掘り下げます。これらがまとまってユニークなフィンガープリントを構成します。