package goblint
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Static analysis framework for C
Install
dune-project
Dependency
Authors
Maintainers
Sources
goblint-2.8.0.tbz
sha256=9175eec0143102243964e34a0786584fd590c60422009259c705a89a27f88de4
sha512=9d760007dd8d003cf596516444ed7acc7370fc3d446e75ac71b0176522c3baae090410762f9035e7aae4f6b0e394bf28bb5b1c08ca0476920b94aa919ef04f42
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.boolval compare : t -> t -> Ppx_deriving_runtime.intval hash : t -> intval empty : 'a TMap.tval is_empty : 'a TMap.t -> boolAdd 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) listFor 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)"
>