| nused < # zbrar, sorted(zbrar, 0, nused + 1), n ≤ nused ⊦ payload(shl(zbrar, n, nused + 1), 0, nused) = (zbrar[n].entry? ⊃ payload(zbrar, 0, nused + 1) -- zbrar[n].key;payload(zbrar, 0, nused + 1)) |
n < # zbrar, nused < # zbrar, sorted(zbrar, 0, nused + 1), n ≤ nused ⊦ payload(shl(zbrar, n, nused + 1), 0, nused) = (zbrar[n].entry? ⊃ payload(zbrar, 0, nused + 1) -- zbrar[n].key;payload(zbrar, 0, nused + 1))
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%fle-01: ⊦ m ≤ n ∧ n < n0 → m < n0; (forward) from specification nat%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic