| r ∈ rs ⊦ (r =>_ * P)[rs, f(r ; o)] ↔ (r => o * P)[rs, f(r ; o)] |
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : apply, , , ⊦ P[rs, f] ↔ P(mk(rs, f))], [CSIMPNAMEDSEQ : write, , , ⊦ r ∈ rs → mk(rs, f(r ; o)) = (mk(rs, f)[r, o])], [CSIMPNAMEDSEQ : in-mk, , , ⊦ r ∈ mk(rs, f) ↔ r ∈ rs], [CSIMPFORWARD : ⊦ rs ≠ ∅ → # rs ≠ 0], [CSIMPFORWARD : ⊦ r ∈ rs → rs ≠ ∅], [CSIMPSEQ : r ∈ H ⊦ ¬ (r => o0 * P)(H[r, o1]) ↔ ¬ (o0 = o1 ∧ (r =>_ * P)(H))], [CSIMPSEQ : ⊦ (r => o * P)(H) → (r =>_ * P)(H)], [CSIMPSEQ : ⊦ P0 * P1 = P1 * P0], [CSIMPSEQ : ⊦ (P0 * P1) * P2 = P0 * P1 * P2])]]