478
478
{\bindinglist$_1$}} {\tt ,} \ldots {\tt ,} {\term$_n$} \zeroone{{\tt with}
479
479
{\bindinglist$_n$}}
481
This summarizes the different syntaxes for {\tt apply}.
481
This summarizes the different syntaxes for {\tt apply} and {\tt eapply}.
483
483
\item {\tt lapply {\term}} \tacindex{lapply}
700
700
This applies each of {\term} in sequence in {\ident}.
702
\item {\tt apply \nelist{{\term} {\bindinglist}}{,} in {\ident}}
702
\item {\tt apply \nelist{{\term} with {\bindinglist}}{,} in {\ident}}
704
704
This does the same but uses the bindings in each {\bindinglist} to
705
705
instantiate the parameters of the corresponding type of {\term}
706
706
(see syntax of bindings in Section~\ref{Binding-list}).
708
\item {\tt eapply \nelist{{\term} {\bindinglist}}{,} in {\ident}}
708
\item {\tt eapply \nelist{{\term} with {\bindinglist}}{,} in {\ident}}
709
709
\tacindex{eapply {\ldots} in}
711
This works as {\tt apply \nelist{{\term} {\bindinglist}}{,} in
711
This works as {\tt apply \nelist{{\term} with {\bindinglist}}{,} in
712
712
{\ident}} but turns unresolved bindings into existential variables, if
713
713
any, instead of failing.
715
\item {\tt apply \nelist{{\term}{,} {\bindinglist}}{,} in {\ident} as {\disjconjintropattern}}
715
\item {\tt apply \nelist{{\term}{,} with {\bindinglist}}{,} in {\ident} as {\disjconjintropattern}}
717
This works as {\tt apply \nelist{{\term}{,} {\bindinglist}}{,} in
717
This works as {\tt apply \nelist{{\term}{,} with {\bindinglist}}{,} in
718
718
{\ident}} then destructs the hypothesis {\ident} along
719
719
{\disjconjintropattern} as {\tt destruct {\ident} as
720
720
{\disjconjintropattern}} would.
722
\item {\tt eapply \nelist{{\term}{,} {\bindinglist}}{,} in {\ident} as {\disjconjintropattern}}
722
\item {\tt eapply \nelist{{\term}{,} with {\bindinglist}}{,} in {\ident} as {\disjconjintropattern}}
724
This works as {\tt apply \nelist{{\term}{,} {\bindinglist}}{,} in {\ident} as {\disjconjintropattern}} but using {\tt eapply}.
724
This works as {\tt apply \nelist{{\term}{,} with {\bindinglist}}{,} in {\ident} as {\disjconjintropattern}} but using {\tt eapply}.
726
726
\item {\tt simple apply {\term} in {\ident}}
727
727
\tacindex{simple apply {\ldots} in}
736
736
instantiate. Tactic {\tt simple apply {\term} in {\ident}} does not
737
737
either traverse tuples as {\tt apply {\term} in {\ident}} does.
739
\item {\tt simple apply \nelist{{\term}{,} {\bindinglist}}{,} in {\ident} as {\disjconjintropattern}}\\
740
{\tt simple eapply \nelist{{\term}{,} {\bindinglist}}{,} in {\ident} as {\disjconjintropattern}}
739
\item {\tt \zeroone{simple} apply \nelist{{\term} \zeroone{with {\bindinglist}}}{,} in {\ident} \zeroone{as {\disjconjintropattern}}}\\
740
{\tt \zeroone{simple} eapply \nelist{{\term} \zeroone{with {\bindinglist}}}{,} in {\ident} \zeroone{as {\disjconjintropattern}}}
742
This are the general forms of {\tt simple apply {\term} in {\ident}} and
743
{\tt simple eapply {\term} in {\ident}}.
742
This summarizes the different syntactic variants of {\tt apply {\term}
743
in {\ident}} and {\tt eapply {\term} in {\ident}}.
746
746
\subsection{\tt generalize \term
1020
1020
\ErrMsg \errindex{No evars}
1022
\subsection{\tt is\_var \term
1026
This tactic applies to any goal. It checks whether its argument is a
1027
variable or hypothesis in the current goal context or in the opened sections.
1029
\ErrMsg \errindex{Not a variable or hypothesis}
1022
1031
\subsection{Bindings list
1023
1032
\index{Binding list}
1024
1033
\label{Binding-list}}
1586
1594
disjunction $A\lor B$. Then, they are respectively equivalent to {\tt
1587
1595
constructor 1} and {\tt constructor 2}.
1589
\item {\tt left \bindinglist}\\
1590
{\tt right \bindinglist}\\
1591
{\tt split \bindinglist}
1597
\item {\tt left with \bindinglist}\\
1598
{\tt right with \bindinglist}\\
1599
{\tt split with \bindinglist}
1593
1601
As soon as the inductive type has the right number of constructors,
1594
these expressions are equivalent to the corresponding {\tt
1595
constructor $i$ with \bindinglist}.
1602
these expressions are equivalent to calling {\tt
1603
constructor $i$ with \bindinglist} for the appropriate $i$.
1597
1605
\item \texttt{econstructor}\tacindex{econstructor}\\
1598
1606
\texttt{eexists}\tacindex{eexists}\\