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.  ...

### 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.  ...

### 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.  ...

### 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.  ...

### 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 .  ...

### 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 .  ...

### 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.  ...

### 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.  ...

### 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.  ...

### 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.  ...

### 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  ...

### 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.  ...

### 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.  ...

### 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.  ...

### 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.  ...
« Previous Showing results 1 — 15 out of 5,820 results