| # avols0[v] = # avols1[v], # avols[v] = # avols1[v], m < # avols1[v], v ∈ avols0, v ∈ avols1, v ∈ avols, ∀ m. m < # avols1[v] ∧ avols0[v][m] ≠ unmapped → (avols0[v][m] = erased → avols1[v][m] = erased) ∧ (avols0[v][m].mapped? → avols1[v][m] = avols0[v][m]), ∀ m. m < # avols1[v] ∧ avols[v][m] ≠ unmapped → (avols[v][m] = erased → avols0[v][m] = erased) ∧ (avols[v][m].mapped? → avols0[v][m] = avols[v][m]) ⊦ avols[v][m] = unmapped, (avols[v][m] = erased → avols1[v][m] = erased) ∧ (avols[v][m].mapped? → avols1[v][m] = avols[v][m]) |
# avols[v] = # avols1[v], # avols0[v] = # avols1[v], m < # avols1[v], v ∈ avols, v ∈ avols1, v ∈ avols0, m < # avols1[v] ∧ avols[v][m] ≠ unmapped → (avols[v][m] = erased → avols0[v][m] = erased) ∧ (avols[v][m].mapped? → avols0[v][m] = avols[v][m]), ∀ m. m < # avols1[v] ∧ avols0[v][m] ≠ unmapped → (avols0[v][m] = erased → avols1[v][m] = erased) ∧ (avols0[v][m].mapped? → avols1[v][m] = avols0[v][m]) ⊦ avols[v][m] = unmapped, (avols[v][m] = erased → avols1[v][m] = erased) ∧ (avols[v][m].mapped? → avols1[v][m] = avols[v][m])
Used terms: m