Step
*
2
2
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)
⊢ ∀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
{ xxx(InstLemma `cdrng_is_abdmonoid` [⌜r⌝]⋅ THENA Auto)xxx }
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) ∧ (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|))))
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)
\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:
xxx(InstLemma  `cdrng\_is\_abdmonoid`  [\mkleeneopen{}r\mkleeneclose{}]\mcdot{}  THENA  Auto)xxx
Home
Index