package goblint
Static analysis framework for C
Install
dune-project
Dependency
Authors
Maintainers
Sources
goblint-2.6.0.tbz
sha256=20d5b7332a9f6072ab9ba86c4a53b898eaf681286c56a8805c41850bbf3ddf41
sha512=7c7685cfcd9aa866bc40e813df2bfcb3c79b3d40e615d8d6d0939c5798b9d70dd7f2ba87a741f5ba0ce891e9d254627207fb28057f1f2f6611e4e0d128fd6a71
doc/goblint.lib/Goblint_lib/CongruenceClosure/BlDis/index.html
Module CongruenceClosure.BlDis
Block disequalities: a term t1 is mapped to a set of terms that have a different block than t1. It is allowed to contain terms that are not present in the data structure, so we shouldn't assume that all terms in bldis are present in the union find!
val equal : t -> t -> Ppx_deriving_runtime.bool
val compare : t -> t -> Ppx_deriving_runtime.int
val hash : t -> int
val empty : 'a TMap.t
val is_empty : 'a TMap.t -> bool
Add disequalities bl(t1) != bl(t2) and bl(t2) != bl(t1).
params:
t1-> a term that is not necessarily present in the data structure
tlist: a list of representative terms
For each term t2 in tlist, it adds the disequality t1 != t2 to diseqs.
val element_closure :
prop list ->
Stdlib__Set.Make(Goblint_lib__UnionFind.T).t Stdlib__Map.Make(Z).t
Stdlib__Map.Make(Goblint_lib__UnionFind.T).t ->
(Goblint_lib__UnionFind.term * Goblint_lib__UnionFind.term) list
For each block disequality bl(t1) != bl(t2) we add all disequalities that follow from equalities. I.e., if t1 = z1 + t1' and t2 = z2 + t2', then we add the disequality bl(t1') != bl(t2').
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>