Step
*
of Lemma
mon_for_when_unique
∀s:DSet. ∀g:IMonoid. ∀f:|s| ⟶ |g|. ∀b:|s| ⟶ 𝔹. ∀u:|s|.
((↑b[u])
⇒ (∀as:|s| List
((↑distinct{s}(as))
⇒ (↑(u ∈b as))
⇒ (∀v:|s|. ((↑b[v])
⇒ (↑(v ∈b as))
⇒ (v = u ∈ |s|)))
⇒ ((For{g} x ∈ as. (when b[x]. f[x])) = f[u] ∈ |g|))))
BY
{ TACTIC:(InductionOnListA THEN Reduce 0 THEN Auto) }
1
1. s : DSet
2. g : IMonoid
3. f : |s| ⟶ |g|
4. b : |s| ⟶ 𝔹
5. u : |s|
6. ↑b[u]
7. a : |s|
8. as : |s| List
9. (↑distinct{s}(as))
⇒ (↑(u ∈b as))
⇒ (∀v:|s|. ((↑b[v])
⇒ (↑(v ∈b as))
⇒ (v = u ∈ |s|)))
⇒ ((For{g} x ∈ as. (when b[x]. f[x])) = f[u] ∈ |g|)
10. ↑((∀br(:|s|) ∈ as. (¬b(r (=b) a))) ∧b distinct{s}(as))
11. ↑((a (=b) u) ∨b(u ∈b as))
12. ∀v:|s|. ((↑b[v])
⇒ (↑((a (=b) v) ∨b(v ∈b as)))
⇒ (v = u ∈ |s|))
⊢ ((when b[a]. f[a]) * (For{g} x ∈ as. (when b[x]. f[x]))) = f[u] ∈ |g|
Latex:
Latex:
\mforall{}s:DSet. \mforall{}g:IMonoid. \mforall{}f:|s| {}\mrightarrow{} |g|. \mforall{}b:|s| {}\mrightarrow{} \mBbbB{}. \mforall{}u:|s|.
((\muparrow{}b[u])
{}\mRightarrow{} (\mforall{}as:|s| List
((\muparrow{}distinct\{s\}(as))
{}\mRightarrow{} (\muparrow{}(u \mmember{}\msubb{} as))
{}\mRightarrow{} (\mforall{}v:|s|. ((\muparrow{}b[v]) {}\mRightarrow{} (\muparrow{}(v \mmember{}\msubb{} as)) {}\mRightarrow{} (v = u)))
{}\mRightarrow{} ((For\{g\} x \mmember{} as. (when b[x]. f[x])) = f[u]))))
By
Latex:
TACTIC:(InductionOnListA THEN Reduce 0 THEN Auto)
Home
Index