Idris2Doc : Data.Refined.Core

Data.Refined.Core

(source)

Reexports

importpublic Data.DPair
importpublic Data.Maybe0
importpublic Decidable.HDec

Definitions

dataAlways : a->Type
  The predicate that always holds.

Totality: total
Visibility: public export
Constructor: 
Yes : Alwaysa

Hints:
HDecaAlways
HDec0aAlways
dataNever : a->Type
  The predicate that never holds.

Totality: total
Visibility: public export
Hints:
HDecaNever
HDec0aNever
data(&&) : (a->Type) -> (a->Type) ->a->Type
  Conjunction of two predicates

Totality: total
Visibility: public export
Constructor: 
And : (v `p`) ->qv->(&&)pqv

Hints:
HDecap=>HDecaq=>HDeca (p&&q)
HDec0ap=>HDec0aq=>HDec0a (p&&q)

Fixity Declaration: infixr operator, level 5
mapFst : ((x `p`) ->rx) ->(&&)pqx->(&&)rqx
Totality: total
Visibility: public export
mapSnd : (qx->rx) ->(&&)pqx->(&&)prx
Totality: total
Visibility: public export
data(||) : (a->Type) -> (a->Type) ->a->Type
  Disjunction of two predicates

Totality: total
Visibility: public export
Constructors:
L : (v `p`) ->(||)pqv
R : qv->(||)pqv

Hints:
HDecap=>HDecaq=>HDeca (p||q)
HDec0ap=>HDec0aq=>HDec0a (p||q)

Fixity Declaration: infixr operator, level 4
mapL : ((x `p`) ->rx) ->(||)pqx->(||)rqx
Totality: total
Visibility: public export
mapR : (qx->rx) ->(||)pqx->(||)prx
Totality: total
Visibility: public export
deMorgan1 : Not ((||)pqv) ->(&&) (Not.p) (Not.q) v
Totality: total
Visibility: export
dataOn : (a->Type) -> (b->a) ->b->Type
Totality: total
Visibility: public export
Constructor: 
HoldsOn : (fv `p`) ->Onpfv

Hints:
HDecap=>HDecb (Onpf)
HDec0ap=>HDec0b (Onpf)
mapOn : ((fx `p`) ->q (fx)) ->Onpfx->Onqfx
Totality: total
Visibility: public export
dataHolds : (a->Bool) ->a->Type
  Proof that an (explicitly given) boolean predicate holds

Totality: total
Visibility: public export
Constructor: 
ItHolds : fv=True->Holdsfv

Hints:
HDeca (Holdsf)
HDec0a (Holdsf)
test : (b : Bool) ->Maybe0 (b=True)
Totality: total
Visibility: public export
0holdsAnd : (v : a) ->(&&) (Holdsf) (Holdsg) v->Holds (\x=>fx&& Delay (gx)) v
  Conversion from type-level `(&&)` to boolean `(&&)`

Totality: total
Visibility: export
0andHolds : (v : a) ->Holds (\x=>fx&& Delay (gx)) v->(&&) (Holdsf) (Holdsg) v
  Conversion from boolean `(&&)` to type-level `(&&)`

Totality: total
Visibility: export
0holdsOr : (v : a) ->(||) (Holdsf) (Holdsg) v->Holds (\x=>fx|| Delay (gx)) v
  Conversion from type-level `(||)` to boolean `(||)`

Totality: total
Visibility: export
0orHolds : (v : a) ->Holds (\x=>fx|| Delay (gx)) v->(||) (Holdsf) (Holdsg) v
  Conversion from boolean `(||)` to type-level `(||)`

Totality: total
Visibility: export
dataConst : (e->Type) ->e->t->Type
  The `Const` predicate.

This allows us to refine a value based on a refinement on a second
value.

Totality: total
Visibility: public export
Constructor: 
C : (v `p`) ->Constpvx

Hint: 
HDec0ep=>HDec0t (Constpv)
unConst : Constpvt-> (v `p`)
Totality: total
Visibility: public export
refine0 : HDec0ap=>a->Maybe (Subsetap)
  Try to refine a value into a `Subset`.

Totality: total
Visibility: public export
refine : HDecap=>a->Maybe (DPairap)
  Try to refine a value into a `DPair`.

Totality: total
Visibility: public export