diff --git a/theories/base.v b/theories/base.v
index f0964e3cbf3230bc4a3b0676cad4cad3fafbab90..56dcd6acf81dc711512bce067aa436c81bdcb015 100644
--- a/theories/base.v
+++ b/theories/base.v
@@ -5,7 +5,6 @@ that are used throughout the whole development. Most importantly it contains
abstract interfaces for ordered structures, collections, and various other data
structures. *)
Global Generalizable All Variables.
-Global Set Asymmetric Patterns.
Global Unset Transparent Obligations.
From Coq Require Export Morphisms RelationClasses List Bool Utf8 Setoid.
Set Default Proof Using "Type".
diff --git a/theories/fin.v b/theories/fin.v
index 4b8cdd0af0de086b221f26f116e68f99bf9f6846..6dc71b127a3effe1b7fe9fd993492376bc2061c9 100644
--- a/theories/fin.v
+++ b/theories/fin.v
@@ -28,7 +28,7 @@ Notation "8" := (FS 7) : fin_scope. Notation "9" := (FS 8) : fin_scope.
Notation "10" := (FS 9) : fin_scope.
Fixpoint fin_to_nat {n} (i : fin n) : nat :=
- match i with 0%fin => 0 | FS _ i => S (fin_to_nat i) end.
+ match i with 0%fin => 0 | FS i => S (fin_to_nat i) end.
Coercion fin_to_nat : fin >-> nat.
Notation fin_of_nat := Fin.of_nat_lt.
@@ -57,7 +57,7 @@ Definition fin_S_inv {n} (P : fin (S n) → Type)
(H0 : P 0%fin) (HS : ∀ i, P (FS i)) (i : fin (S n)) : P i.
Proof.
revert P H0 HS.
- refine match i with 0%fin => λ _ H0 _, H0 | FS _ i => λ _ _ HS, HS i end.
+ refine match i with 0%fin => λ _ H0 _, H0 | FS i => λ _ _ HS, HS i end.
Defined.
Ltac inv_fin i :=
diff --git a/theories/finite.v b/theories/finite.v
index aba0ae9267dcf7b63379cf6d7fcd9c1d1aa8e3e1..ab14c0e092bd3098f9486593d00a2fe459fe80b2 100644
--- a/theories/finite.v
+++ b/theories/finite.v
@@ -72,7 +72,7 @@ Definition encode_fin `{Finite A} (x : A) : fin (card A) :=
Fin.of_nat_lt (encode_lt_card x).
Program Definition decode_fin `{Finite A} (i : fin (card A)) : A :=
match Some_dec (decode_nat i) return _ with
- | inleft (exist x _) => x | inright _ => _
+ | inleft (exist _ x _) => x | inright _ => _
end.
Next Obligation.
intros A ?? i ?; exfalso.
diff --git a/theories/hlist.v b/theories/hlist.v
index 90a9830fe3cbb4e6e10fa73a680a41991a0efc65..ae4f934180b429c4ebf93f06a92a3da2ed36ad5f 100644
--- a/theories/hlist.v
+++ b/theories/hlist.v
@@ -14,12 +14,12 @@ Inductive hlist : tlist → Type :=
Fixpoint tapp (As Bs : tlist) : tlist :=
match As with tnil => Bs | tcons A As => tcons A (tapp As Bs) end.
Fixpoint happ {As Bs} (xs : hlist As) (ys : hlist Bs) : hlist (tapp As Bs) :=
- match xs with hnil => ys | hcons _ _ x xs => hcons x (happ xs ys) end.
+ match xs with hnil => ys | hcons x xs => hcons x (happ xs ys) end.
Fixpoint hhead {A As} (xs : hlist (tcons A As)) : A :=
- match xs with hnil => () | hcons _ _ x _ => x end.
+ match xs with hnil => () | hcons x _ => x end.
Fixpoint htail {A As} (xs : hlist (tcons A As)) : hlist As :=
- match xs with hnil => () | hcons _ _ _ xs => xs end.
+ match xs with hnil => () | hcons _ xs => xs end.
Fixpoint hheads {As Bs} : hlist (tapp As Bs) → hlist As :=
match As with
@@ -43,7 +43,7 @@ Definition hcurry {As B} (f : himpl As B) (xs : hlist As) : B :=
(fix go As xs :=
match xs in hlist As return himpl As B → B with
| hnil => λ f, f
- | hcons A As x xs => λ f, go As xs (f x)
+ | @hcons A As x xs => λ f, go As xs (f x)
end) _ xs f.
Coercion hcurry : himpl >-> Funclass.
diff --git a/theories/option.v b/theories/option.v
index 9f5b7efb4b9bad18636185ae0adc230ec56f82a4..d50cc7ea0ef185e6e46868c3432186733375665f 100644
--- a/theories/option.v
+++ b/theories/option.v
@@ -65,7 +65,7 @@ Proof.
set (f mx := match mx return P mx → is_Some mx with
Some _ => λ _, ex_intro _ _ eq_refl | None => False_rect _ end).
set (g mx (H : is_Some mx) :=
- match H return P mx with ex_intro _ p => eq_rect _ _ I _ (eq_sym p) end).
+ match H return P mx with ex_intro _ _ p => eq_rect _ _ I _ (eq_sym p) end).
assert (∀ mx H, f mx (g mx H) = H) as f_g by (by intros ? [??]; subst).
intros p1 p2. rewrite <-(f_g _ p1), <-(f_g _ p2). by destruct mx, p1.
Qed.
diff --git a/theories/vector.v b/theories/vector.v
index 69b31fe050890ec000072125389cc21568e8dc4c..e46774e74e5570251a5b0d4ff9e0a88daa88732b 100644
--- a/theories/vector.v
+++ b/theories/vector.v
@@ -238,7 +238,7 @@ Qed.
Fixpoint vinsert {A n} (i : fin n) (x : A) : vec A n → vec A n :=
match i with
| 0%fin => vec_S_inv _ (λ _ v, x ::: v)
- | FS _ i => vec_S_inv _ (λ y v, y ::: vinsert i x v)
+ | FS i => vec_S_inv _ (λ y v, y ::: vinsert i x v)
end.
Lemma vec_to_list_insert {A n} i x (v : vec A n) :