packages feed

idris-0.9.11: test/reg030/reg030.idr

import Control.Isomorphism

class Set univ where
  member : univ -> univ -> Type

isSubsetOf : Set univ => univ -> univ -> Type
isSubsetOf {univ} a b = (c : univ) -> (member c a) -> (member c b)

class Set univ => HasPower univ where
  Powerset : (a : univ) -> 
             Exists univ (\Pa => (c : univ) -> 
                                 (isSubsetOf c a) -> member c Pa)

powerset : HasPower univ => univ -> univ
powerset {univ} a = getWitness (Powerset a)