| m < # avols[v], ebm-cons(avols), ebm-cons(avols0), v ∈ avols, ∀ v. (v ∈ avols ↔ v ∈ avols0) ∧ ( v ∈ avols → # avols[v] = # avols0[v] ∧ (∀ m. m < # avols[v] ∧ avols[v][m] ≠ unmapped → (avols[v][m] = erased → avols0[v][m] = erased) ∧ (avols[v][m].mapped? → avols0[v][m] = avols[v][m]))) ⊦ (v0 ∈ avols[v, avols[v][m, unmapped]] ↔ v0 ∈ avols0) ∧ ( v0 ∈ avols[v, avols[v][m, unmapped]] → # avols[v, avols[v][m, unmapped]][v0] = # avols0[v0] ∧ ( m0 < # avols[v, avols[v][m, unmapped]][v0] ∧ avols[v, avols[v][m, unmapped]][v0][m0] ≠ unmapped → (avols[v, avols[v][m, unmapped]][v0][m0] = erased → avols0[v0][m0] = erased) ∧ (avols[v, avols[v][m, unmapped]][v0][m0].mapped? → avols0[v0][m0] = avols[v, avols[v][m, unmapped]][v0][m0]))) |
v0 ∈ avols ↔ v0 ∈ avols0, m < # avols[v], ebm-cons(avols0), ebm-cons(avols), v ∈ avols, v0 ∈ avols → # avols[v0] = # avols0[v0] ∧ (∀ m. m < # avols[v0] ∧ avols[v0][m] ≠ unmapped → (avols[v0][m] = erased → avols0[v0][m] = erased) ∧ (avols[v0][m].mapped? → avols0[v0][m] = avols[v0][m])) ⊦ (v0 ∈ avols[v, avols[v][m, unmapped]] ↔ v0 ∈ avols0) ∧ ( v0 ∈ avols[v, avols[v][m, unmapped]] → # avols[v, avols[v][m, unmapped]][v0] = # avols0[v0] ∧ ( m0 < # avols[v, avols[v][m, unmapped]][v0] ∧ avols[v, avols[v][m, unmapped]][v0][m0] ≠ unmapped → (avols[v, avols[v][m, unmapped]][v0][m0] = erased → avols0[v0][m0] = erased) ∧ (avols[v, avols[v][m, unmapped]][v0][m0].mapped? → avols0[v0][m0] = avols[v, avols[v][m, unmapped]][v0][m0])))
Used terms: v0