| n < m, n < # kar, m ≤ # kar ⊦ keyset(kar[n, ki], m) ++ kar[n] = keyset(kar, m) ++ ki |
n < # kar, n < m0 +1, m0 +1 ≤ # kar, ∀ n, kar, ki. n < m0 ∧ n < # kar ∧ m0 ≤ # kar → keyset(kar[n, ki], m0) ++ kar[n] = keyset(kar, m0) ++ ki ⊦ keyset(kar[n, ki], m0 +1) ++ kar[n] = keyset(kar, m0 +1) ++ ki
Used simplifier rules: key-set-write-other: m ≤ n, n < # kar ⊦ keyset(kar[n, ki], m) = keyset(kar, m);%keyset-base: ⊦ keyset(kar, 0) = ∅;%nat freely generated by 0, +1;;% ⊦ 0 ≤ m; (s)% ⊦ ¬ m < 0; (s)