0 | module TyRE.Extra.Pred
4 | Pred a = (x : a) -> Type
9 | record (<->) {a : Type} (p, q : a -> Type) where
11 | If : (x : a) -> (q x -> p x)
12 | onlyIf : (x : a) -> (p x -> q x)
16 | (/\): {a: Type} -> (p : Pred a) -> (q : Pred a) -> Pred a
17 | (/\) {a} p q x = (p x, q x)
21 | (\/): {a: Type} -> (p : Pred a) -> (q : Pred a) -> Pred a
22 | (\/) p q x = Either (p x) (q x)
25 | true: {a: Type} -> Pred a
29 | false: {a: Type} -> Pred a