Review on Functional Algorithms, Verified!

IF 1.4 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING
A. Charguéraud
{"title":"Review on Functional Algorithms, Verified!","authors":"A. Charguéraud","doi":"10.1145/3594639","DOIUrl":null,"url":null,"abstract":"The book Functional Algorithms, Verified! provides a presentation of classic functional data structures and algorithms with a fairly original perspective: that of accompanying every data structure with formal specifications. The specifications cover not only functional correctness but also time complexity bounds. The book has been used as course notes by Tobias Nipkow and colleagues over several years. It benefits from feedback from the classroom, invaluable for streamlining the presentation of the material. I would say that it is well suited for master’s students. It could also be accessible for students in the final year of a bachelor’s degree and highly valuable to Ph.D. students who wish to formalize or use formalized data structures. Interestingly, although its contents are formally verified, this book is not about mechanized proofs. It is meant to be accessible to readers with no background in proof assistants. What matters in this book is the mechanized specifications , which are provided for every data structure. Throughout the book, the reader is taught how to write formal specifications for sets, maps, sequences, functional arrays, and priority queues. These formal interfaces are the cornerstones of program verification. The proofs are presented in English, each time with formal statements and an explanation of what kind of induction principle is exploited. The proof details, which can be found in the accompanying Isabelle/HOL proof scripts, are very useful for readers interested in conducting formal proofs on functional data structures. For other readers, following the proof scripts is completely optional. The book","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":" ","pages":"1 - 2"},"PeriodicalIF":1.4000,"publicationDate":"2023-05-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Formal Aspects of Computing","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1145/3594639","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0

Abstract

The book Functional Algorithms, Verified! provides a presentation of classic functional data structures and algorithms with a fairly original perspective: that of accompanying every data structure with formal specifications. The specifications cover not only functional correctness but also time complexity bounds. The book has been used as course notes by Tobias Nipkow and colleagues over several years. It benefits from feedback from the classroom, invaluable for streamlining the presentation of the material. I would say that it is well suited for master’s students. It could also be accessible for students in the final year of a bachelor’s degree and highly valuable to Ph.D. students who wish to formalize or use formalized data structures. Interestingly, although its contents are formally verified, this book is not about mechanized proofs. It is meant to be accessible to readers with no background in proof assistants. What matters in this book is the mechanized specifications , which are provided for every data structure. Throughout the book, the reader is taught how to write formal specifications for sets, maps, sequences, functional arrays, and priority queues. These formal interfaces are the cornerstones of program verification. The proofs are presented in English, each time with formal statements and an explanation of what kind of induction principle is exploited. The proof details, which can be found in the accompanying Isabelle/HOL proof scripts, are very useful for readers interested in conducting formal proofs on functional data structures. For other readers, following the proof scripts is completely optional. The book
函数算法综述,已验证!
书函数算法,验证!以相当新颖的视角展示经典的功能数据结构和算法:为每个数据结构提供正式规范。这些规范不仅涵盖了功能正确性,还涵盖了时间复杂度界限。多年来,这本书一直被Tobias Nipkow和他的同事用作课程笔记。它受益于来自课堂的反馈,这对于简化材料的呈现是无价的。我想说它非常适合硕士生。它也适用于学士学位最后一年的学生,对希望形式化或使用形式化数据结构的博士生非常有价值。有趣的是,虽然它的内容是正式验证,这本书不是关于机械化的证明。它是为了方便读者没有背景的证明助理。本书中重要的是为每个数据结构提供的机械化规范。在整本书中,读者被教导如何为集合,映射,序列,函数数组和优先级队列编写正式规范。这些形式接口是程序验证的基础。证明是用英文提出的,每次都有正式的陈述和解释哪种归纳法原理被利用。证明细节可以在附带的Isabelle/HOL证明脚本中找到,对于有兴趣对功能数据结构进行正式证明的读者非常有用。对于其他读者,遵循证明脚本是完全可选的。这本书
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Formal Aspects of Computing
Formal Aspects of Computing 工程技术-计算机:软件工程
CiteScore
3.30
自引率
0.00%
发文量
17
审稿时长
>12 weeks
期刊介绍: This journal aims to publish contributions at the junction of theory and practice. The objective is to disseminate applicable research. Thus new theoretical contributions are welcome where they are motivated by potential application; applications of existing formalisms are of interest if they show something novel about the approach or application. In particular, the scope of Formal Aspects of Computing includes: well-founded notations for the description of systems; verifiable design methods; elucidation of fundamental computational concepts; approaches to fault-tolerant design; theorem-proving support; state-exploration tools; formal underpinning of widely used notations and methods; formal approaches to requirements analysis.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信