| v0 = v, m0 < # vols[v, vols[v][m, ebae]][v0], v ∈ vols, v × m ∈ recs, v0 × m0 ∈ recs, v0 ∈ vols[v, vols[v][m, ebae]], ∀ v, m. ¬ v × m ∈ recs ∨ ¬ v ∈ vols ∨ ¬ m < # vols[v] ∨ vols[v][m] = unmapped ⊦ vols[v, vols[v][m, ebae]][v0][m0] = unmapped, v0 × m0 = v × m |
m0 < # vols[v], v ∈ vols, v × m ∈ recs, v × m0 ∈ recs, ∀ v, m. ¬ v × m ∈ recs ∨ ¬ v ∈ vols ∨ ¬ m < # vols[v] ∨ vols[v][m] = unmapped ⊦ vols[v][m0] = unmapped, v × m0 = v × m
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ # ebatbl[n, ebae] = # ebatbl; (s)% ⊦ v ∈ vols[v, ebatbl]; (s)%m ≠ n ⊦ ebatbl[m, ebae][n] = ebatbl[n]; (s)% ⊦ vols[v, ebatbl][v] = ebatbl; (s)