\DOC PSPEC \TYPE {PSPEC : (term -> thm -> thm)} \KEYWORDS rule. \LIBRARY pair \SYNOPSIS Specializes the conclusion of a theorem. \DESCRIBE When applied to a term {q} and a theorem {A |- !p. t}, then {PSPEC} returns the theorem {A |- t[q/p]}. If necessary, variables will be renamed prior to the specialization to ensure that {q} is free for {p} in {t}, that is, no variables free in {q} become bound after substitution. { A |- !p. t -------------- PSPEC "q" A |- t[q/p] } \FAILURE Fails if the theorem's conclusion is not a paired universal quantification, or if {p} and {q} have different types. \EXAMPLE {PSPEC} specialised paired quantifications. { #PSPEC "(1,2)" (ASSUME "!(x,y). (x + y) = (y + x)");; . |- 1 + 2 = 2 + 1 } {PSPEC} treats paired structures of variables as variables and preserves structure accordingly. { #PSPEC "x:*#*" (ASSUME "!(x:*,y:*). (x,y) = (x,y)");; . |- x = x } \SEEALSO SPEC, IPSPEC, PSPECL, PSPEC_ALL, PSPEC_VAR, PGEN, PGENL, PGEN_ALL. \ENDDOC