Filters








5,820 Hits in 5.5 sec

Proof Pearl: Defining Functions over Finite Sets [chapter]

Tobias Nipkow, Lawrence C. Paulson
2005 Lecture Notes in Computer Science  
This paper outlines a theory of function definition for finite sets, based on the fold functionals often used with lists.  ...  Structural recursion over sets is meaningful only if the result is independent of the order in which the set's elements are enumerated.  ...  The sum of the function f over the set A is defined in terms of fold. Cardinality of a Finite Set.  ... 
doi:10.1007/11541868_25 fatcat:q6qjaqckzzhopirl3ixeygus44

Proof Pearl: Mechanizing the Textbook Proof of Huffman's Algorithm

Jasmin Christian Blanchette
2009 Journal of automated reasoning  
Our Isabelle/HOL proof closely follows the sketches found in standard algorithms textbooks, uncovering a few snags in the process.  ...  Another distinguishing feature of our formalization is the use of custom induction rules to help Isabelle's automatic tactics, leading to very short proofs for most of the lemmas.  ...  Alexander Krauss answered all my Isabelle questions and helped me with the trickier proofs.  ... 
doi:10.1007/s10817-009-9116-y fatcat:p4samcta4zfoxnspkrdefn23fe

Proof Pearl: A Probabilistic Proof for the Girth-Chromatic Number Theorem [chapter]

Lars Noschinski
2012 Lecture Notes in Computer Science  
We formalize a probabilistic proof of this theorem in the Isabelle/HOL theorem prover, closely following a standard textbook proof and use this to explore the use of the probabilistic method in a theorem  ...  In the future, an automated reasoner for inequalities over real-value functions like MetiTarski [1] might be useful. However, the set of a few example inequalities from our proof which L.  ...  However, an (underspecified) function with this equation can easily defined by the partial function command of Isabelle.  ... 
doi:10.1007/978-3-642-32347-8_27 fatcat:mhfexq2shnblnkg34zhumcfybm

Proof Pearl: Regular Expression Equivalence and Relation Algebra

Alexander Krauss, Tobias Nipkow
2011 Journal of automated reasoning  
By mapping regular expressions to binary relations, an automatic and complete proof method for (in)equalities of binary relations over union, composition and (reflexive) transitive closure is obtained.  ...  We define the set D(r ) inductively by the following rules. norm r ∈ D(r ) s ∈ D(r ) =⇒ Da(s) ∈ D(r ) By induction on the structure of r one can prove that D(r ) is always finite.  ...  as (hd ws) . p / ∈ set ps ∪ set ws] in (new @ tl ws, ps )) Functions hd and tl take the head and tail of a list.  ... 
doi:10.1007/s10817-011-9223-4 fatcat:j4ovv2ddkzgd5bx6nb4i5ljtv4

A Proof Pearl with the Fan Theorem and Bar Induction [chapter]

Keiko Nakata, Tarmo Uustalu, Marc Bezem
2011 Lecture Notes in Computer Science  
We study temporal properties over infinite binary red-blue trees in the setting of constructive type theory.  ...  We have fully formalized our development with the Coq proof assistant.  ...  Lists : A * over a set A are finite sequences over A defined inductively by : A * a : A : A * a : A * The notation a denotes singletons, i.e., a = a .  ... 
doi:10.1007/978-3-642-25318-8_26 fatcat:ow4mbnbhlncbrngod4422usszi

A String of Pearls: Proofs of Fermat's Little Theorem [chapter]

Hing-Lun Chan, Michael Norrish
2012 Lecture Notes in Computer Science  
We discuss mechanised proofs of Fermat's Little Theorem in a variety of styles, focusing in particular on an elegant combinatorial "necklace" proof that has not been mechanised previously.  ...  This has pleasant consequences both for the necklace proof, and also for some of the direct number-theoretic approaches.  ...  We write IMAGE f s for the image of set s under function f , and BIJ f s 1 s 2 means that function f is a bijection between sets s 1 and s 2 .  ... 
doi:10.1007/978-3-642-35308-6_16 fatcat:oiswy7gzmzfmdlw5bbvqqwae7i

EDUCATIONAL PEARL: 'Proof-directed debugging' revisited for a first-order version

KWANGKEUN YI
2006 Journal of functional programming  
Some 10 years ago, Harper illustrated the powerful method of proof-directed debugging for developing programs with an article in this journal.  ...  Unfortunately, his example uses both higher-order functions and continuation-passing style, which is too difficult for students in an introductory programming course.  ...  Background Let Σ be an alphabet, that is, a finite set of letters. We use c to denote a letter. Σ * is the set of finite strings over the alphabet Σ. We use s to denote a string.  ... 
doi:10.1017/s0956796806006149 fatcat:4rv6iq7v5zhwzkvocovzo2bc6u

A Formalisation of the Myhill-Nerode Theorem Based on Regular Expressions (Proof Pearl) [chapter]

