Step
*
1
of Lemma
mon_for_when_none
1. s : DSet
2. g : IMonoid
3. f : |s| ⟶ |g|
4. b : |s| ⟶ 𝔹
5. a : |s|
6. as : |s| List
7. (∀x:|s|. ((↑(x ∈b as)) 
⇒ (¬↑b[x]))) 
⇒ ((For{g} x ∈ as. (when b[x]. f[x])) = e ∈ |g|)
8. ∀x:|s|. ((↑((a (=b) x) ∨b(x ∈b as))) 
⇒ (¬↑b[x]))
⊢ ((when b[a]. f[a]) * (For{g} x ∈ as. (when b[x]. f[x]))) = e ∈ |g|
BY
{ TACTIC:(Unfold `mon_when` 0 THEN (SplitOnConclITE THENA Auto)) }
1
.....truecase..... 
1. s : DSet
2. g : IMonoid
3. f : |s| ⟶ |g|
4. b : |s| ⟶ 𝔹
5. a : |s|
6. as : |s| List
7. (∀x:|s|. ((↑(x ∈b as)) 
⇒ (¬↑b[x]))) 
⇒ ((For{g} x ∈ as. (when b[x]. f[x])) = e ∈ |g|)
8. ∀x:|s|. ((↑((a (=b) x) ∨b(x ∈b as))) 
⇒ (¬↑b[x]))
9. ↑b[a]
⊢ (f[a] * (For{g} x ∈ as. if b[x] then f[x] else e fi )) = e ∈ |g|
2
.....falsecase..... 
1. s : DSet
2. g : IMonoid
3. f : |s| ⟶ |g|
4. b : |s| ⟶ 𝔹
5. a : |s|
6. as : |s| List
7. (∀x:|s|. ((↑(x ∈b as)) 
⇒ (¬↑b[x]))) 
⇒ ((For{g} x ∈ as. (when b[x]. f[x])) = e ∈ |g|)
8. ∀x:|s|. ((↑((a (=b) x) ∨b(x ∈b as))) 
⇒ (¬↑b[x]))
9. ¬↑b[a]
⊢ (e * (For{g} x ∈ as. if b[x] then f[x] else e fi )) = e ∈ |g|
Latex:
Latex:
1.  s  :  DSet
2.  g  :  IMonoid
3.  f  :  |s|  {}\mrightarrow{}  |g|
4.  b  :  |s|  {}\mrightarrow{}  \mBbbB{}
5.  a  :  |s|
6.  as  :  |s|  List
7.  (\mforall{}x:|s|.  ((\muparrow{}(x  \mmember{}\msubb{}  as))  {}\mRightarrow{}  (\mneg{}\muparrow{}b[x])))  {}\mRightarrow{}  ((For\{g\}  x  \mmember{}  as.  (when  b[x].  f[x]))  =  e)
8.  \mforall{}x:|s|.  ((\muparrow{}((a  (=\msubb{})  x)  \mvee{}\msubb{}(x  \mmember{}\msubb{}  as)))  {}\mRightarrow{}  (\mneg{}\muparrow{}b[x]))
\mvdash{}  ((when  b[a].  f[a])  *  (For\{g\}  x  \mmember{}  as.  (when  b[x].  f[x])))  =  e
By
Latex:
TACTIC:(Unfold  `mon\_when`  0  THEN  (SplitOnConclITE  THENA  Auto))
Home
Index