import public Compiler.Stablehlo.Dialect.StablehloEnumsdata ValueType : TypeTensorType : Shape -> (0 dtype : Type) -> Primitive dtype => ValueTypeShow ValueTypedata Value : TypeShow Valuedata Env : Typeempty : EnvemptyFrom : Env -> EnvupdateCounterFrom : Env -> State Env ()toList : Env -> List (Nat, Op)counter : Env -> Natrecord Fn : Nat -> TypeMkFn : Nat -> Vect arity ValueType -> Vect resultCount ValueType -> Vect resultCount Value -> Env -> Fn arity.env : Fn arity -> Env.paramTypes : Fn arity -> Vect arity ValueType0 .resultCount : Fn arity -> Nat.resultTypes : ({rec:0} : Fn arity) -> Vect (resultCount {rec:0}) ValueType.results : ({rec:0} : Fn arity) -> Vect (resultCount {rec:0}) Value.tag : Fn arity -> NatShow (Fn arity).tag : Fn arity -> Nattag : Fn arity -> Nat.paramTypes : Fn arity -> Vect arity ValueTypeparamTypes : Fn arity -> Vect arity ValueType.resultTypes : ({rec:0} : Fn arity) -> Vect (resultCount {rec:0}) ValueTyperesultTypes : ({rec:0} : Fn arity) -> Vect (resultCount {rec:0}) ValueType.results : ({rec:0} : Fn arity) -> Vect (resultCount {rec:0}) Valueresults : ({rec:0} : Fn arity) -> Vect (resultCount {rec:0}) Value.env : Fn arity -> Envenv : Fn arity -> Envdata BinaryOp : TypeCompare : ComparisonDirection -> BinaryOpAnd : BinaryOpOr : BinaryOpAdd : BinaryOpSub : BinaryOpMul : BinaryOpDiv : BinaryOpRem : BinaryOpPow : BinaryOpMin : BinaryOpMax : BinaryOpShiftRightLogical : BinaryOpShow BinaryOpdata UnaryOp : TypeNot : UnaryOpNeg : UnaryOpCeil : UnaryOpFloor : UnaryOpAbs : UnaryOpLog : UnaryOpExp : UnaryOpLogistic : UnaryOpSqrt : UnaryOpSin : UnaryOpCos : UnaryOpTan : UnaryOpTanh : UnaryOpErf : UnaryOpErfInv : UnaryOpSquare : UnaryOpAsin : UnaryOpAcos : UnaryOpAtan : UnaryOpSinh : UnaryOpCosh : UnaryOpAsinh : UnaryOpAcosh : UnaryOpAtanh : UnaryOpShow UnaryOpdata Op : TypeBoundSet : Nat -> OpLit : PrimitiveRW dtype ty => Literal shape ty -> OpGrad : Shape -> Fn 1 -> Value -> OpMinValue : (0 dtype : Type) -> Primitive dtype => OpMaxValue : (0 dtype : Type) -> Primitive dtype => OpMinFiniteFloat : OpMaxFiniteFloat : OpIota : Primitive dtype => Shape -> Nat -> OpBitCastConvert : Primitive dtype => Shape -> Value -> OpConvert : Primitive dtype => Shape -> Value -> OpReshape : Primitive dtype => Shape -> Value -> OpSlice : List Nat -> List Nat -> List Nat -> Value -> OpDynamicSlice : List Value -> List Nat -> Value -> OpConcat : Nat -> Vect (S n) Value -> OpTranspose : List Nat -> Value -> OpBroadcast : Primitive dtype => Shape -> Shape -> Value -> OpMap : Fn arity -> Vect arity Value -> ValueType -> Shape -> OpReduce : Fn (n + n) -> Vect n Value -> List Nat -> Vect n Value -> OpSort : Fn 2 -> Nat -> Bool -> Value -> OpReverse : List Nat -> Value -> OpBinaryElementwise : BinaryOp -> Value -> Value -> OpUnaryElementwise : UnaryOp -> Value -> OpSelect : Value -> Value -> Value -> OpWhile : Fn n -> Fn n -> Vect n Value -> OpIf : ValueType -> Value -> Fn 0 -> Fn 0 -> OpDotGeneral : List Nat -> List Nat -> List Nat -> List Nat -> ValueType -> Value -> Value -> OpCholesky : Value -> OpTriangularSolve : Value -> Value -> Bool -> OpRng : Value -> ValueType -> OptagOp : Monad m => Op -> StateT Env m Opreserve : State Env Nat