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
3
votes
1 answer

Isabelle code generation for terminating uses of possibly non-terminating functions

Is it possible in Isabelle to generate code for a function f that is defined using some recursive function f_helper where f_helper does not terminate in general but does always terminate for the inputs applied to it in f? For example, I am currently…
3
votes
1 answer

What's the difference between Map and Mapping in Isabelle?

So I went to the internet, and I found these: https://isabelle.in.tum.de/library/HOL/HOL/Map.html (Map) https://isabelle.in.tum.de/library/HOL/HOL-Library/Mapping.html (Mapping) Two theories beginning with the word "Map". I read through them for a…
Kookie
  • 328
  • 4
  • 14
3
votes
1 answer

how to do a proof for subset in Isabelle

I'm trying to do some proofs manually in Isabelle but I'm struggling with the following proof: lemma "(A ∩ B) ∪ C ⊆ A ∪ C " I'm trying to transform it Propositional Logic then prove it. So here's what I tried: lemma "(A ∩ B) ∪ C ⊆ A ∪ C " …
user206904
  • 504
  • 4
  • 16
3
votes
0 answers

How to recover proofs from isabelle dump?

Is it possible to recover each line of the proofs or their location from isabelle dump? Inside the theory/thm file output by dump, we can find defined theorems but not the proofs.
Dun Ma
  • 31
  • 2
3
votes
1 answer

How does a z3 certificate look like?

In Extending Sledgehammer with SMT solvers I find this quote: Certificates make it possible to store Z3 proofs alongside Isabelle formalizations, allowing SMT proof replay without Z3. Only if the formalizations cahnge must the certificates be…
user1868607
  • 2,558
  • 1
  • 17
  • 38
3
votes
0 answers

Tracing tactics in Isabelle

Section 9.4 The Classical Reasoner of the Isar Reference Manual writes: The tactics can be traced, and their components can be called directly; in this manner, any proof can be viewed interactively. I have found sections in this manual about…
Gergely
  • 6,879
  • 6
  • 25
  • 35
3
votes
2 answers

Focussing on new subgoals in Eisbach

In Eisbach I can use ; to apply a method to all new subgoals created by a method. However, I often know how many subgoals are created and would like to apply different methods to the new subgoals. Is there a way to say something like "apply method X…
Peter Zeller
  • 2,245
  • 19
  • 23
3
votes
1 answer

An induction for a non-trivial list function

Here is a math exercise (taken from page 2 - in Russian): There are 100 visually indistinguishable coins of three types: gold, silver and copper (each type occurs at least once). It is known that gold weighs 3 grams each, silver weighs 2 grams…
Denis
  • 1,167
  • 1
  • 10
  • 30
3
votes
1 answer

what does Isabelle error Cannot update finished theory "HOL.Finite_Set" mean?

I am trying to use the theory Finite_Set.thy but when I import it imports "$ISABELLE_HOME/SRC/HOL/Finite_Set" the theory I am working on is not parsed. When I open the theory itself, I receive the following error: Cannot update finished theory…
david streader
  • 589
  • 2
  • 7
3
votes
1 answer

Simp does not use the provided lemma in Isabelle

I am doing Exercise 2.6 from the Concrete Semantics book: Starting from the type 'a tree defined in the text, define a function contents :: 'a tree ⇒ 'a list that collects all values in a tree in a list, in any order, without removing duplicates.…
Gergely
  • 6,879
  • 6
  • 25
  • 35
3
votes
1 answer

undefined in Isabelle/HOL

I was trying to prove this lemma in Isabelle/HOL. lemma "(0::nat) ≠ undefined" But nitpick finds counterexamples to both this and it's negation lemma "(0::nat) = undefined" How is this possible? I looked up how undefined is defined and it's an…
DianaPrince
  • 101
  • 5
3
votes
2 answers

How proof assistants are implemented?

What are the main blocks of a proof assistant? I am just interested in knowing the internal logic of proof checking. For example, topics about graphical user interfaces of such assistants do not interest me. A similar question to mine has been…
Aleph
  • 1,343
  • 1
  • 12
  • 27
3
votes
0 answers

Isabelle CONST meaning (in relation to THE)

What is the meaning of CONST in Isabelle/Pure? In HOL.thy, we have the following code blocks: translations "∃!x. P" ⇌ "CONST Ex1 (λx. P)" translations "THE x. P" ⇌ "CONST The (λx. P)" translations "_Let (_binds b bs) e" ⇌ "_Let b (_Let bs e)" …
3
votes
1 answer

Combining tactics a certain number of times in Isabelle

I find myself solving a goal that with safe splits to 32 subgoals. It is a quite algebraic goal so overall I need to use argo, algebra and auto. I was wondering if there is a way to specify that auto should be applied say 2 times, then algebra 10…
user1868607
  • 2,558
  • 1
  • 17
  • 38
3
votes
1 answer

Is 1 / 0 = 0 according to Isabelle?

The following lemma: lemma "(1::real) / 0 = 0" by simp goes through because of theorem division_ring_divide_zero I find this very disturbing since if I want to show that some fraction is non-zero I have to show that the numerator is non-zero AND…
user1868607
  • 2,558
  • 1
  • 17
  • 38