diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2019-04-17 10:26:46 -0500 |
---|---|---|
committer | Andres Noetzli <andres.noetzli@gmail.com> | 2019-04-17 08:26:46 -0700 |
commit | 5b00f8d6804bf9f71d6169634341011f99d59b8b (patch) | |
tree | 001bef3833e07195ce2119978f0098d681a2a5ef /src/util | |
parent | 29a06b999c4637197282405df7040d6773bd3858 (diff) |
Fix extended function decomposition (#2960)
Fixes #2958.
The issue was: we had substr(x,0,2) in R, and the "derivable substitution" modifed this to substr(substr(x,0,2),0,2) in R, since substr(x,0,2) was the representative of x (which is a bad choice, but regardless is legal). Then decomposition inference asked "can i reduce substr(substr(x,0,2),0,2) in R"? It determines substr(substr(x,0,2),0,2) in R rewrites to substr(x,0,2) in R, which is already true. However, substr(x,0,2) in R was what we started with.
The fix makes things much more conservative: we never mark extended functions reduced based on decomposition, since there isnt a strong argument based on an ordering.
Diffstat (limited to 'src/util')
0 files changed, 0 insertions, 0 deletions