doc-src/IsarRef/generic.tex
changeset 20503 503ac4c5ef91
parent 20492 c9bfc874488c
child 21076 22ae82f77c5e
equal deleted inserted replaced
20502:08d227db6c74 20503:503ac4c5ef91
  1514 object-logic.
  1514 object-logic.
  1515 
  1515 
  1516 \begin{rail}
  1516 \begin{rail}
  1517   'cases' open? (insts * 'and') rule?
  1517   'cases' open? (insts * 'and') rule?
  1518   ;
  1518   ;
  1519   'induct' open? (definsts * 'and') \\ fixing? taking? rule?
  1519   'induct' open? (definsts * 'and') \\ arbitrary? taking? rule?
  1520   ;
  1520   ;
  1521   'coinduct' open? insts taking rule?
  1521   'coinduct' open? insts taking rule?
  1522   ;
  1522   ;
  1523 
  1523 
  1524   open: '(' 'open' ')'
  1524   open: '(' 'open' ')'
  1527   ;
  1527   ;
  1528   definst: name ('==' | equiv) term | inst
  1528   definst: name ('==' | equiv) term | inst
  1529   ;
  1529   ;
  1530   definsts: ( definst *)
  1530   definsts: ( definst *)
  1531   ;
  1531   ;
  1532   fixing: 'fixing' ':' ((term *) 'and' +)
  1532   arbitrary: 'arbitrary' ':' ((term *) 'and' +)
  1533   ;
  1533   ;
  1534   taking: 'taking' ':' insts
  1534   taking: 'taking' ':' insts
  1535   ;
  1535   ;
  1536 \end{rail}
  1536 \end{rail}
  1537 
  1537 
  1585   the induction rule.  Equalities reappear in the inductive cases, but have
  1585   the induction rule.  Equalities reappear in the inductive cases, but have
  1586   been transformed according to the induction principle being involved here.
  1586   been transformed according to the induction principle being involved here.
  1587   In order to achieve practically useful induction hypotheses, some variables
  1587   In order to achieve practically useful induction hypotheses, some variables
  1588   occurring in $t$ need to be fixed (see below).
  1588   occurring in $t$ need to be fixed (see below).
  1589   
  1589   
  1590   The optional ``$fixing\colon \vec x$'' specification generalizes variables
  1590   The optional ``$arbitrary\colon \vec x$'' specification generalizes
  1591   $\vec x$ of the original goal before applying induction.  Thus induction
  1591   variables $\vec x$ of the original goal before applying induction.  Thus
  1592   hypotheses may become sufficiently general to get the proof through.
  1592   induction hypotheses may become sufficiently general to get the proof
  1593   Together with definitional instantiations, one may effectively perform
  1593   through.  Together with definitional instantiations, one may effectively
  1594   induction over expressions of a certain structure.
  1594   perform induction over expressions of a certain structure.
  1595   
  1595   
  1596   The optional ``$taking\colon \vec t$'' specification provides additional
  1596   The optional ``$taking\colon \vec t$'' specification provides additional
  1597   instantiations of a prefix of pending variables in the rule.  Such schematic
  1597   instantiations of a prefix of pending variables in the rule.  Such schematic
  1598   induction rules rarely occur in practice, though.
  1598   induction rules rarely occur in practice, though.
  1599 
  1599