Idris2Doc : Data.Vect.Properties.Map

Data.Vect.Properties.Map

Properties of Data.Vect.map

Definitions

mapId : (xs : Vectna) ->mapidxs=xs
  `map` functoriality: identity preservation

Visibility: export
indexMapWithPos : (f : (Finn->a->b)) -> (xs : Vectna) -> (i : Finn) ->indexi (mapWithPosfxs) =fi (indexixs)
  `mapWtihPos f` represents post-composition the tabulated function `f`

Visibility: export
mapTabulate : (f : (a->b)) -> (g : (Finn->a)) ->tabulate (f.g) =mapf (tabulateg)
  `tabulate : (Fin n ->) -> Vect n` is a natural transformation

Visibility: export
tabulateConstantly : (x : a) ->tabulate (constx) =replicatelenx
  Tabulating with the constant function is replication

Visibility: export
mapRestrictedExtensional : (f : (a->b)) -> (g : (a->b)) -> (xs : Vectna) -> ((i : Finn) ->f (indexixs) =g (indexixs)) ->mapfxs=mapgxs
  It's enough that two functions agree on the elements of a vector for the maps to agree

Visibility: export
mapExtensional : (f : (a->b)) -> (g : (a->b)) -> ((x : a) ->fx=gx) -> (xs : Vectna) ->mapfxs=mapgxs
  function extensionality is a congruence wrt map

Visibility: export
mapFusion : (f : (b->c)) -> (g : (a->b)) -> (xs : Vectna) ->mapf (mapgxs) =map (f.g) xs
  map-fusion property for vectors up to function extensionality

Visibility: export
mapWithElemExtensional : (xs : Vectna) -> (f : ((x : a) -> (0_ : Elemxxs) ->b)) -> (g : ((x : a) -> (0_ : Elemxxs) ->b)) -> ((x : a) -> (0pos : Elemxxs) ->fxpos=gxpos) ->mapWithElemxsf=mapWithElemxsg
  function extensionality is a congruence wrt mapWithElem

Visibility: export