From 8573ff8c58a3766731df93b24e6b6fd1e0787a9a Mon Sep 17 00:00:00 2001 From: Jason Gross Date: Sat, 3 Sep 2016 17:01:52 -0700 Subject: Make [inversion_option] work on Prop options --- src/Util/Option.v | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/Util/Option.v') diff --git a/src/Util/Option.v b/src/Util/Option.v index 4868c1f62..df922f8c1 100644 --- a/src/Util/Option.v +++ b/src/Util/Option.v @@ -70,9 +70,12 @@ Definition option_eq {A} eq (x y : option A) := end end. +Definition option_leq_to_eq {A} (x y : option A) : x = y -> option_eq eq x y. +Proof. destruct x; intro; subst; simpl; reflexivity. Qed. + Ltac inversion_option_step := match goal with - | [ H : Some _ = Some _ |- _ ] => inversion H; clear H + | [ H : Some _ = Some _ |- _ ] => apply option_leq_to_eq in H; unfold option_eq in H | [ H : None = Some _ |- _ ] => solve [ inversion H ] | [ H : Some _ = None |- _ ] => solve [ inversion H ] | [ H : None = None |- _ ] => clear H -- cgit v1.2.3