While Loops in Coq

被引:1
|
作者
Nowak, David [1 ]
Rusu, Vlad [2 ]
机构
[1] Univ Lille, CNRS, Cent Lille, UMR 9189,CRIStAL, F-59000 Lille, France
[2] Univ Lille, Inria, Cent Lille, UMR 9189,CRIStAL, F-59000 Lille, France
关键词
D O I
10.4204/EPTCS.389.8
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
While loops are present in virtually all imperative programming languages. They are important both for practical reasons (performing a number of iterations not known in advance) and theoretical reasons (achieving Turing completeness). In this paper we propose an approach for incorporating while loops in an imperative language shallowly embedded in the Coq proof assistant. The main difficulty is that proving the termination of while loops is nontrivial, or impossible in the case of non -termination, whereas Coq only accepts programs endowed with termination proofs. Our solution is based on a new, general method for defining possibly non-terminating recursive functions in Coq. We illustrate the approach by proving termination and partial correctness of a program on linked lists.
引用
收藏
页码:96 / 109
页数:14
相关论文
共 50 条
  • [31] COQ IN SERVICES
    WELLS, S
    SLOAN MANAGEMENT REVIEW, 1992, 34 (01): : 6 - 6
  • [32] HOπ in Coq
    Ambal, Guillaume
    Lenglet, Serguei
    Schmitt, Alan
    JOURNAL OF AUTOMATED REASONING, 2021, 65 (01) : 75 - 124
  • [33] COQ OF THE WALK
    Ricciotti, Rudy
    ARCHITECTURAL REVIEW, 2013, 234 (1398) : 54 - 61
  • [34] Fusion in Coq
    Nistal, JLF
    Brañas, JEF
    Ferro, AB
    Penas, JJS
    COMPUTER AIDED SYSTEMS THEORY - EUROCAST 2001, 2001, 2178 : 583 - 596
  • [35] 'COQ DOR'
    MONAHAN, J
    DANCING TIMES, 1976, 66 (789): : 466 - 467
  • [36] Method for Avoiding Loops while Decomposing the Task Description Graph in System-Level Synthesis
    Arato, Peter
    Drexler, Daniel Andras
    Kocza, Gabor
    2014 IEEE 9TH INTERNATIONAL SYMPOSIUM ON APPLIED COMPUTATIONAL INTELLIGENCE AND INFORMATICS (SACI), 2014, : 231 - 235
  • [37] Correct and Complete Type Checking and Certified Erasure for COQ, in COQ
    Sozeau, Matthieu
    Forster, Yannick
    Lennon-bertrand, Meven
    Nielsen, Jakob
    Tabareau, Nicolas
    Winterhalter, Theo
    JOURNAL OF THE ACM, 2025, 72 (01)
  • [38] Brief Announcement: A Compiler-Runtime Application Binary Interface for Pipe-While Loops
    Sukha, Jim
    SPAA'15: PROCEEDINGS OF THE 27TH ACM SYMPOSIUM ON PARALLELISM IN ALGORITHMS AND ARCHITECTURES, 2015, : 83 - 85
  • [39] A Scheme to Update OSPF Network Metrics without Loops while Minimizing Routing Instability Duration
    Arai, Yutaka
    Oki, Eiji
    IEICE TRANSACTIONS ON COMMUNICATIONS, 2012, E95B (04) : 1423 - 1426
  • [40] Characterization of Arabidopsis thaliana Coq9 in the CoQ Biosynthetic Pathway
    Hu, Mei
    Jiang, Yan
    Xu, Jing-Jing
    METABOLITES, 2023, 13 (07)