Step
*
2
2
1
of Lemma
lookup_omral_times
1. g : OCMon
2. r : CDRng
3. qs : |omral(g;r)|
4. z : |g|
5. ∀r:CDRng. (r↓+gp ∈ IAbMonoid)
6. (r↓+gp ∈ AbDMon) ∧ (r↓xmn ∈ AbDMon)
⊢ ∀ps:|omral(g;r)|
    ((((ps ** qs)[z])
    = (msFor{r↓+gp} x ∈ dom(ps)
         msFor{r↓+gp} y ∈ dom(qs)
           when (x * y) =b z.
             ((ps[x]) * (qs[y])))
    ∈ |r|)
    
⇒ (∀x:|g|. ∀y:|r|.
          ((↑before(x;map(λx.(fst(x));ps)))
          
⇒ (¬(y = 0 ∈ |r|))
          
⇒ ((([<x, y> / ps] ** qs)[z])
             = (msFor{r↓+gp} x@0 ∈ dom([<x, y> / ps])
                  msFor{r↓+gp} y@0 ∈ dom(qs)
                    when (x@0 * y@0) =b z.
                      (([<x, y> / ps][x@0]) * (qs[y@0])))
             ∈ |r|))))
BY
{ ((RenameBVars [`x',`kp';`x@0',`x';`y',`vp';`y@0',`y'] 0  
THENM RepD) THENA Auto) }
1
1. g : OCMon
2. r : CDRng
3. qs : |omral(g;r)|
4. z : |g|
5. ∀r:CDRng. (r↓+gp ∈ IAbMonoid)
6. r↓+gp ∈ AbDMon
7. r↓xmn ∈ AbDMon
8. ps : |omral(g;r)|
9. ((ps ** qs)[z])
= (msFor{r↓+gp} kp ∈ dom(ps)
     msFor{r↓+gp} vp ∈ dom(qs)
       when (kp * vp) =b z.
         ((ps[kp]) * (qs[vp])))
∈ |r|
10. kp : |g|
11. vp : |r|
12. ↑before(kp;map(λkp.(fst(kp));ps))
13. ¬(vp = 0 ∈ |r|)
⊢ (([<kp, vp> / ps] ** qs)[z])
= (msFor{r↓+gp} x ∈ dom([<kp, vp> / ps])
     msFor{r↓+gp} y ∈ dom(qs)
       when (x * y) =b z.
         (([<kp, vp> / ps][x]) * (qs[y])))
∈ |r|
Latex:
Latex:
1.  g  :  OCMon
2.  r  :  CDRng
3.  qs  :  |omral(g;r)|
4.  z  :  |g|
5.  \mforall{}r:CDRng.  (r\mdownarrow{}+gp  \mmember{}  IAbMonoid)
6.  (r\mdownarrow{}+gp  \mmember{}  AbDMon)  \mwedge{}  (r\mdownarrow{}xmn  \mmember{}  AbDMon)
\mvdash{}  \mforall{}ps:|omral(g;r)|
        ((((ps  **  qs)[z])
        =  (msFor\{r\mdownarrow{}+gp\}  x  \mmember{}  dom(ps)
                  msFor\{r\mdownarrow{}+gp\}  y  \mmember{}  dom(qs)
                      when  (x  *  y)  =\msubb{}  z.
                          ((ps[x])  *  (qs[y]))))
        {}\mRightarrow{}  (\mforall{}x:|g|.  \mforall{}y:|r|.
                    ((\muparrow{}before(x;map(\mlambda{}x.(fst(x));ps)))
                    {}\mRightarrow{}  (\mneg{}(y  =  0))
                    {}\mRightarrow{}  ((([<x,  y>  /  ps]  **  qs)[z])
                          =  (msFor\{r\mdownarrow{}+gp\}  x@0  \mmember{}  dom([<x,  y>  /  ps])
                                    msFor\{r\mdownarrow{}+gp\}  y@0  \mmember{}  dom(qs)
                                        when  (x@0  *  y@0)  =\msubb{}  z.
                                            (([<x,  y>  /  ps][x@0])  *  (qs[y@0])))))))
By
Latex:
((RenameBVars  [`x',`kp';`x@0',`x';`y',`vp';`y@0',`y']  0   
THENM  RepD)  THENA  Auto)
Home
Index