From 476cf88ac2279956ca496a67902235a5d0704812 Mon Sep 17 00:00:00 2001 From: Jason Gross Date: Wed, 18 Apr 2018 15:54:11 -0400 Subject: Fix a proof --- src/Util/Option.v | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/Util/Option.v') diff --git a/src/Util/Option.v b/src/Util/Option.v index 96014448b..b9e64910c 100644 --- a/src/Util/Option.v +++ b/src/Util/Option.v @@ -66,8 +66,11 @@ Lemma option_rect_false_returns_true_iff (f:T->bool) {Proper_f:Proper(R==>eq)f} (o:option T) : option_rect (fun _ => bool) f false o = true <-> exists s:T, option_eq R o (Some s) /\ f s = true. Proof. - unfold option_rect; break_match; repeat intuition (destruct_head ex; eauto); try discriminate. - { repeat esplit; simpl; easy. } + unfold option_rect; break_match; repeat intuition (destruct_head ex; eauto); + solve [ congruence + | repeat esplit; simpl; easy + | match goal with [H : f _ = true |- f _ = true ] => + solve [rewrite <- H; eauto] end ]. Qed. Lemma option_rect_false_returns_true_iff_eq -- cgit v1.2.3