interface Exp : Type -> TypeInterface for the Exponential
We also include minus infinity because of the necessity to compute
causal masks within the attention mechanism.
For rules that `exp` should satisfy, see https://arxiv.org/abs/1911.04790
We also have
`exp . log = id`, `log . exp = id`, `exp minusInfinity = 0`...
exp : a -> alog : a -> aminusInfinity : aExp a => All TensorMonoid (conts shape) => Exp (Tensor shape a)Exp Doubleexp : Exp a => a -> alog : Exp a => a -> aminusInfinity : Exp a => ainterface Sqrt : Type -> Typesqrt : a -> asqrt : Sqrt a => a -> adepFunNum : {k : Fin n -> Type} -> Num ((i : Fin n) -> k i)depFunNeg : {k : Fin n -> Type} -> Neg ((i : Fin n) -> k i)depFunFromDouble : {k : Fin n -> Type} -> FromDouble ((i : Fin n) -> k i)