Questions tagged [isabelle]

Isabelle is a generic proof assistant, with Isabelle/HOL as main instance.

Isabelle is a generic proof assistant, which is best-known for its Isabelle/HOL instance. It allows mathematical formulas to be expressed in a formal language and provides tools for proving those formulas in a logical calculus. HOL specifications may be turned into program code in SML, OCaml, Haskell, or Scala. Isabelle includes many add-on tools like CVC4, Z3, SPASS, E prover.

User interfaces

Important links

1111 questions
6
votes
1 answer

Building a session using `isabelle` vs jEdit

I've been working in an Isabelle 2019 session which has grown a bit large, and at some point I wasn't able to build it anymore using isabelle build in my 8G RAM machine. Nevertheless, when I open the main theory file using jEdit (running isabelle…
6
votes
1 answer

Partial function in Coq / underdefined?

I have been trying to write and verify a compiler in Agda, using Concrete Semantics (which is written for Coq Isabelle/HOL) as a reference point. I am defining compilation for the same languages used in that text. For context I have finished writing…
Jacob Ward
  • 161
  • 5
6
votes
1 answer

Automatic translation from Isabelle/HOL to HOL

I have some definitions and theorems in Isabelle/HOL and need to use those same definitions and theorems with HOL. Translating the code manually is certainly possible, but cumbersome. Are there any programs that (semi-)automatically perform such a…
Lorenz Leutgeb
  • 474
  • 6
  • 12
6
votes
2 answers

verify an Isabelle proof from the command line

How can I verify that a *.thy file is a valid Isabelle proof from the command line? Doing it in the GUI amounts to seeing that there are no issues/errors/warnings etc, I guess. But is there a way to do it from the command line?
Yoni Zohar
  • 301
  • 2
  • 6
6
votes
2 answers

How to manage all the various proof methods

Is there a "generic" informal algorithm that users of Isabelle follow, when they are trying to prove something that isn't proved immediately by auto or sledgehammer? A kind of general way of figuring out, if auto needs additional lemmas, formulated…
l7ll7
  • 1,309
  • 1
  • 10
  • 20
6
votes
2 answers

Isabelle2016 and Proof General

I've been trying to learn to use Isabelle 2016. While in principle I like the idea of asynchronous proof checking, I don't like Isabelle/jEdit for a number of reasons, the most severe of which is that it uses too much memory (for me). It'd be great…
Pteromys
  • 1,441
  • 2
  • 12
  • 29
6
votes
1 answer

What is the difference between primrec and fun in Isabelle/HOL?

I'm reading the Isabelle tutorial and been trying to clear my concept on use of primrec and fun. With what I've searched so far, including the answer here; I understand that constructor inside primrec can have only one equation and primrec has…
bazinga
  • 983
  • 6
  • 9
6
votes
1 answer

Isabelle solvers: "auto" or "fastforce"? (comparison of solver strength)

In Isabelle, I often find that I can prove a goal successfully using different solvers. Generally I would prefer to use the weakest solver that can just about prove the goal. Based on my experience with Isabelle so far, my current understanding is…
curiousleo
  • 296
  • 1
  • 7
6
votes
1 answer

What do colour codes mean in Isabelle/jEdit?

What do the colour codes mean in Isabelle/jEdit? I could not find their description in the Isabelle/jEdit manual. The only thing it writes is Prover feedback works via colors, boxes, squiggly underline, hyper- links, popup windows, icons,…
Gergely
  • 6,879
  • 6
  • 25
  • 35
6
votes
2 answers

Using "find_theorems" in Isabelle

I want to find theorems. I have read the section on find_theorems in the Isabelle/Isar reference manual: find_theorems criteria Retrieves facts from the theory or proof context matching all of given search criteria. The criterion name: p selects…
Gergely
  • 6,879
  • 6
  • 25
  • 35
6
votes
3 answers

How to enable "Tracing" in Isabelle/jEdit

I'm a vim fan, but only emacs has this Isabelle/HOL environment. jEdit is great, but I cannot use using [[simp_trace=true]] like in emacs. How to enable "Tracing" in jEdit?
njuguoyi
  • 399
  • 4
  • 10
6
votes
1 answer

How to hide defined constants

When I import theory files which come with defined constants (for recursive functions or definitions) like f, how can I hide such a constant in the current theory file? In other words, I want to make sure that f is a free variable. I do not want to…
corny
  • 7,824
  • 3
  • 14
  • 20
6
votes
2 answers

Defining overloaded constants in Isabelle

How can one define a function in Isabelle that has a different definition depending on either the type of its argument, or the type of the context it is used in? For example, I might want to define a functions is_default with type 'a ⇒ bool, where…
davidg
  • 5,868
  • 2
  • 33
  • 51
6
votes
2 answers

Drop a premise in a goal in apply style

let's assume I want to show the following lemma lemma "⟦ A; B; C ⟧ ⟹ D" I get the goal 1. A ⟹ B ⟹ C ⟹ D However, I don't need B. How can I transfer my goal to something like 1. A ⟹ C ⟹ D I don't want to alter the original lemma statement, just…
corny
  • 7,824
  • 3
  • 14
  • 20
6
votes
4 answers

Apply a method if and only if it solves the current goal

Sometimes, when I’m writing apply-style proofs, I have wanted a way to modify a proof method foo to Try foo on the first goal. If it solves the goal, good; if it does not solve it, revert to the original state and fail. This came up in the…
Joachim Breitner
  • 25,395
  • 6
  • 78
  • 139
1 2
3
74 75