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

Isabelle Logic simple natural deduction test

http://pastebin.com/1ZEt9r32 What is wrong with line 30? Isabelle says this "Failed to finish proof⌂: goal (2 subgoals): 1. ¬ P ⟹ Q 2. Q ⟹ ¬ P" This is a theory for a natural deduction class
0
votes
1 answer

Using an existing definition in Isabelle/ Hol

I'm new Isabelle/Hol user and I have some confusion regarding using the existing definitions in Isabelle. I have to define a Complete lattice structure and Complete Partial Order (CPO) structure in my model. I found that those defintion already…
0
votes
1 answer

Pending sort hypotheses

What could be the reason for the following error message: Pending sort hypotheses: trelations Here, trelations is a class type the error is generated when proving a collection of subgoals by contradiction. Subgoals are of the form: "premise1 ==>…
Faddou
  • 13
  • 3
0
votes
1 answer

Isabelle: commands/ syntactic local variables / syntactic abbreviations

I want to write multiple formulas that include a common variable combination, but i am lazy so i want to have a syntactic variable. IE "a + b + c" "a + b - c" "a + b + e - a" Instead of writing "a + b" each time i would like to be abled to write…
TKler
  • 135
  • 7
0
votes
1 answer

Isabelle class obligation prove blue

in Isabelle I have the following file theory Scratch imports Main begin class named = fixes getName :: "'a ⇒ string" class node = named datatype Node = node string fun getName_Node :: "Node ⇒ string" where "getName_Node (node str) =…
Johan
  • 575
  • 5
  • 21
0
votes
0 answers

Failed to apply initial proof method. Proving an empty trace contains no messages

I am trying to prove that in a trace of a protocol run a message will not be in an empty trace. The eventual goal is to prove that no host will send a message to itself. This seems intuitively simple so I'm not actually sure what is happening. The…
MSab
  • 58
  • 8
0
votes
1 answer

range restriction/domain restriction in Isabelle

I am trying to input a schema into Isabelle however when I add range restriction or domain restriction into the theorem prover it doesn't want to parse. I have the following schema in LaTeX: \begin{schema}{VideoShop} members: \power PERSON…
lburski
  • 109
  • 9
0
votes
1 answer

Termination checking for product types

The following function definition is accepted by Isabelle, so the termination checker is happy with it: datatype 'a List = N | C 'a "'a List" fun dequeue' :: "'a List × 'a List ⇒ ('a option × 'a queue)" where "dequeue' (N, N) = (None, AQueue N…
Joachim Breitner
  • 25,395
  • 6
  • 78
  • 139
0
votes
1 answer

Unexpected corecursive call

This (trimmed out) corecursive function definition in Isabelle primcorec tree :: "'form fset ⇒ 'vertex ⇒ 'preform ⇒ (('form fset × 'form), ('rule × 'preform) NatRule) dtree" where "tree Γ v p = (case undefined of Hyp h c ⇒ undefined | Reg c ⇒ …
Joachim Breitner
  • 25,395
  • 6
  • 78
  • 139
0
votes
2 answers

Isabelle: proof obligation - proving using counterexamples

For an example lemma like this: lemma someFuncLemma: "∀ (e::someType) . pre_someFunc 2 e" which gives the following when using quickcheck: Auto Quickcheck found a counterexample: e = - 1 or when using Nitpick (which isn't really the main point…
MooMooCoding
  • 319
  • 1
  • 5
  • 15
0
votes
1 answer

Isabelle: How to get datatype Inheritance

Manual was so kind to answer my first question, but now i'm at a lose. I want to define two types much like in propositional calculus i want to have an atomic type and one more complex type. datatype atomicType = aa | bb | cc datatype complexType =…
TKler
  • 135
  • 7
0
votes
1 answer

Isabelle cardinality

I have a relatively simple question, its causing me some problems in isabelle. Im trying to prove the following: ∃ b . inv_Board b The board is a set. The invariant on board is: card b <= FINISHED Where finished is an int value of 24. I'm using my…
John Setter
  • 175
  • 1
  • 17
0
votes
1 answer

How to extract concrete values from defined options

Is is possible when you call, say, mapName(identifier), it returns something that is not 'rangeType option', given that it's a finite map (finite domain and range) and you are sure that the identifier exists in the map?
MooMooCoding
  • 319
  • 1
  • 5
  • 15
0
votes
2 answers

Isabelle session graph as a dot file

Isabelle can generate a graph of all theories of one development as a PDF file, as in this example. This is clearly rendered using graphviz, so I wonder: Is there a way to get hold of the original .dot file that Isabelle used to generate this graph?…
Joachim Breitner
  • 25,395
  • 6
  • 78
  • 139
0
votes
2 answers

Isabelle recursive function

I have the following recursive function that creates a list of 0s (i.e. [0,...,0]) in VDM. How can this be translated to Isabelle using fun-where? VDM: NewList: nat1 * seq of nat -> seq of nat NewList(n, l) == if len l = n then l else…
MooMooCoding
  • 319
  • 1
  • 5
  • 15