| v ∈ vols1 ↔ v ∈ vols2, v ∈ vols0 ↔ v ∈ vols1, v ∈ vols2 → # vols1[v] = # vols2[v] ∧ (∀ m. m < # vols1[v] ∧ vols1[v][m] ≠ unmapped → vols1[v][m] = vols2[v][m]), v ∈ vols0 → # vols0[v] = # vols1[v] ∧ (∀ m. m < # vols0[v] ∧ vols0[v][m] ≠ unmapped → vols0[v][m] = vols1[v][m]), ∀ v. (v ∈ vols0 ↔ v ∈ vols1) ∧ (v ∈ vols0 → # vols0[v] = # vols1[v] ∧ (∀ m. m < # vols0[v] ∧ vols0[v][m] ≠ unmapped → vols0[v][m] = vols1[v][m])), ∀ v. (v ∈ vols1 ↔ v ∈ vols2) ∧ (v ∈ vols1 → # vols1[v] = # vols2[v] ∧ (∀ m. m < # vols1[v] ∧ vols1[v][m] ≠ unmapped → vols1[v][m] = vols2[v][m])) ⊦ (v ∈ vols0 ↔ v ∈ vols2) ∧ (v ∈ vols0 → # vols0[v] = # vols2[v] ∧ (m < # vols0[v] ∧ vols0[v][m] ≠ unmapped → vols0[v][m] = vols2[v][m])) |
# vols1[v] = # vols2[v], # vols0[v] = # vols2[v], m < # vols2[v], v ∈ vols2, v ∈ vols1, v ∈ vols0, ∀ v. (v ∈ vols0 ↔ v ∈ vols1) ∧ (v ∈ vols0 → # vols0[v] = # vols1[v] ∧ (∀ m. m < # vols0[v] ∧ vols0[v][m] ≠ unmapped → vols0[v][m] = vols1[v][m])), ∀ v. (v ∈ vols1 ↔ v ∈ vols2) ∧ (v ∈ vols1 → # vols1[v] = # vols2[v] ∧ (∀ m. m < # vols1[v] ∧ vols1[v][m] ≠ unmapped → vols1[v][m] = vols2[v][m])), ∀ m. m < # vols2[v] ∧ vols1[v][m] ≠ unmapped → vols1[v][m] = vols2[v][m], ∀ m. m < # vols2[v] ∧ vols0[v][m] ≠ unmapped → vols0[v][m] = vols1[v][m] ⊦ vols0[v][m] = unmapped, vols0[v][m] = vols2[v][m]
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic