module LiquidArray where {-@ set :: forall a
x1: a -> Bool, r :: x0: Int -> Bool>.
i: Int ->
a: (j: {v: Int ) ->
(k: Int ) @-}
set :: Int -> a -> (Int -> a) -> (Int -> a)
set i x a = \k -> if k == i then x else a k
{-@ get :: forall a x1: a -> Bool, r :: x0: Int -> Bool>.
i: Int ) ->
a @-}
get :: Int -> (Int -> a) -> a
get i a = a i
{-@ empty :: i: {v: Int | 0 = 1} -> a @-}
empty :: Int -> a
empty = const undefined