diff --git a/theories/base.v b/theories/base.v
index 538dd416a6fc4b468ad6ea82894805540273b6c3..ba67b79b870a3633ce5dc29d3ba75f2bd6155311 100644
--- a/theories/base.v
+++ b/theories/base.v
@@ -190,6 +190,11 @@ embedded logics. *)
 Notation "'True'" := True (format "True") : type_scope.
 Notation "'False'" := False (format "False") : type_scope.
 
+(** Change [forall] into a notation in order to enable overloading. *)
+Notation "'forall' x .. y , P" := (forall x, .. (forall y, P%type) ..)
+  (at level 200, x binder, y binder, right associativity,
+   only parsing) : type_scope.
+
 
 (** * Equality *)
 (** Introduce some Haskell style like notations. *)