PART_MATCH : ((term -> term) -> thm -> term -> thm)
PART_MATCH fn (A |- !x1...xn. t) tmthe function PART_MATCH applies fn to t' (the result of specializing universally quantified variables in the conclusion of the theorem), and attempts to match the resulting term to the argument term tm. If it succeeds, the appropriately instantiated version of the theorem is returned.
th = |- !x. x==>xthen the following:
PART_MATCH (fst o dest_imp) th "T"results in the theorem:
|- T ==> Tbecause the selector function picks the antecedent of the implication (the inbuilt specialization gets rid of the universal quantifier), and matches it to T.