ISPECLDrule.ISPECL : term list -> thm -> thm
Specializes a theorem zero or more times, with type instantiation if necessary.
ISPECL is an iterative version of ISPEC
A |- !x1...xn.t
---------------------------- ISPECL [t1,...,tn]
A |- t[t1,...tn/x1,...,xn]
(where ti is free for xi in
tm).
ISPECL fails if the list of terms is longer than the
number of quantified variables in the term, if the type instantiation
fails, or if the type variable being instantiated is free in the
assumptions.
Thm.INST_TYPE, Drule.INST_TY_TERM, Drule.ISPEC, Drule.PART_MATCH, Thm.SPEC, Drule.SPECL