7.6 Introductions

7.6 Introductions

Introduction tactics address goals which are inductive constants. They are used when one guesses that the goal can be obtained with one of its constructors' type.

7.6.1 Constructor num

This tactic applies to a goal such that the head of its conclusion is an inductive constant (say I). The argument num must be less or equal to the numbers of constructor(s) of I. Let ci be the i-th constructor of I, then Constructor i is equivalent to Intros; Apply ci.


Error messages:
  1. Not an inductive product
  2. Not enough Constructors



Variants:
  1. Constructor This tries Constructor 1 then Constructor 2, ..., then Constructor n where n if the number of constructors of the head of the goal.
  2. Constructor num with bindings_list
    Let ci be the i-th constructor of I, then Constructor i with bindings_list is equivalent to Intros; Apply ci with bindings_list.


    Warning: the terms in the bindings_list are checked in the context where Constructor is executed and not in the context where Apply is executed (the introductions are not taken into account).
  3. Split
    Applies if I has only one constructor, typically in the case of conjunction AÙ B. It is equivalent to Constructor 1.
  4. Exists bindings_list
    Applies if I has only one constructor, for instance in the case of existential quantification $ x× P(x). It is equivalent to Intros; Constructor 1 with bindings_list.
  5. Left, Right
    Apply if I has two constructors, for instance in the case of disjunction AÚ B. They are respectively equivalent to Constructor 1 and Constructor 2.
  6. Left bindings_list, Right bindings_list, Split bindings_list
    Are equivalent to the corresponding Constructor i with bindings_list.




Retrieved by Memoweb from http://pauillac.inria.fr/coq/doc/node.1.2.5.html at 8/10/98