diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2020-02-15 16:38:23 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-15 16:38:23 -0600 |
commit | 569ec5f0ae1ed35e13cc6f581a2d292f7492387e (patch) | |
tree | 48d4f5bd3d25c4efcf5a9ea3b56d88407b88a398 /src/theory/strings/theory_strings.h | |
parent | 528e801343c692b0ce8123f8754e069e6523f5dc (diff) |
Move proxy variables to InferenceManager in strings (#3758)
Diffstat (limited to 'src/theory/strings/theory_strings.h')
-rw-r--r-- | src/theory/strings/theory_strings.h | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/src/theory/strings/theory_strings.h b/src/theory/strings/theory_strings.h index 960d3ceaa..67b7482ca 100644 --- a/src/theory/strings/theory_strings.h +++ b/src/theory/strings/theory_strings.h @@ -274,22 +274,6 @@ private: EqualityStatus getEqualityStatus(TNode a, TNode b) override; private: - /** - * Map string terms to their "proxy variables". Proxy variables are used are - * intermediate variables so that length information can be communicated for - * constants. For example, to communicate that "ABC" has length 3, we - * introduce a proxy variable v_{"ABC"} for "ABC", and assert: - * v_{"ABC"} = "ABC" ^ len( v_{"ABC"} ) = 3 - * Notice this is required since we cannot directly write len( "ABC" ) = 3, - * which rewrites to 3 = 3. - * In the above example, we store "ABC" -> v_{"ABC"} in this map. - */ - NodeNodeMap d_proxy_var; - /** - * Map from proxy variables to their normalized length. In the above example, - * we store "ABC" -> 3. - */ - NodeNodeMap d_proxy_var_to_length; /** All the function terms that the theory has seen */ context::CDList<TNode> d_functionsTerms; private: @@ -309,24 +293,6 @@ private: /** cache of all skolems */ SkolemCache d_sk_cache; - /** Get proxy variable - * - * If this method returns the proxy variable for (string) term n if one - * exists, otherwise it returns null. - */ - Node getProxyVariableFor(Node n) const; - /** Get symbolic definition - * - * This method returns the "symbolic definition" of n, call it n', and - * populates the vector exp with an explanation such that exp => n = n'. - * - * The symbolic definition of n is the term where (maximal) subterms of n - * are replaced by their proxy variables. For example, if we introduced - * proxy variable v for x ++ y, then given input x ++ y = w, this method - * returns v = w and adds v = x ++ y to exp. - */ - Node getSymbolicDefinition(Node n, std::vector<Node>& exp) const; - //--------------------------for checkExtfEval /** * Non-static information about an extended function t. This information is |