title: Deep copy always fails in workbench system
body: <p>I have found one case that does not make sense.</p>
  
  <p><strong>I have following feature:</strong></p>
  
  <pre><code>test_array_deep_copy: BOOLEAN
          local
              imp, old_imp: ARRAY[STRING]
          do
              comment("Test of a deep copy.")
              create {ARRAY[STRING]} imp.make_empty
              imp.force ("Alan", 1)
              imp.force ("Mark", 2)
              imp.force ("Tom", 3)
  
              old_imp := imp.deep_twin
              imp[2] := "Jim"
  
              Result :=
                  across
                      1 |..| imp.count as j
                  all
                      j.item /= 2 implies imp [j.item] = old_imp [j.item]
                  end
              check not Result end
          end
  </code></pre>
  
  <p>Since it is deep copy, that means address of imp and old_imp are different, as well as that its attributes in both two also refers to different address.</p>
  
  <p>So, this "Result" after across loop, it should be false because addresses in imp and old_imp at same index are different.</p>
  
  <p>So when I debug this code, it say Result is set to be false after finishing across loop.</p>
  
  <p>The problem is that "check not Result" does not make false to true.</p>
  
  <p>If I run workbench system, it says following:
  <a href="https://i.stack.imgur.com/acjvK.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/acjvK.png" alt="enter image description here"></a></p>
  
  <p>I do not know why. "not" before "Result" in "check not Result" statement should make its whole check true, so it should say "PASSED" in workbench system, but it fails.</p>
  
  <p>why is that?</p>