There may be times when you want to match only the first free variable. In
that case, you can write a function of two arguments, the
type-prescriptionrune being applied and the current ACL2 world,
that prohibits multiple matching for those times. Your function is then
`attached' to the built-in constrained function, oncep-ts. The following
examples are intended to explain how this works.

First, let us disallow all mutliple matching of free variables (i.e.,
implement the behavior often referred to as ``:match-free :once'';
see free-variables).

The second thm form above will now fail, because only one free-variable
match is permitted for the first hypothesis of rule f1-prop above.

Now suppose that instead, we want to disallow multiple matches for free variables
in hypotheses of type-prescription rules except for the rule f1-prop
above. With the following events, the second thm form above once again
succeeds.