Idris2Doc : Data.DiffList

Data.DiffList

(source)

Definitions

dataIsSuffixOf : Lista->Lista->Type
Totality: total
Visibility: public export
Constructors:
SuffixRefl : IsSuffixOfxsxs
ConsSuffix : IsSuffixOfxsys->IsSuffixOfxs (y::ys)

Hints:
Preorder (Lista) IsSuffixOf
Reflexive (Lista) IsSuffixOf
Transitive (Lista) IsSuffixOf
appendIsSuffix : (xs : Lista) -> (ys : Lista) ->IsSuffixOfys (xs++ys)
Visibility: export
suffixLengthLTE : (xs : Lista) -> (ys : Lista) ->IsSuffixOfxsys->LTE (lengthxs) (lengthys)
Visibility: export
recordDiffList : Type->Type
  A diff-list takes a list, and appends new elements on the front
This allows for cheap concatenation, no matter how it is associated

This implementation includes a proof that the function can only append
elements to the front

Totality: total
Visibility: public export
Constructor: 
MkDiffList : (append : (Lista->Lista)) -> (0_ : ((rest : Lista) ->IsSuffixOfrest (appendrest))) ->DiffLista

Projections:
.append : DiffLista->Lista->Lista
0.isSuffix : ({rec:0} : DiffLista) -> (rest : Lista) ->IsSuffixOfrest (append{rec:0}rest)

Hints:
Monoid (DiffLista)
Semigroup (DiffLista)
.append : DiffLista->Lista->Lista
Visibility: public export
append : DiffLista->Lista->Lista
Visibility: public export
0.isSuffix : ({rec:0} : DiffLista) -> (rest : Lista) ->IsSuffixOfrest (append{rec:0}rest)
Visibility: public export
0isSuffix : ({rec:0} : DiffLista) -> (rest : Lista) ->IsSuffixOfrest (append{rec:0}rest)
Visibility: public export
Nil : DiffLista
Visibility: public export
(::) : a->DiffLista->DiffLista
Visibility: public export
Fixity Declaration: infixr operator, level 7
toList : DiffLista->Lista
Visibility: public export
diffAppendIsSuffix : (xs : DiffLista) -> (ys : DiffLista) -> (rest : Lista) ->IsSuffixOfrest (xs.append (ys.appendrest))
singleton : a->DiffLista
Visibility: public export
fromList : Lista->DiffLista
Visibility: public export
DiffListEq : DiffLista->DiffLista->Type
  Equality of `DiffList`s is represented as equality of `DiffList.toList` of each side

Visibility: public export
(.==) : DiffLista->DiffLista->Type
Visibility: public export
Fixity Declaration: infix operator, level 6
semigroupAssoc : (xs : DiffLista) -> (ys : DiffLista) -> (zs : DiffLista) -> ((xs<+>ys) <+>zs) .== (xs<+> (ys<+>zs))
Visibility: export
toListFromListId : (xs : Lista) ->toList (fromListxs) =xs
Visibility: export
semigroupNilRightNeutral : (xs : DiffLista) -> (xs<+> []) .==xs
Visibility: export
semigroupNilLeftNeutral : (xs : DiffLista) -> ([] <+>xs) .==xs
Visibility: export