Chunhan Wu, Xingyuan Zhang, Christian Urban
2011 Lecture Notes in Computer Science  
Nearly all of them introduce the subject by describing finite automata and only mentioning on the side a connection with regular expressions.  ...  In contrast, regular expressions can be defined conveniently as a datatype and a corresponding reasoning infrastructure comes for free.  ...  Our proof will rely on some tagging-functions defined over strings.  ... 
doi:10.1007/978-3-642-22863-6_25 fatcat:bceexo2b5nd4nkbrep5dcjasyq

POSIX Lexing with Derivatives of Regular Expressions (Proof Pearl) [chapter]

Fahad Ausaf, Roy Dyckhoff, Christian Urban
2016 Lecture Notes in Computer Science  
Our definitions and proof are much simpler than those by Sulzmann and Lu and can be easily formalised in Isabelle/HOL.  ...  Sulzmann and Lu have made available on-line what they call a "rigorous proof" of the correctness of their algorithm w.r.t. their specification; regrettably, it appears to us to have unfillable gaps.  ...  By using the type char for characters we have a supply of finitely many characters roughly corresponding to the ASCII character set.  ... 
doi:10.1007/978-3-319-43144-4_5 fatcat:opnx4er5mnelzdztmnyhnnqe34

Proof Pearl: A Verified Bignum Implementation in x86-64 Machine Code [chapter]

Magnus O. Myreen, Gregorio Curello
2013 Lecture Notes in Computer Science  
This paper presents a case study which shows that machine-code verification does not necessarily require ghastly low-level proofs.  ...  We achieve this improvement as a result of using previously developed tools, namely, a proof-producing decompiler and compiler.  ...  We start by defining the algorithms involved as functions in logic. The functions operate over lists of binary words.  ... 
doi:10.1007/978-3-319-03545-1_5 fatcat:vwdjj3wqfrdy5lwusekyndhkiu

Proof Pearl: Purely Functional, Simple and Efficient Priority Search Trees and Applications to Prim and Dijkstra

Peter Lammich, Tobias Nipkow, Michael Wagner
2019 International Conference on Interactive Theorem Proving  
As two applications of this data structure we verify purely functional, simple and efficient implementations of Prim's and Dijkstra's algorithms.  ...  The starting point of this paper is a new, purely functional, simple and efficient data structure combining a search tree and a priority queue, which we call a priority search tree.  ...  E ⊆ V ×V ∧ finite V ∧ sym E ∧ irrefl E } Next, we define accessor functions to obtain the nodes and edges of a graph: nodes:: v ugraph ⇒ v set edges:: v ugraph ⇒ ( v × v) set We also define functions to  ... 
doi:10.4230/lipics.itp.2019.23 dblp:conf/itp/LammichN19 fatcat:cqyyx4x2czdadgh6fhhku4kdi4

Functional pearl

Ralf Hinze
2008 SIGPLAN notices  
In fact, we redevelop the theory of recurrences, finite calculus and generating functions using streams and stream operators building on the cornerstone of unique solutions.  ...  Finally, we rephrase the proof of uniqueness using generalised algebraic data types.  ...  Sigma denotes summation and, traditionally, summation is a binder introducing an index variable that ranges over some set.  ... 
doi:10.1145/1411203.1411232 fatcat:5qyktmskjjfstb3epkmvj2khym

Functional pearl

Ralf Hinze
2008 Proceeding of the 13th ACM SIGPLAN international conference on Functional programming - ICFP '08  
In fact, we redevelop the theory of recurrences, finite calculus and generating functions using streams and stream operators building on the cornerstone of unique solutions.  ...  Finally, we rephrase the proof of uniqueness using generalised algebraic data types.  ...  Sigma denotes summation and, traditionally, summation is a binder introducing an index variable that ranges over some set.  ... 
doi:10.1145/1411204.1411232 dblp:conf/icfp/Hinze08 fatcat:oo35hmry2fflvmzjm7oszr7vyy

Functional pearl

Dimitrios Vytiniotis, Andrew J. Kennedy
2010 Proceedings of the 15th ACM SIGPLAN international conference on Functional programming - ICFP '10  
The functions are parameterized on subtraction and addition operations, and are instantiated with appropriate concrete operations to obtain games for finite multisets and sets of natural numbers, as follows  ...  Proper finite filtering.  ... 
doi:10.1145/1863543.1863548 dblp:conf/icfp/VytiniotisK10 fatcat:z7jv2las6fdtpfvnu4mpqgvjdm

Functional pearl

Dimitrios Vytiniotis, Andrew J. Kennedy
2010 SIGPLAN notices  
The functions are parameterized on subtraction and addition operations, and are instantiated with appropriate concrete operations to obtain games for finite multisets and sets of natural numbers, as follows  ...  Proper finite filtering.  ... 
doi:10.1145/1932681.1863548 fatcat:rlokws6ddzhfpoeylsirgzlawy
« Previous Showing results 1 — 15 out of 5,820 results