src/Doc/Prog_Prove/Isar.thy
changeset 58521 b70e93c05efe
parent 58504 5f88c142676d
child 58522 ad010811f450
equal deleted inserted replaced
58520:a4d1f8041af0 58521:b70e93c05efe
    71 (@{text"\<Longrightarrow>"}) and \isacom{have}/\isacom{show} introduce the conclusion.
    71 (@{text"\<Longrightarrow>"}) and \isacom{have}/\isacom{show} introduce the conclusion.
    72 
    72 
    73 Propositions are optionally named formulas. These names can be referred to in
    73 Propositions are optionally named formulas. These names can be referred to in
    74 later \isacom{from} clauses. In the simplest case, a fact is such a name.
    74 later \isacom{from} clauses. In the simplest case, a fact is such a name.
    75 But facts can also be composed with @{text OF} and @{text of} as shown in
    75 But facts can also be composed with @{text OF} and @{text of} as shown in
    76 \S\ref{sec:forward-proof}---hence the \dots\ in the above grammar.  Note
    76 \autoref{sec:forward-proof}---hence the \dots\ in the above grammar.  Note
    77 that assumptions, intermediate \isacom{have} statements and global lemmas all
    77 that assumptions, intermediate \isacom{have} statements and global lemmas all
    78 have the same status and are thus collectively referred to as
    78 have the same status and are thus collectively referred to as
    79 \conceptidx{facts}{fact}.
    79 \conceptidx{facts}{fact}.
    80 
    80 
    81 Fact names can stand for whole lists of facts. For example, if @{text f} is
    81 Fact names can stand for whole lists of facts. For example, if @{text f} is
   215 above proofs (once in the statement of the lemma, once in its proof) has been
   215 above proofs (once in the statement of the lemma, once in its proof) has been
   216 eliminated.
   216 eliminated.
   217 
   217 
   218 Stating a lemma with \isacom{assumes}-\isacom{shows} implicitly introduces the
   218 Stating a lemma with \isacom{assumes}-\isacom{shows} implicitly introduces the
   219 name \indexed{@{text assms}}{assms} that stands for the list of all assumptions. You can refer
   219 name \indexed{@{text assms}}{assms} that stands for the list of all assumptions. You can refer
   220 to individual assumptions by @{text"assms(1)"}, @{text"assms(2)"}, etc.\
   220 to individual assumptions by @{text"assms(1)"}, @{text"assms(2)"}, etc.,
   221 thus obviating the need to name them individually.
   221 thus obviating the need to name them individually.
   222 
   222 
   223 \section{Proof Patterns}
   223 \section{Proof Patterns}
   224 
   224 
   225 We show a number of important basic proof patterns. Many of them arise from
   225 We show a number of important basic proof patterns. Many of them arise from