Temporal specification languages provide an efficient way to express events comprised of complex temporal scenarios. Assertions based on these languages are used to detect violations of the specification and monitor coverage events. In this paper, we propose to extend temporal specification languages, and assertions based on these languages with auxiliary variables. We attach these variables to sub-expressions and assign them values when the subexpressions are evaluated. The use of auxiliary variables enables the implementation of large cross-product coverage models, using small number of assertions. This simplifies the definition and implementation of coverage models and helps reduce the simulation overhead caused by assertions, thus increasing the efficiency of simulation resources.