aboutsummaryrefslogtreecommitdiff
path: root/coqprime
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2016-03-08 14:29:57 -0500
committerGravatar Jason Gross <jgross@mit.edu>2016-03-08 14:29:57 -0500
commit406085b41e0b4d8cfc314da7abd3af4ac29d765b (patch)
tree455bfff6b105fb1ab16004b88b4c1e5518f7aab8 /coqprime
parent4bdd8f75a50ba4aad8dba5e91dbf6563dcd858cb (diff)
Use [rewrite] rather than [change] to speed up Qed
[Opaque] tells kernel unification to defer unfolding a constant as long as possible. This is not a problem for [change], when the functions are small and directly convertible. It's disastrous for [Qed]/[Defined], which (if I understand correctly) try to unify [Opaquemul x' y'] with [mul x y] by fully unfolding [mul] and [x] and [y] before trying to unfold [Opaquemul]; when [x] and [y] are large, this takes a very long time. Rewrite avoids this by telling Coq *how* to unify [Opaquemul x' y'] with [mul x y] (namely, by unifying [Opaquemul] with [mul], and then [x] with [x'] and [y] with [y']).
Diffstat (limited to 'coqprime')
0 files changed, 0 insertions, 0 deletions