Idris2Doc : TypeAligned.ZeroOne

TypeAligned.ZeroOne

(source)
Reflexive closure of a (binary) relation.  Internally used instead of Maybe, to maintain continuity of indexs.

Definitions

dataZeroOne : Rela->a->a->Type
  Reflexive closure of a relation

Totality: total
Visibility: public export
Constructors:
Zero : (0_ : x=y) ->ZeroOnepxy
One : pxy-@ZeroOnepxy

Hint: 
Reflexivea (ZeroOnep)
ZeroEq : ZeroOnepxx
  Convenience constructor

Totality: total
Visibility: export
singleton : pxy->ZeroOnepxy
  Unrestricted 'One'

Totality: total
Visibility: export
mapReduceLOnce : {0f : a->b} -> {0q : Relb} ->pxy-@q (fx) (fy) ->q (fx) (fx) ->ZeroOnepxy-@q (fx) (fy)
  Linear 'mapReduceL'

Totality: total
Visibility: export
mapReduceROnce : {0f : a->b} -> {0q : Relb} ->pxy-@q (fx) (fy) ->q (fy) (fy) ->ZeroOnepxy-@q (fx) (fy)
  Linear 'mapReduceR'

Totality: total
Visibility: export
mapOnce : {0f : a->b} ->pxy-@q (fx) (fy) ->ZeroOnepxy-@ZeroOneq (fx) (fy)
  Linear 'map'

Totality: total
Visibility: export
mapReduceL : {0f : a->b} -> {0q : Relb} -> (pxy->q (fx) (fy)) ->q (fx) (fx) ->ZeroOnepxy->q (fx) (fy)
  Reduce to left index, while changing relation

Totality: total
Visibility: export
mapReduceR : {0f : a->b} -> {0q : Relb} -> (pxy->q (fx) (fy)) ->q (fy) (fy) ->ZeroOnepxy->q (fx) (fy)
  Reduce to right index, while changing relation

Totality: total
Visibility: export
map : {0f : a->b} -> (pxy->q (fx) (fy)) ->ZeroOnepxy->ZeroOneq (fx) (fy)
  Change inner relation

Totality: total
Visibility: export
reduceLOnce : pxx->ZeroOnepxy-@pxy
  Linear 'reduceL'

Totality: total
Visibility: export
reduceL : pxx->ZeroOnepxy->pxy
  Reduce to left index

Totality: total
Visibility: export
reduceROnce : pyy->ZeroOnepxy-@pxy
  Linear 'reduceR'

Totality: total
Visibility: export
reduceR : pyy->ZeroOnepxy->pxy
  Reduce to right index

Totality: total
Visibility: export