Idris2Doc : Data.Container.Additive.Morphism.Instances

Data.Container.Additive.Morphism.Instances

(source)

Definitions

State : AddCont->Type
  "State" as defined in https://arxiv.org/abs/2403.13001 and open games 

┌─────────────┐
│ ├──► (x : c.Shp)
│ State │
│ ├◄── c.Pos x
└─────────────┘

Totality: total
Visibility: public export
toState : c.Shp->Statec
Totality: total
Visibility: public export
fromState : Statec->c.Shp
Totality: total
Visibility: public export
Costate : AddCont->Type
  "Costate" as defined in https://arxiv.org/abs/2403.13001 and open games 

┌─────────────┐
(x : c.Shp) ──►┤ │
│ Costate │
c.Pos x ◄──┤ │
└─────────────┘

Totality: total
Visibility: public export
toCostate : ((x : c.Shp) ->c.Posx) ->Costatec
Totality: total
Visibility: public export
fromCostate : Costatec-> (x : c.Shp) ->c.Posx
Totality: total
Visibility: public export
constantOne : InterfaceOnPositionscNum=>Costatec
Totality: total
Visibility: public export
Delete : Costatec
Totality: total
Visibility: public export
pushDown : AddCont->AddCont
  If we model the idea of a container (S !> P) as a box
┌──────┐
│ s:S │
├──────┤
│ Ps │
└──────┘
then `pushDown` is interpreted as pushing down the container,
pruning anything that goes out of the box, and using `Unit` for
anything new that appears:
┌──────┐
│ Unit │
├──────┤
│ s:S │
└──────┘
Ps
For additive containers we need to take the free monoid

Totality: total
Visibility: public export
pushIntoContinuationList : (d><p) =%>l->p=%> (pushDownd>@Listl)
Totality: total
Visibility: public export
pushIntoContinuation : IsFlatl=>Num (l.Shp) => (d><p) =%>l->p=%> (pushDownd>@l)
Totality: total
Visibility: public export
leftUnit : (Scalar><c) =%>c
Totality: total
Visibility: public export
rightUnit : (c><Scalar) =%>c
Totality: total
Visibility: public export
leftUnitInv : c=%> (Scalar><c)
Totality: total
Visibility: public export
rightUnitInv : c=%> (c><Scalar)
Totality: total
Visibility: public export
assocL : ((a><b) ><c) =%> (a>< (b><c))
Totality: total
Visibility: public export
assocR : (a>< (b><c)) =%> ((a><b) ><c)
Totality: total
Visibility: public export
swap : (a><b) =%> (b><a)
Totality: total
Visibility: public export
swapMiddle : ((c1><c2) >< (c3><c4)) =%> ((c1><c3) >< (c2><c4))
Totality: total
Visibility: public export
Copy : c=%> (c><c)
  These do not exist for ordinary containers!
Here we need `c` not to be erased since we're using its monoid structure

Totality: total
Visibility: public export
PairMaps : c=%>d->c=%>e->c=%> (d><e)
Totality: total
Visibility: public export
ProjLeft : (c><d) =%>c
Totality: total
Visibility: public export
ProjRight : (c><d) =%>d
Totality: total
Visibility: public export
leftUnit : (Scalar>@c) =%>c
Totality: total
Visibility: public export
rightUnit : (c>@Scalar) =%>c
Totality: total
Visibility: public export
leftUnitInv : c=%> (Scalar>@c)
Totality: total
Visibility: public export
rightUnitInv : c=%> (c>@Scalar)
  Right unit inverse: c =%> c >@ I

Totality: total
Visibility: public export
elim : (c>+<c) =%>c
Totality: total
Visibility: public export
duoidal : ((c>@d) >< (e>@f)) =%> ((c><e) >@ (d><f))
Totality: total
Visibility: public export
coprodDistrOverTensor : ((a>+<b) >< (p><q)) =%> ((a><p) >+< (b><q))
Totality: total
Visibility: public export
rebracketcomptensor : ((e>@y) ><y) =%> (e>@ (y><y))
  Not an isomorphism, arising from duoidal structure between >@ and ><

Totality: total
Visibility: public export
distribute : (c><e) =%>s-> (c>< (e>@g)) =%> (s>@g)
Totality: total
Visibility: public export
extractEffect : (d>< (e>@f)) =%> (e>@ (d><f))
Totality: total
Visibility: public export
Sum : {auto{conArg:18521} : Numa} -> (Consta><Consta) =%>Consta
Totality: total
Visibility: public export
bwSumList : ComMonoidl=> (xs : Listl) ->l->All (constl) xs
Totality: total
Visibility: public export
SumList : {auto{conArg:18621} : ComMonoidl} ->List (Constl) =%>Constl
Totality: total
Visibility: public export
Negate : {auto{conArg:18653} : Numa} ->Nega=>Consta=%>Consta
Totality: total
Visibility: public export
Zero : {auto{conArg:18693} : Numa} ->c=%>Consta
Totality: total
Visibility: public export
Mul : {auto{conArg:18726} : Numa} -> (Consta><Consta) =%>Consta
Totality: total
Visibility: public export
SquaredDifference : {auto{conArg:18787} : Numa} ->Nega=> (Consta><Consta) =%>Consta
  Mean squared error

Totality: total
Visibility: public export
selectShape : All.Shpcs->Fink->Any.Shpcs
  Select a shape from All to produce an Any at the given index
Same as `index i (allAnies shapes)` but reduces better

Totality: total
Visibility: public export
extractPos : (i : Finn) ->AnyShpPos (selectShapeshapesi) -> (indexixs) .Pos (indexishapes)
  Extract the position from an AnyPos at a given index

Totality: total
Visibility: public export