# Questions tagged [isabelle]

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

783
questions

**0**

votes

**1**answer

18 views

### Isabelle use Locale or Context outside of any locale

I have defined locale and proved a few theorems. Now I need to use them outside of this locale/context. How can I do so?
Can I obtain theorem with hypotheses extended by locale's assumptions? (Like ...

**1**

vote

**0**answers

62 views

### Is there a way to communicate with the Isabelle theorem prover through python?

I want to build a python API for Isabelle. I was wondering if it's possible? Is it possible to send proofs, tactics, command and all that jedit would be doing through Python and type check the proofs?

**2**

votes

**2**answers

99 views

### Using an inverse value of an injective function

I'm trying to prove this lemma:
lemma
assumes "x = inv f y" and "inj f" and "x ≠ undefined"
shows "y ∈ range f"
using assms try
But Nitpick tells me this statement is not true:
Trying "...

**2**

votes

**2**answers

33 views

### Can I change the notation in a built-in Isabelle type-class

I have made a type of mine an instance of monoid_add:
instantiation "marking_ext" :: (monoid_add) monoid_add
begin
definition
marking_add_def:
"M + N =
...
end
I can now use the ...

**1**

vote

**1**answer

70 views

### Isabelle resolves interpretation

I'm using Isabelle 2019 and got some troubles regarding locals:
I'm constructing a locale with an abbrevation, e.g.:
interpretation myInstance : myLocale "abbreviation"
I'm using this with a ...

**0**

votes

**0**answers

20 views

### Finding facts to match in Eisbach

I want to write an Eisbach method which pattern matches agains the facts reported by print_facts. However, I can't figure out the name of that (dynamic) set of facts.
Example:
proof
{
fix A B
...

**0**

votes

**3**answers

73 views

### Why do we need to prove both proposition to apply Disjunction Elimination in Isabelle?

I was seeing the proof rule for disjunction elimination and I noticed we have to prove BOTH statements to use it:
?P ∨ ?Q ⟹ (?P ⟹ ?R) ⟹ (?Q ⟹ ?R) ⟹ ?R
why is that? Like in normal logic if I knew ONE ...

**3**

votes

**1**answer

53 views

### Is there a rewrite tactic in Isabelle?

For example in Coq there is rewrite and we can also put arrows `<-:
Inductive bool: Set :=
| true
| false.
Lemma equality_of_functions_commutes:
forall (f: bool->bool) x y,
(f x) = (...

**1**

vote

**1**answer

40 views

### Preimage of a function in Isabelle

I made this:
abbreviation "preimage f y ≡ { x . f x = y }"
Isn't there a built-in definition I could be using instead? How would I find that?

**1**

vote

**0**answers

30 views

### Cases with custom rule in Eisbach

I wrote this rule:
method rule_inversion uses P =
(cases rule: nt_network[OF P])
but Isabelle tells me
Rule has fewer premises than arguments given
The exact nt_network doesn't seem to matter, ...

**2**

votes

**1**answer

33 views

### How does one toggle auto update in Isabelle with a keyboard shortcut?

I wanted to stop isabelle from doing the proof steps as I write since its impossible to remember complicated equations as I try to tell it with rule_tac what the term should be while it dissapears.
...

**2**

votes

**1**answer

34 views

### Generalize a claim in a structural induction proof to be able to use the induction hypothesis

I want to prove the following
lemma
fixes pi :: "'a path" and T :: "'a ts"
shows "valid_path T pi s ⟹ ∀ op ∈ set pi. valid_operator T op"
by induction on pi where
fun valid_path :: "'a ts ⇒ 'a ...

**0**

votes

**2**answers

77 views

### Case analysis on function definition in Isabelle

Imagine I have a function definition with three cases:
function f where
eq1 if cond1
| eq2 if cond2
| eq3 if cond3
How can I prove some equation:
f x y = f y x
using case analysis on the ...

**1**

vote

**1**answer

66 views

### How to apply standard to all subgoals in Isabelle?

To prove an equality "A = B" one can prove two inclusions "A ⊆ B" and "B ⊆ A". Now, I'm using the method "standard" to transform this goal into the goal "fix x in A and show x is in B". However, I don'...

**1**

vote

**1**answer

73 views

### Using the type-to-sets approach for defining quotients

Isabelle has some automation for quotient reasoning through the quotient package. I would like to see if that automation is of any use for my example. The relevant definitions is:
definition e_proj ...