| m0 + 1 < # kar, m0 + 1 < # keyset(kar, m0 + 1), ∀ kar0. ¬ m0 < # keyset(kar0, m0) ∨ ¬ m0 < # kar0 ⊦ |
⊦ n < # kar → keyset(kar, n + 1) = keyset(kar, n) ++ kar[n]
m0 + 1 < #(keyset(kar, m0) ++ kar[m0]), m0 + 1 < # kar, m0 < # kar, ∀ kar0. ¬ m0 < # keyset(kar0, m0) ∨ ¬ m0 < # kar0 ⊦
Used simplifier rules: ⊦ ¬ m < n → ¬ m + m0 < n; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic Used terms: m0, kar