From b82abff8025b1d7cbfe3e2dc0a902ee3340b2095 Mon Sep 17 00:00:00 2001
From: Ralf Jung <jung@mpi-sws.org>
Date: Thu, 17 Nov 2016 13:23:39 +0100
Subject: [PATCH] Change order of eassumption and reflexivity in fast_done

This has bothered me repeatedly in proofs, now I finally got around to fix it at the source
---
 theories/tactics.v | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/theories/tactics.v b/theories/tactics.v
index e0283a9e..a10944bd 100644
--- a/theories/tactics.v
+++ b/theories/tactics.v
@@ -35,9 +35,12 @@ declarations as the ones above. *)
 Tactic Notation "intuition" := intuition auto.
 
 (* [done] can get slow as it calls "trivial". [fast_done] can solve way less
-   goals, but it will also always finish quickly. *)
+   goals, but it will also always finish quickly.
+   We do 'reflexivity' last because for goals of the form ?x = y, if
+   we have x = y in the context, we will typically want to use the
+   assumption and not reflexivity *)
 Ltac fast_done :=
-  solve [ reflexivity | eassumption | symmetry; eassumption ].
+  solve [ eassumption | symmetry; eassumption | reflexivity ].
 Tactic Notation "fast_by" tactic(tac) :=
   tac; fast_done.
 
-- 
GitLab