| m + n < scan(key, zbrar, m + 1, len0), zbrar[m].key < key, ∀ m, n, key, zbrar. m + n < scan(key, zbrar, m, len0) → zbrar[m + n].key < key ⊦ zbrar[m + n].key < key |
n = n0 +1, zbrar[m].key < key, m + n < scan(key, zbrar, m + 1, len0), ∀ m, n, key, zbrar. m + n < scan(key, zbrar, m, len0) → zbrar[m + n].key < key ⊦ zbrar[m + n].key < key
Used simplifier rules: nat freely generated by 0, +1;;% ⊦ n + 0 = n; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic