| # ar0 = # ar1, ar0[n] = elemindex(a0, m2), ar1[m, ar1[m].idx:= m0][n] = elemindex(a, m1), ar1[n] = elemindex(a0, m3), n < # ar1 ⊦ a = a0 |
Used simplifier rules: ⊦ m ≠ n → ar[n, ei][m] = ar[m]; (s)% ⊦ elemindex(a, m) = elemindex(a0, m0) ↔ a = a0 ∧ m = m0; (ws)% ⊦ m < # ar → ar[m, ei][m] = ei; (s)%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic% ⊦ elemindex(a, m).idx:= m0 = elemindex(a, m0); (s) Used formulas: n = m