Module Term.Ar
Array
type ('a, 'b) t
= ('a, 'b) ar term
constraint 'a = [< `Bv | `Fp | `Rm ] constraint 'b = [< `Bv | `Fp | `Rm ]
An array term which maps
'a
to'b
.
val make : ([< `Bv | `Fp | `Rm ] as 'a, [< `Bv | `Fp | `Rm ] as 'b) ar sort -> 'b term -> ('a, 'b) t
make sort value
create a one-dimensional constant array of given sort, initialized with given value.- parameter sort
The sort of the array.
- parameter value
The value to initialize the elements of the array with.
- returns
A term representing a constant array of given sort.
val select : ([< `Bv | `Fp | `Rm ] as 'a, [< `Bv | `Fp | `Rm ] as 'b) t -> 'a term -> 'b term
select t i
create an array access.- parameter t
The array term.
- parameter i
The index term.
- returns
SMT-LIB:
select
val store : ([< `Bv | `Fp | `Rm ] as 'a, [< `Bv | `Fp | `Rm ] as 'b) t -> 'a term -> 'b term -> ('a, 'b) t
store t i e
create an array write.- parameter t
The array term.
- parameter i
The index term.
- parameter e
The element term.
- returns
SMT-LIB:
store
val assignment : ([< `Bv | `Fp | `Rm ] as 'a, [< `Bv | `Fp | `Rm ] as 'b) ar value -> ('a value * 'b value) array * 'b value option
assignment t
get the current model value of given array term.The value of indices and values can be queried via
Bv.assignment
andFp.assignment
.- parameter t
The term to query a model value for.
- returns
An array of associations between indices and values. The value of all other indices is
Some default
when base array is constant array, otherwise, it isNone
.