| n0 < # kar, n1 < # kar, n0 ≤ n1, ∀ n, n0, kar. n < n1 ∧ n0 < n1 ∧ n < # kar ∧ n0 < # kar ∧ n1 ≤ # kar → keyset(kar[n0, kar[n]][n, kar[n0]], n1) = keyset(kar, n1) ⊦ keyset(kar[n0, kar[n1]], n1) ++ kar[n0] = keyset(kar, n1) ++ kar[n1] |
m ≤ # kar ⊦ n < m → keyset(kar[n, ki], m) ++ kar[n] = keyset(kar, m) ++ ki
Used simplifier rules: key-set-write-other: m ≤ n, n < # kar ⊦ keyset(kar[n, ki], m) = keyset(kar, m);% ⊦ m < n → m ≤ n; (s)% ⊦ m ≤ n → (n ≤ m ↔ m = n); (s)% ⊦ m ≠ n → (m ≤ n ↔ m < n); (s)% ⊦ m ≠ n → (m < n ↔ ¬ n < m); (ss)% ⊦ m < n → ¬ n < m; (s)% ⊦ m < n ↔ ¬ n ≤ m; (ss) Used terms: n1, kar[n1], n0, kar