| subarray(kar0, 0, m) = subarray(kar1, 0, m), m ≤ # kar0, m ≤ # kar1 ⊦ keyset(kar0, m) ++ ki0 = keyset(kar1, m) ++ ki1 ↔ ki0 = ki1, ki0 ∈ keyset(kar0, m) |
m ≤ # kar0, m ≤ # kar1 ⊦ subarray(kar0, 0, m) = subarray(kar1, 0, m) → keyset(kar0, m) = keyset(kar1, m)
Used simplifier rules: ⊦ m ≠ n → (m ≤ n ↔ m < n); (s)%in-05: ⊦ s ++ ki = s0 ++ ki0 ∧ ki ≠ ki0 → ki ∈ s0; (forward) from specification set-basic[keyindex-set]%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ ki ∈ s → s ++ ki = s; (s)% ⊦ m < n → n ≠ 0; (s)%# kar = n ⊦ subarray(kar, 0, n) = kar; (s) Used terms: m, kar0, kar1