diff --git a/src/Control/Egison/Matcher/Pair.hs b/src/Control/Egison/Matcher/Pair.hs
--- a/src/Control/Egison/Matcher/Pair.hs
+++ b/src/Control/Egison/Matcher/Pair.hs
@@ -26,3 +26,13 @@
 
 tuple2M :: Pair m1 m2 -> (t1, t2) -> (m1, m2)
 tuple2M (Pair m1 m2) _ = (m1, m2)
+
+instance (Eq a1, Matcher m1 a1, ValuePattern m1 a1, Eq a2, Matcher m2 a2, ValuePattern m2 a2) => ValuePattern (Pair m1 m2) (a1, a2) where
+  value (e1, e2) () (Pair m1 m2) (v1, v2) = if eqAs m1 e1 v1 && eqAs m2 e2 v2 then pure () else mzero
+
+eqAs :: (Matcher m t, ValuePattern m t) => m -> t -> t -> Bool
+eqAs m x y =
+  match dfs y m
+    [ [mc| #x -> True |]
+    , [mc| _ -> False |]
+    ]
diff --git a/sweet-egison.cabal b/sweet-egison.cabal
--- a/sweet-egison.cabal
+++ b/sweet-egison.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.0
 name:               sweet-egison
-version:            0.1.0.2
+version:            0.1.0.3
 synopsis:
   Shallow embedding implementation of non-linear pattern matching
 
