`type astate````=` `{`

`itv : Itv.astate;`
`powloc : AbsLoc.PowLoc.astate;`
`arrayblk : ArrayBlk.astate;`
`traces : TraceSet.t;`

`}```
`type t``= astate```
`val bot : t`
`val pp : F.formatter ‑> astate ‑> unit`
`val unknown : traces:TraceSet.t ‑> t`
`val unknown_from : callee_pname:InferIR.Typ.Procname.t ‑> location:InferBase.Location.t ‑> t`
`val (<=) : lhs:astate ‑> rhs:astate ‑> bool`
`val equal : astate ‑> astate ‑> bool`
`val widen : prev:astate ‑> next:astate ‑> num_iters:int ‑> astate`
`val join : t ‑> t ‑> t`
`val get_itv : t ‑> Itv.t`
`val get_pow_loc : t ‑> AbsLoc.PowLoc.t`
`val get_array_blk : t ‑> ArrayBlk.astate`
`val get_array_locs : t ‑> AbsLoc.PowLoc.t`
`val get_all_locs : t ‑> AbsLoc.PowLoc.t`
`val get_traces : t ‑> TraceSet.t`
`val set_traces : TraceSet.t ‑> t ‑> t`
`val of_itv : ?⁠traces:TraceSet.astate ‑> Itv.astate ‑> astate`
`val of_int : int ‑> astate`
`val of_pow_loc : AbsLoc.PowLoc.t ‑> t`
`val of_array_blk : ArrayBlk.astate ‑> t`
`val modify_itv : Itv.t ‑> t ‑> t`
`val make_sym : ?⁠unsigned:bool ‑> InferIR.Typ.Procname.t ‑> Itv.Counter.t ‑> t`
`val unknown_bit : t ‑> t`
`val neg : t ‑> t`
`val (lnot) : t ‑> t`
`val lift_itv : (Itv.t ‑> Itv.t ‑> Itv.t) ‑> t ‑> t ‑> t`
`val has_pointer : t ‑> bool`
`val lift_cmp_itv : (Itv.t ‑> Itv.t ‑> Itv.Boolean.t) ‑> t ‑> t ‑> t`
`val plus_a : t ‑> t ‑> t`
`val minus_a : t ‑> t ‑> t`
`val mult : t ‑> t ‑> t`
`val div : t ‑> t ‑> t`
`val mod_sem : t ‑> t ‑> t`
`val shiftlt : t ‑> t ‑> t`
`val shiftrt : t ‑> t ‑> t`
`val lt_sem : t ‑> t ‑> t`
`val gt_sem : t ‑> t ‑> t`
`val le_sem : t ‑> t ‑> t`
`val ge_sem : t ‑> t ‑> t`
`val eq_sem : t ‑> t ‑> t`
`val ne_sem : t ‑> t ‑> t`
`val land_sem : t ‑> t ‑> t`
`val lor_sem : t ‑> t ‑> t`
`val lift_prune1 : (Itv.t ‑> Itv.t) ‑> t ‑> t`
`val lift_prune2 : (Itv.t ‑> Itv.t ‑> Itv.t) ‑> (ArrayBlk.astate ‑> ArrayBlk.astate ‑> ArrayBlk.astate) ‑> t ‑> t ‑> t`
`val prune_eq_zero : t ‑> t`
`val prune_ne_zero : t ‑> t`
`val prune_comp : InferIR.Binop.t ‑> t ‑> t ‑> t`
`val prune_eq : t ‑> t ‑> t`
`val prune_ne : t ‑> t ‑> t`
`val is_pointer_to_non_array : astate ‑> bool`
`val lift_pi : (ArrayBlk.astate ‑> Itv.t ‑> ArrayBlk.astate) ‑> t ‑> t ‑> t`
`val plus_pi : t ‑> t ‑> t`
`val minus_pi : t ‑> t ‑> t`
`val minus_pp : t ‑> t ‑> t`
`val get_symbols : t ‑> Itv.Symbol.t list`
`val normalize : t ‑> t`
`val subst : t ‑> (Itv.Bound.t AbstractDomain.Types.bottom_lifted InferModules.Itv.SymbolMap.t * TraceSet.t InferModules.Itv.SymbolMap.t) ‑> InferBase.Location.t ‑> t`
`val add_trace_elem : Trace.elem ‑> t ‑> t`
`val pp_summary : F.formatter ‑> t ‑> unit`
`val set_array_size : Itv.t ‑> t ‑> t`
`module Itv : sig ... end`