diff --git a/theories/option.v b/theories/option.v index ff4bfd4401eba420227ec5273bcff2ba05de3409..412cd5ce1c09b69bc6041e9cdbfd138cda585499 100644 --- a/theories/option.v +++ b/theories/option.v @@ -121,12 +121,13 @@ Section setoids. Global Instance option_equivalence : Equivalence (≡@{A}) → Equivalence (≡@{option A}). Proof. apply _. Qed. + Global Instance option_leibniz `{!LeibnizEquiv A} : LeibnizEquiv (option A). + Proof. intros x y; destruct 1; f_equal; by apply leibniz_equiv. Qed. + Global Instance Some_proper : Proper ((≡) ==> (≡@{option A})) Some. Proof. by constructor. Qed. Global Instance Some_equiv_inj : Inj (≡) (≡@{option A}) Some. Proof. by inversion_clear 1. Qed. - Global Instance option_leibniz `{!LeibnizEquiv A} : LeibnizEquiv (option A). - Proof. intros x y; destruct 1; f_equal; by apply leibniz_equiv. Qed. Lemma equiv_None mx : mx ≡ None ↔ mx = None. Proof. split; [by inversion_clear 1|intros ->; constructor]. Qed.