#include <string_constraint.h>
(Note that these are not member symbols.)
This represents a universally quantified string constraint as laid out in DOI: 10.1007/978-3-319-03077-7. The paper seems to specify a universal constraint as follows.
A universal constraint is of the form \( \forall i.\ PI(i) \Rightarrow PV(i)\) where \(PI\) and \(PV\) satisfies the following conditions:
PI , called the index guard, must follow the grammarPV is called the value constraint. The index variable i can only be used in array read expressions of the form a[i]. ie. PV is of the form \(P'(s_0[f_0(i)],\ldots, s_k[f_k(i)]
)\), moreover when focusing on one specific string, all indices are the same [stated in a roundabout manner]. \(L(n)\) and \(P(n, s_0,\ldots, s_k)\) may contain other (free) variables, but in \(P\), \(n\) can only occur as an argument to an \(f\) [explicitly stated, implied].Definition at line 55 of file string_constraint.h.
Definition at line 34 of file string_constraint.cpp.
Definition at line 73 of file string_constraint.h.
Definition at line 101 of file string_constraint.h.
Definition at line 94 of file string_constraint.h.
Definition at line 87 of file string_constraint.h.
Definition at line 1936 of file string_refinement.cpp.
Definition at line 1939 of file string_refinement.cpp.
expr is a linear function of var. Definition at line 1962 of file string_refinement.cpp.
Checks the data invariant for string_constraintt.
Definition at line 2008 of file string_refinement.cpp.
The universally quantified variable is only allowed to occur in index expressions in the body of a string constraint.
This function returns true if this is the case and false otherwise.
Definition at line 1988 of file string_refinement.cpp.
Definition at line 63 of file string_constraint.h.
Definition at line 61 of file string_constraint.h.
Definition at line 60 of file string_constraint.h.
Definition at line 62 of file string_constraint.h.