Step * 2 2 of Lemma lookup_omral_times


1. OCMon
2. CDRng
3. qs |omral(g;r)|
4. |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. OCMon
2. CDRng
3. qs |omral(g;r)|
4. |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