Proof Methods Makarius Wenzel TU M unchen August 2009 Structured - - PowerPoint PPT Presentation

proof methods
SMART_READER_LITE
LIVE PREVIEW

Proof Methods Makarius Wenzel TU M unchen August 2009 Structured - - PowerPoint PPT Presentation

Proof Methods Makarius Wenzel TU M unchen August 2009 Structured proof texts Structured proofs: from facts 1 have props using facts 2 proof ( initial-method ) body qed ( terminal-method ) Abbreviations: by m 1 m 2 proof m 1 qed m 2


slide-1
SLIDE 1

Proof Methods

Makarius Wenzel TU M¨ unchen August 2009

slide-2
SLIDE 2

Structured proof texts

Structured proofs: from facts1 have props using facts2 proof (initial-method) body qed (terminal-method) Abbreviations: by m1 m2 ≡ proof m1 qed m2 .. ≡ by rule succeed . ≡ by this succeed then ≡ from this with facts ≡ from facts and this

1

slide-3
SLIDE 3

Unstructured proof scripts

Unstructured proofs: have props apply method1 apply method2 apply method3 apply method4 done ML tactics: have props by (tactic my-tactic)

2

slide-4
SLIDE 4

Examples

See Slides1/Ex1.thy

3

slide-5
SLIDE 5

Structured proof state

Isar proof state:

  • proof context: Proof .context
  • chained facts: thm list
  • primitive goal state: thm

⊢ subgoals = ⇒ main-goal Interactive ML access:

Proof.get_goal (Toplevel.proof_of (Isar.state ())) : Proof.context * (thm list * thm) Isar.goal () : thm

4

slide-6
SLIDE 6

Simple methods

Common case:

  • Facts: inserted into goal state

(emulating tactical encoding of local facts)

  • Goal addressing: either all goals or head goal
  • Plain arguments (context, additional theorems)

Note: Isar methods are supposed to make progress (might require CHANGED tactical internally) See §6.3.5 in isar-ref manual See Slides1/Ex2.thy

5

slide-7
SLIDE 7

More method categories

  • 1. structured method with cases, e.g. induct
  • 2. structured method: strong emphasis on facts, e.g. rule
  • 3. simple method (see above)
  • 4. tactic emulation, e.g. rule-tac
  • naming convention foo-tac
  • numeric goal addressing
  • explicit references to internal goal state (invisible from text!)

6