From 260bd0b3a78948071ec20244e1cb8c393becd490 Mon Sep 17 00:00:00 2001
From: Robbert Krebbers <mail@robbertkrebbers.nl>
Date: Wed, 6 Nov 2019 18:01:31 +0100
Subject: [PATCH] Use pattern matching lambdas.

---
 theories/listset.v       | 20 ++++++++++----------
 theories/listset_nodup.v | 18 +++++++++---------
 2 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/theories/listset.v b/theories/listset.v
index d6c0926f..c692c8ee 100644
--- a/theories/listset.v
+++ b/theories/listset.v
@@ -15,8 +15,8 @@ Context {A : Type}.
 Global Instance listset_elem_of: ElemOf A (listset A) := λ x l, x ∈ listset_car l.
 Global Instance listset_empty: Empty (listset A) := Listset [].
 Global Instance listset_singleton: Singleton A (listset A) := λ x, Listset [x].
-Global Instance listset_union: Union (listset A) := λ l k,
-  let (l') := l in let (k') := k in Listset (l' ++ k').
+Global Instance listset_union: Union (listset A) := λ '(Listset l) '(Listset k),
+  Listset (l ++ k).
 Global Opaque listset_singleton listset_empty.
 
 Global Instance listset_simple_set : SemiSet A (listset A).
@@ -45,10 +45,10 @@ Proof using Aeq.
   refine (λ x X, cast_if (decide (x ∈ listset_car X))); done.
 Defined.
 
-Global Instance listset_intersection: Intersection (listset A) := λ l k,
-  let (l') := l in let (k') := k in Listset (list_intersection l' k').
-Global Instance listset_difference: Difference (listset A) := λ l k,
-  let (l') := l in let (k') := k in Listset (list_difference l' k').
+Global Instance listset_intersection: Intersection (listset A) :=
+  λ '(Listset l) '(Listset k), Listset (list_intersection l k).
+Global Instance listset_difference: Difference (listset A) :=
+  λ '(Listset l) '(Listset k), Listset (list_difference l k).
 
 Instance listset_set: Set_ A (listset A).
 Proof.
@@ -69,10 +69,10 @@ Qed.
 End listset.
 
 Instance listset_ret: MRet listset := λ A x, {[ x ]}.
-Instance listset_fmap: FMap listset := λ A B f l,
-  let (l') := l in Listset (f <$> l').
-Instance listset_bind: MBind listset := λ A B f l,
-  let (l') := l in Listset (mbind (listset_car ∘ f) l').
+Instance listset_fmap: FMap listset := λ A B f '(Listset l),
+  Listset (f <$> l).
+Instance listset_bind: MBind listset := λ A B f '(Listset l),
+  Listset (mbind (listset_car ∘ f) l).
 Instance listset_join: MJoin listset := λ A, mbind id.
 
 Instance listset_set_monad : MonadSet listset.
diff --git a/theories/listset_nodup.v b/theories/listset_nodup.v
index 4c7e6810..318cbaf9 100644
--- a/theories/listset_nodup.v
+++ b/theories/listset_nodup.v
@@ -21,15 +21,15 @@ Instance listset_nodup_elem_of: ElemOf A C := λ x l, x ∈ listset_nodup_car l.
 Instance listset_nodup_empty: Empty C := ListsetNoDup [] (@NoDup_nil_2 _).
 Instance listset_nodup_singleton: Singleton A C := λ x,
   ListsetNoDup [x] (NoDup_singleton x).
-Instance listset_nodup_union: Union C := λ l k,
-  let (l',Hl) := l in let (k',Hk) := k
-  in ListsetNoDup _ (NoDup_list_union _ _ Hl Hk).
-Instance listset_nodup_intersection: Intersection C := λ l k,
-  let (l',Hl) := l in let (k',Hk) := k
-  in ListsetNoDup _ (NoDup_list_intersection _ k' Hl).
-Instance listset_nodup_difference: Difference C := λ l k,
-  let (l',Hl) := l in let (k',Hk) := k
-  in ListsetNoDup _ (NoDup_list_difference _ k' Hl).
+Instance listset_nodup_union: Union C :=
+  λ '(ListsetNoDup l Hl) '(ListsetNoDup k Hk),
+    ListsetNoDup _ (NoDup_list_union _ _ Hl Hk).
+Instance listset_nodup_intersection: Intersection C :=
+  λ '(ListsetNoDup l Hl) '(ListsetNoDup k Hk),
+    ListsetNoDup _ (NoDup_list_intersection _ k Hl).
+Instance listset_nodup_difference: Difference C :=
+  λ '(ListsetNoDup l Hl) '(ListsetNoDup k Hk),
+    ListsetNoDup _ (NoDup_list_difference _ k Hl).
 
 Instance: Set_ A C.
 Proof.
-- 
GitLab