I am not sure. However, the problem of this rewriting is because that I cannot reason about the element from a set. 

For example, if you have:
```
syntax KItem ::= abc(Set)
rule abc (SetItem(K:K) S:Set) => ...
      when K =/=Int 1
```

This rule will not work in the current java backend because it requires search the data in the set.