@@ -19,6 +19,7 @@ anyNilAbsurd (There _) impossible
19instance Uninhabited (Any p Nil) where
19instance Uninhabited (Any p Nil) where
20 uninhabited = anyNilAbsurd
20 uninhabited = anyNilAbsurd
22+||| Eliminator for `Any`
22anyElim : {xs : Vect n a} -> {P : a -> Type} -> (Any P xs -> b) -> (P x -> b) -> Any P (x :: xs) -> b
23anyElim : {xs : Vect n a} -> {P : a -> Type} -> (Any P xs -> b) -> (P x -> b) -> Any P (x :: xs) -> b
23anyElim _ f (Here p) = f p
24anyElim _ f (Here p) = f p
24anyElim f _ (There p) = f p
25anyElim f _ (There p) = f p