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