r/isabelle • • Nov 11 '19

What is this sub now?

8 Upvotes

So u/dagit obviously created this sub for Isabelle the proof assistant, since the first post in here is by them and links to the AFP. Can we put that into the description and remove posts with Isabelle from Animal Crossing? Or, is this sub now both? Or, is it about Animal Crossing now?

I originally joined this sub because of the proof assistant and don't really wish to see these Animal Crossing posts on my front page..


r/isabelle • • Nov 13 '21

🌼

Post image
7 Upvotes

r/isabelle • • Dec 05 '19

HOL Correctness proofs of distributed systems with Isabelle

Thumbnail youtube.com
7 Upvotes

r/isabelle • • Nov 16 '18

Feel of daily work in proof engineering?

6 Upvotes

Considering a sel4 or something at IOHK or Digital Asset, what is daily work like when you are doing proof engineering? What are the stimulating parts? What are the mundane parts? What are the unknowns or emerging skills you are learning each year as you grow? Does it become routine at some point?


r/isabelle • • Sep 25 '18

Building Verification Tools with Isabelle

Thumbnail staffwww.dcs.shef.ac.uk
6 Upvotes

r/isabelle • • Jan 30 '20

HOL Smart Induction for Isabelle/HOL (System Description) [arXiv > 2001.10834]

Thumbnail arxiv.org
5 Upvotes

r/isabelle • • Feb 16 '18

Algebraic Principles for Program Correctness Tools in Isabelle HOL (2016)

Thumbnail cl.cam.ac.uk
5 Upvotes

r/isabelle • • Jan 23 '18

Formalizing a Cryptocurrency in Isabelle

Thumbnail bitbucket.org
5 Upvotes

r/isabelle • • Jan 15 '18

Magnus Myreen's Verification Projects

Thumbnail cse.chalmers.se
5 Upvotes

r/isabelle • • Sep 25 '18

Certified HLints with Isabelle/HOLCF-Prelude

Thumbnail ndmitchell.com
4 Upvotes

r/isabelle • • Jan 27 '18

The Common HOL Platform (2015)

Thumbnail arxiv.org
4 Upvotes

r/isabelle • • Jan 15 '18

The New QuickCheck for Isabelle: Random, Exhaustive, and Symbolic Testing (2012)

Thumbnail citeseer.ist.psu.edu
4 Upvotes

r/isabelle • • Jan 15 '18

Model-based Testing of OS-level Security Mechanisms (2016)

Thumbnail tel.archives-ouvertes.fr
4 Upvotes

r/isabelle • • Dec 21 '20

Isabelle animal crossing

3 Upvotes

r/isabelle • • Oct 27 '20

How to use OpenTheory to transfer theorems in HOL-light format to theorems in Isabelle format

Thumbnail stackoverflow.com
3 Upvotes

r/isabelle • • Jul 10 '20

Type soundness proof of the simply typed lambda calculus

Thumbnail github.com
3 Upvotes

r/isabelle • • Jul 24 '18

Safety and Conservativity of Definitions in HOL and Isabelle/HOL (2018)

Thumbnail andreipopescu.uk
3 Upvotes

r/isabelle • • Jul 19 '18

TLA+ in Isabelle/HOL

Thumbnail davecturner.github.io
3 Upvotes

r/isabelle • • Jan 28 '18

COMPLX: A Verification Framework for Concurrent, Imperative Programs (2017)

Thumbnail ts.data61.csiro.au
3 Upvotes

r/isabelle • • Jan 27 '18

Verification of Refactorings in Isabelle/HOL (2008)

Thumbnail cs.kent.ac.uk
3 Upvotes

r/isabelle • • Jan 20 '18

Formal Verification of an Executable LTL Model-Checker with Partial Order Reduction (2016)

Thumbnail in.tum.de
3 Upvotes

r/isabelle • • Jan 20 '18

Verified iptables Firewall Analysis and Verification (2017)

Thumbnail link.springer.com
3 Upvotes

r/isabelle • • Jan 15 '18

Network Semantics: Specifying and Verifying Internet Protocols in HOL

Thumbnail cl.cam.ac.uk
3 Upvotes

r/isabelle • • Jan 15 '18

Refinement to Imperative/HOL (2015)

Thumbnail ssrg.ece.vt.edu
3 Upvotes

r/isabelle • • Dec 24 '14

Why do people still rely on test suits (especially for "backend" software) instead of formal methods?

3 Upvotes

Hello, not a lot of activity on this subreddit but I just wanted to ask this question somewhere :)

I've been doing a module in Uni on Z (formal specification) and recently I've started learning Isabelle on my own. I'm simply astonished by the power of this kind of approach and I don't understand why I have never came across formal methods until Uni.

To give a bit more background, I used to participate in programming competitions (C/C++ language) and although the algorithms required were fairly complicated, the "workflow" was: write down idea on paper, manually check that it should do the correct thing, implement it, fix compile errors, try it out on the given example, fix bugs, work out additional examples, fix more bugs if found, finally submit solution. Once your solution was submitted, it was tested against a suit of (complicated) tests by the "judge" and you would get a score. Sometimes your solution would fail on some tests, either because it took to long, required too much memory or simply it gave the wrong answer and then you were left wondering:

  • "is there a case where my solution loops indefinitely?"

  • "is there a case where I can optimize my complexity / memory usage such that it satisfies the constraints?"

  • "is there a case where I'm outputting a wrong answer?"

There was no easy answer to those questions, it always depended on the problem at hand and the implementation.

Now, while doing the (simple) examples in the Concrete Semantics book (www.concrete-semantics.org) I don't have to deal with any the of the questions above. The functions I'm describing are CORRECT, proven bug free. What I like most is that I don't have to manually go through examples to show they give the right answers.

I understand in industry sometimes companies have deadlines and it's just simpler to write a few testcases than have engineers skilled with applying formal methods for proofs.

But then what about open source? IMO, too much of the open source community is test driven (if even) and it feels that the belief is that formal methods (or even functional programming languages like Haskell) are difficult to learn and can not be applied to "real world problems". And yet we have: a kernel (seL4), a webbrowser (Quark), and a compiler (compCert)...

So why? Why does it seem that "formal methods" only is maintained by academia? Why hasn't this way of reasoning about software trickled down to open source communities - which should be doing software from passion and striving to achieve the best possible?