module ImportBound where data Proof {-@ bound chain @-} chain :: (Proof -> Bool) -> (Proof -> Bool) -> (Proof -> Bool) -> Proof -> Bool chain p q r = \v -> p v {-@ by :: forall
Prop, q :: Proof -> Prop, r :: Proof -> Prop>. (Chain p q r) => Proof
-> Proof -> Proof