diff --git a/src/Test/Invariant.hs b/src/Test/Invariant.hs
--- a/src/Test/Invariant.hs
+++ b/src/Test/Invariant.hs
@@ -3,6 +3,7 @@
 import Test.QuickCheck
 
 infix 1 <=>, &>
+infix 2 <~~, @~>
 
 -- | Defines extensional equality.  This allows concise, point-free,
 -- definitions of laws.  For example idempotence:
@@ -186,3 +187,19 @@
 -- +++ OK, passed 100 tests.
 invariatesOver :: Eq b => (a -> b) -> (a -> a) -> a -> Bool
 f `invariatesOver` g = f . g <=> f
+
+-- | Checks whether a function is invariant over an other function.
+--
+-- >>> quickCheck $ length <~~ reverse
+-- +++ OK, passed 100 tests.
+(<~~) :: Eq b => (a -> b) -> (a -> a) -> a -> Bool
+f <~~ g = f . g <=> f
+
+-- | Checks whether a function is the inverse of another function.
+--
+-- > f(g(x)) = x
+--
+-- >>> quickCheck $ (`div` 2) @~> (*2)
+-- +++ OK, passed 100 tests.
+(@~>) :: Eq a => (b -> a) -> (a -> b) -> a -> Bool
+f @~> g = f . g <=> id
diff --git a/test-invariant.cabal b/test-invariant.cabal
--- a/test-invariant.cabal
+++ b/test-invariant.cabal
@@ -1,5 +1,5 @@
 name:                test-invariant
-version:             0.4.0.0
+version:             0.4.1.0
 synopsis:            Provide common invariants to be checked with QuickCheck
 
 description: test-invariant is a library for providing common invariants of
