0

I am just starting to learn Isabelle/ISAR, and I wanted to try some basic logic proofs. My core issue is that even when I copy proofs straight out of an instruction manual, I am still getting errors. I am copying from the following pdf: Isabelle Tutorial

Here is a very basic proof that works:

lemma "A ⟶ A"
proof (rule impI)
  assume a: "A"
  show "A" by(rule a)
qed

However, the following proof throws this error despite the fact that it is copied straight from a documentation slide.

lemma "A ⟶ A"
proof
    assume "A"
    show "A" .
qed

Error

The same is the case with this proof.

lemma "A ⟶ A ∧ A"
proof
  assume "A"
  show "A ∧ A" ..
qed

Error

I have no clue why proofs copied straight out of the pdf aren't working. Is it because I'm using a different version of Isabelle than the pdf? Or is there something I am doing wrong?

saltine
  • 1
  • 2

1 Answers1

1

Please read the prog-prove instead of some old paper.

I don't know if the semantics changed since 2002 (which is possible), but show nowadays ignores the last fact. Instead you have to use thus or then show.

   assume A
   show A
      (*no assumptions*)

while

   assume A
   then show A
      (*we have the assumption "A"*)
Mathias Fleury
  • 2,221
  • 5
  • 12