Step
*
2
of Lemma
filter-concat
1. P : Top
2. u : Top
3. v : Top List
4. filter(P;concat(v)) ~ concat(map(λl.filter(P;l);v))
⊢ filter(P;concat([u / v])) ~ concat(map(λl.filter(P;l);[u / v]))
BY
{ (Reduce 0 THEN Subst ⌜concat([u / v]) ~ u @ concat(v)⌝ 0⋅) }
1
.....equality..... 
1. P : Top
2. u : Top
3. v : Top List
4. filter(P;concat(v)) ~ concat(map(λl.filter(P;l);v))
⊢ concat([u / v]) ~ u @ concat(v)
2
1. P : Top
2. u : Top
3. v : Top List
4. filter(P;concat(v)) ~ concat(map(λl.filter(P;l);v))
⊢ filter(P;u @ concat(v)) ~ concat([filter(P;u) / map(λl.filter(P;l);v)])
Latex:
Latex:
1.  P  :  Top
2.  u  :  Top
3.  v  :  Top  List
4.  filter(P;concat(v))  \msim{}  concat(map(\mlambda{}l.filter(P;l);v))
\mvdash{}  filter(P;concat([u  /  v]))  \msim{}  concat(map(\mlambda{}l.filter(P;l);[u  /  v]))
By
Latex:
(Reduce  0  THEN  Subst  \mkleeneopen{}concat([u  /  v])  \msim{}  u  @  concat(v)\mkleeneclose{}  0\mcdot{})
Home
Index