package mopsa
Install
dune-project
Dependency
Authors
Maintainers
Sources
md5=fdee20e988343751de440b4f6b67c0f4
sha512=f5cbf1328785d3f5ce40155dada2d95e5de5cce4f084ea30cfb04d1ab10cc9403a26cfb3fa55d0f9da72244482130fdb89c286a9aed0d640bba46b7c00e09500
doc/powersets/Powersets/Excluded/SimplifiedValue/index.html
Module Excluded.SimplifiedValueSource
Types
*********
module Set : sig ... endHeader of the abstraction
*****************************
include sig ... end
val id : t Core__Id.idOptions
***********
Utilities
*************
bound a is a if the number of elements in a is lesser or equal to the maximum number of elements allowed, otherwise it is top. Does not bound the size of NotIn, as there are no infinite ascending chains for NotIn.
of_bounds l r is {l, l+1, ..., r} if this set has size up to the maximum number of elements, otherwise it is NotIn {l-1, r+1}. This is a precision optimization compared to simply return top, as we already know that l - 1 and r + 1 will not be in the set of elements. Due to this optimization, top is often represented as ∉{MININT - 1, MAXINT + 1} in C programs.
of_bool t f is:
∅ift = falseandf = false{0}ift = falseandf = true{1}ift = trueandf = false{0,1}ift = trueandf = true
combine combiner s1 s2 is {combiner x1 x2 | x1 ∈ s1, x2 ∈ s2}.
Forward semantics
*********************
combine_with combiner a1 a2 combines the elements of a1 and a2 with combiner. If a1 and a2 are finite sets, it applies combiner to the cartesian product of the two. If a1 and a2 are both exclued powersets, returns top. If one of the two is a finite set of size exactly one (and therefore, it is a definite value), returns an excluded set where the constant is combined with the excluded powerset. Otherwise, returns top.
include module type of struct include Mopsa.Sig.Abstraction.Simplified_value.DefaultValueFunctions end
val filter : bool -> Core.All.typ -> 't -> 'tval backward_unop :
Core.All.operator ->
Core.All.typ ->
't ->
Core.All.typ ->
't ->
'tval backward_binop :
Core.All.operator ->
Core.All.typ ->
't ->
Core.All.typ ->
't ->
Core.All.typ ->
't ->
't * 't