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