aboutsummaryrefslogtreecommitdiff
path: root/src/Util/Option.v
diff options
context:
space:
mode:
authorGravatar Jason Gross <jagro@google.com>2016-09-03 17:01:52 -0700
committerGravatar Jason Gross <jagro@google.com>2016-09-03 17:01:52 -0700
commit8573ff8c58a3766731df93b24e6b6fd1e0787a9a (patch)
treea01c056ae758c2085f7bf451c44c40d447786c3f /src/Util/Option.v
parent71538cbcfc0b4f434e7b299009c7d3489e7fe176 (diff)
Make [inversion_option] work on Prop options
Diffstat (limited to 'src/Util/Option.v')
-rw-r--r--src/Util/Option.v5
1 files changed, 4 insertions, 1 deletions
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