Associativity of scalar multiplication.
This involves heterogeneous entities, namely two scalars and a point. Multiplying the point by one scalar and the the other is equivalent to multiplying the scalars first and then the point.
Theorem:
(defthm montgomery-mul-of-mul (implies (and (montgomery-add-closure) (montgomery-add-associativity) (point-on-montgomery-p point curve) (integerp scalar) (integerp scalar1)) (equal (montgomery-mul scalar (montgomery-mul scalar1 point curve) curve) (montgomery-mul (* scalar scalar1) point curve))))
Theorem:
(defthm montgomery-mul-of-mul-converse (implies (and (montgomery-add-closure) (montgomery-add-associativity) (point-on-montgomery-p point curve) (integerp scalar) (integerp scalar1)) (equal (montgomery-mul (* scalar scalar1) point curve) (montgomery-mul scalar (montgomery-mul scalar1 point curve) curve))))