queuea9.wordpress.com
Getting your Agda code to type-check faster | QA9
https://queuea9.wordpress.com/2015/07/01/getting-your-agda-code-to-type-check-faster
Exploring the Computational Logic Literature. Getting your Agda code to type-check faster. July 1, 2015 – 2:04 pm. As I, like many others of good will and high aspiration, battle the POPL ’16 submission deadline, I feel compelled to write a quick post about how to get your Agda code through the type-checker faster. For my submission fight, I have got about 3000 lines of Agda that is intended to be compiled and executed (imagine! Argh Here are three things I did that seemed to help (YMMV, of course):.
queuea9.wordpress.com
Complete partial order of Herbrand models | QA9
https://queuea9.wordpress.com/2014/10/06/complete-partial-order-of-herbrand-models
Exploring the Computational Logic Literature. Complete partial order of Herbrand models. October 6, 2014 – 7:58 pm. Posted in Group news. In our Computational Logic seminar here at The University of Iowa, we are studying logic programming this semester. We are using the very nice book “Logic, Programming, and Prolog”, freely available online. We were talking today about the existence of a least Herbrand model for a definite program. A definite program is just a set of clauses of the form. Be a subset of.
queuea9.wordpress.com
Coming back to iteration | QA9
https://queuea9.wordpress.com/2014/08/15/coming-back-to-iteration
Exploring the Computational Logic Literature. Coming back to iteration. August 15, 2014 – 11:49 am. I haven’t yet started repeating myself — though there’s every chance you’ll hear it here twice — but iteration is the sort of thing one can find just one use after another for. I mean, if you’ve seen it once, you’ve seen it a thousand times: iteration delivers repeatedly. How many times have you iterated to good effect? I say again: is iteration great or what? In my standard library. Div-result : ℕ ℕ Set.
syntaxexclamation.wordpress.com
Quick, dirty and shallow definitions | Syntax!
https://syntaxexclamation.wordpress.com/2013/11/21/quick-dirty-and-shallow-definitions
A research blog about programming languages, formal logics, software development and their interactions, by Matthias Puech. Quick, dirty and shallow definitions. Here is a quick hack. A few months ago. Have you ever implemented an quick prototype for a language, and be annoyed by the lack of definition mechanism? For instance, you define a small calculus and encode a few constructs to test it, but end up with outputs like:. When you only wanted the system to print:. Some would call this a deep encoding.
syntaxexclamation.wordpress.com
Reverse natural deduction and get sequent calculus | Syntax!
https://syntaxexclamation.wordpress.com/2011/09/01/reverse-natural-deduction-and-get-sequent-calculus
A research blog about programming languages, formal logics, software development and their interactions, by Matthias Puech. Reverse natural deduction and get sequent calculus. This is a follow-up on my previous post. It should be readable by itself if you just take a quick peek at. We shall here start by writing a type-checker for the usual simply typed lambda-calculus, natural deduction-style. Types are:. Type tp = Nat Arr of tp * tp. Let us make a. Process. Having redexes in the syntax and eliminat...
syntaxexclamation.wordpress.com
Typeful disjunctive normal form | Syntax!
https://syntaxexclamation.wordpress.com/2014/04/18/547
A research blog about programming languages, formal logics, software development and their interactions, by Matthias Puech. Typeful disjunctive normal form. This is the answer to last post’s puzzle. I gave an algorithm to put a formula in disjunctive normal form, and suggested to prove it correct in OCaml. Thanks to GADTs. My solution happens to include a wealth of little exercises that could be reused I think, so here it is. What we are eventually looking for is a function. Must return the pair of a.
syntaxexclamation.wordpress.com
Representing pattern-matching with GADTs | Syntax!
https://syntaxexclamation.wordpress.com/2014/04/12/representing-pattern-matching-with-gadts
A research blog about programming languages, formal logics, software development and their interactions, by Matthias Puech. Representing pattern-matching with GADTs. Here is a little programming pearl. I’ve been wanting to work on pattern-matching for a while now, and it seems like I will finally have this opportunity here at my new (academic) home, McGill. Match E with (y, z) - E. Actually is sugar for. Match E with ( , ) - fun x y - E. The ideas probably extends seamlessly to De Bruijn indices, by thre...
queuea9.wordpress.com
The perils of predicativity and its opposite | QA9
https://queuea9.wordpress.com/2015/04/21/the-perils-of-predicativity-and-its-opposite
Exploring the Computational Logic Literature. The perils of predicativity and its opposite. April 21, 2015 – 7:55 pm. Posted in Type Theory. Forget squabbles over comment characters (I do think I prefer Haskell/Agda’s now over OCaml’s — sorry! This is why in Luo’s Extended Calculus of Constructions. ECC), which is part of the type theory of Coq, only the base level of the universe hierarchy is impredicative, and the other levels are predicative. And that these datatypes are the reason that Coq enforces s...
queuea9.wordpress.com
The square root of two proof | QA9
https://queuea9.wordpress.com/2015/01/27/the-square-root-of-two-proof
Exploring the Computational Logic Literature. The square root of two proof. January 27, 2015 – 4:11 pm. Most QA9 readers will know the nonconstructive proof that there are two irrational numbers a and b such that a to the power b is rational. There is interesting discussion about this here. I recently came across a 2014 note by Roger Hindley. It’s a Math tweet from 1953. Laquo; Complete partial order of Herbrand models. The perils of predicativity and its opposite. Leave a Reply Cancel reply. Create a fr...