A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2017; you can also visit the original URL.
The file type is application/pdf
.
Filters
Proving Properties about Functions on Lists Involving Element Tests
[chapter]
2012
Lecture Notes in Computer Science
All these results are restricted to fully polymorphic functions. For example, functions using equality tests on list elements are out of reach. ...
Bundy and Richardson [4] developed a method for reasoning about functions manipulating lists which is based on separating shape from content, and then exploiting a mathematically convenient representation ...
functions on lists to the case of the presence of element tests. ...
doi:10.1007/978-3-642-28412-0_17
fatcat:25zvp5sjjfhsfi5fjhsixfdirq
Property-Based Testing and Verification: A Catalog of Classroom Examples
[chapter]
2012
Lecture Notes in Computer Science
Our collection of examples from course records may help shed some light on how closely pedagogy on property-based testing matches observations of relative frequencies of various categories of properties ...
Hughes has observed that software properties useful for testing functional software often (1) compare the results of different ways of computing the same thing or (2) check that forward and inverse transformations ...
Morazán for suggesting a section on tips for full verification of prpperties and John Hughes for helpful discussions of property categories. ...
doi:10.1007/978-3-642-34407-7_9
fatcat:v5g4x2pk7zalnn6k7v74ngz2e4
Logic against ghosts
2019
Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing - SAC '19
The proposed specifications are validated by proving a few client functions manipulating lists. During the verification, a more efficient implementation for one function was found and verified. ...
The specifications of all functions are now proved faster and almost all automatically, only a small number of auxiliary lemmas and a couple of assertions being proved interactively in Coq. ...
In order to get confidence in our specification of the list module functions, we wrote 15 valid test functions manipulating lists, and proved simple properties about them using Frama-C/Wp. ...
doi:10.1145/3297280.3297495
dblp:conf/sac/BlanchardKL19
fatcat:eyb25mrlenctxgauugbe4rdrt4
Ghosts For Lists: A Critical Module Of Contiki Verified In Frama-C
2018
Zenodo
Finally, we validate the proposed specification by proving a few functions manipulating lists. ...
The proposed verification technique relies on a parallel view of a list through a companion ghost array. ...
Validation of Specification To get confidence in the proposed specification, we have implemented 15 simple valid test functions 7 manipulating lists, and tried to prove simple properties on lists in them ...
doi:10.5281/zenodo.1402494
fatcat:q3aslgztnvdx5jjklotmvrpkpm
Ghosts for Lists: A Critical Module of Contiki Verified in Frama-C
[chapter]
2018
Lecture Notes in Computer Science
Finally, we validate the proposed specification by proving a few functions manipulating lists. ...
The proposed verification technique relies on a parallel view of a list through a companion ghost array. ...
Validation of Specification To get confidence in the proposed specification, we have implemented 15 simple valid test functions 7 manipulating lists, and tried to prove simple properties on lists in them ...
doi:10.1007/978-3-319-77935-5_3
fatcat:drww6giaqrc37hkfl4gjgjmcwa
Verifying haskell programs using constructive type theory
2005
Proceedings of the 2005 ACM SIGPLAN workshop on Haskell - Haskell '05
Proof assistants based on dependent type theory are closely related to functional programming languages, and so it is tempting to use them to prove the correctness of functional programs. ...
One begins by expressing a specification as a type; for example, ∀xs :: List Integer.∃ys :: List Integer. isPermutation(xs, ys) ∧ isOrdered(ys) ...
proofs about partial programs. ...
doi:10.1145/1088348.1088355
dblp:conf/haskell/AbelBBHN05
fatcat:43fip43tijgtpnwlsxrhsh6swu
Engineering software correctness
2005
Proceedings of the 2005 workshop on Functional and declaritive programming in education - FDPE '05
The sequence is based on functional programming using ACL2, a purely functional subset of Common Lisp with a built-in, computational logic developed by J Strother Moore and his colleagues over the past ...
In the second offering, about forty percent of the students gained enough competence with the ACL2 mechanized logic to make significant use of it in verifying properties of software. ...
One such example is a function that parcels a list into packets. Each packet is a contiguous sublist of the original, containing the elements lying between occurrences of a specified delimiter. ...
doi:10.1145/1085114.1085123
dblp:conf/icfp/Page05
fatcat:5cepkw3al5fbdaelk2f2a5n2rm
Engineering Software Correctness
2007
Journal of functional programming
The sequence is based on functional programming using ACL2, a purely functional subset of Common Lisp with a built-in, computational logic developed by J Strother Moore and his colleagues over the past ...
In the second offering, about forty percent of the students gained enough competence with the ACL2 mechanized logic to make significant use of it in verifying properties of software. ...
One such example is a function that parcels a list into packets. Each packet is a contiguous sublist of the original, containing the elements lying between occurrences of a specified delimiter. ...
doi:10.1017/s095679680700634x
fatcat:ftethwcglvcibprebzo3tzpqsu
Pi-Ware: Hardware Description and Verification in Agda
2018
Types for Proofs and Programs
We demonstrate this by defining an algebra of parallel prefix circuits, proving their correctness and further algebraic properties. ...
There is a long tradition of modelling digital circuits using functional programming languages. ...
Acknowledgements We would like to thank the helpful comments and suggestions of the attendants of the TYPES 2015 conference in Tallinn where we presented our initial results on Π-Ware. ...
doi:10.4230/lipics.types.2015.9
dblp:conf/types/FlorSS15
fatcat:cfswwcfherbinipoj363hl722a
Functional programming and theorem proving for undergraduates
2008
Proceedings of the 2008 international workshop on Functional and declarative programming in education - FDPE '08
For the past five years, the University of Oklahoma has used the ACL2 theorem prover for a year-long sequence on software engineering. ...
One out of four times, the generator produces nil; three in four times, it extends a recursively chosen tail list with an element chosen independently from elem-dist. ...
Lastly, the library provides a pseudo-random number function. The machine perspective is useful for proving theorems about such GUI programs. ...
doi:10.1145/1411260.1411264
dblp:conf/icfp/PageEF08
fatcat:h2fvj7jj3fcipec6n7qgdscxm4
Automating Inductive Proofs Using Theory Exploration
[chapter]
2013
Lecture Notes in Computer Science
HipSpec is a system for automatically deriving and proving properties about functional programs. ...
It uses a novel approach, combining theory exploration, counterexample testing and inductive theorem proving. ...
The test suites consist of conjectures about natural numbers, lists and binary trees. As they feature a large number of unrelated functions, HipSpec was run separately for each property. ...
doi:10.1007/978-3-642-38574-2_27
fatcat:jdb5lnunjnejxkcsjh3bpp5aym
Termination in ACL2 Using Multiset Relations
[chapter]
2003
Applied Logic Series
We prove this property in the ACL2 logic, and use it by functional instantiation in order to provide well-founded relations for the admissibility test of recursive functions. ...
Every relation on a set A induces a relation on finite multisets over A; it can be shown that the multiset relation induced by a well-founded relation is also well-founded. ...
For example, the expression (remove-one 3 '(5 3 7 3)) is evaluated to (5 7 3). But we can also state and prove formal properties about the function, using the ACL2 logic. ...
doi:10.1007/978-94-017-0253-9_9
fatcat:c5apat4qx5amvljyex4gq7pc3u
Accurate Programming: Thinking about programs in terms of properties
2011
Electronic Proceedings in Theoretical Computer Science
This is achieved by encouraging programmers to think about programs in terms of properties. ...
It combines ideas from test-automation, test-driven development, agile programming, and other state of the art software development methods. ...
Finally, Paul Brauner kindly provided us with helpful comments on a draft of these notes. Rex's visit would have not been possible without the generous support of the U.S. ...
doi:10.4204/eptcs.66.13
fatcat:2p6qj7o47zatfcd3qblx7rb7ge
Towards the Formal Reliability Analysis of Oil and Gas Pipelines
[chapter]
2014
Lecture Notes in Computer Science
The formal reasoning about the proof of Theorem 2 involves some basic axioms of probability theory and a property that the CDF is a monotonically increasing function. ...
The predicate PERM ensures that its two list arguments form a permutation of one another, the function LENGTH returns the length of a list, the function TAKE returns a list that contains the first n elements ...
doi:10.1007/978-3-319-08434-3_4
fatcat:upkuwifzpzberoer4ji2qwycr4
Learning to Represent Programs with Property Signatures
[article]
2020
arXiv
pre-print
For instance, if τ_in and τ_out are both lists of the same type, one property might ask 'is the input list the same length as the output list?'. ...
If we have a list of such properties, we can evaluate them all for our function to get a list of outputs that we will call the property signature. ...
Most of all, we owe a substantial debt to Niklas Een, on whose Evo programming language (https://github.com/tensorflow/deepmath/tree/master/ deepmath/zz/CodeBreeder) the Searcho language is heavily based ...
arXiv:2002.09030v1
fatcat:ew5evgqhtjcwdllz4oc5fj75x4
« Previous
Showing results 1 — 15 out of 325,847 results