doc-src/IsarImplementation/Thy/proof.thy
author wenzelm
Thu, 06 Jul 2006 16:49:38 +0200
changeset 20026 3469df62fe21
parent 18537 2681f9e34390
child 20041 ae7aba935986
permissions -rw-r--r--
Local variables;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
18537
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
     1
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
     2
(* $Id$ *)
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
     3
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
     4
theory "proof" imports base begin
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
     5
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
     6
chapter {* Structured reasoning *}
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
     7
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
     8
section {* Proof context *}
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
     9
20026
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    10
subsection {* Local variables *}
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    11
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    12
text %mlref {*
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    13
  \begin{mldecls}
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    14
  @{index_ML Variable.declare_term: "term -> Proof.context -> Proof.context"} \\
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    15
  @{index_ML Variable.import: "bool -> thm list -> Proof.context -> thm list * Proof.context"} \\
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    16
  @{index_ML Variable.export: "Proof.context -> Proof.context -> thm list -> thm list"} \\
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    17
  @{index_ML Variable.trade: "Proof.context -> (thm list -> thm list) -> thm list -> thm list"} \\
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    18
  @{index_ML Variable.monomorphic: "Proof.context -> term list -> term list"} \\
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    19
  @{index_ML Variable.polymorphic: "Proof.context -> term list -> term list"} \\
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    20
  \end{mldecls}
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    21
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    22
  \begin{description}
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    23
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    24
  \item @{ML Variable.declare_term} FIXME
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    25
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    26
  \item @{ML Variable.import} FIXME
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    27
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    28
  \item @{ML Variable.export} FIXME
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    29
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    30
  \item @{ML Variable.trade} composes @{ML Variable.import} and @{ML
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    31
  Variable.export}.
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    32
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    33
  \item @{ML Variable.monomorphic} FIXME
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    34
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    35
  \item @{ML Variable.polymorphic} FIXME
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    36
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    37
  \end{description}
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    38
*}
3469df62fe21 Local variables;
wenzelm
parents: 18537
diff changeset
    39
18537
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    40
text FIXME
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    41
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    42
section {* Proof state *}
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    43
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    44
text {*
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    45
  FIXME
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    46
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    47
\glossary{Proof state}{The whole configuration of a structured proof,
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    48
consisting of a \seeglossary{proof context} and an optional
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    49
\seeglossary{structured goal}.  Internally, an Isar proof state is
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    50
organized as a stack to accomodate block structure of proof texts.
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    51
For historical reasons, a low-level \seeglossary{tactical goal} is
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    52
occasionally called ``proof state'' as well.}
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    53
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    54
\glossary{Structured goal}{FIXME}
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    55
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    56
\glossary{Goal}{See \seeglossary{tactical goal} or \seeglossary{structured goal}. \norefpage}
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    57
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    58
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    59
*}
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    60
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    61
section {* Methods *}
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    62
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    63
text FIXME
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    64
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    65
section {* Attributes *}
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    66
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    67
text FIXME
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    68
2681f9e34390 "The Isabelle/Isar Implementation" manual;
wenzelm
parents:
diff changeset
    69
end