Step
*
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|)
BY
{ (BLemma `omralist_ind_a` THENA Auto) }
1
1. g : OCMon
2. r : CDRng
3. qs : |omral(g;r)|
4. z : |g|
5. ∀r:CDRng. (r↓+gp ∈ IAbMonoid)
⊢ (([] ** qs)[z]) = (msFor{r↓+gp} x ∈ dom([]). msFor{r↓+gp} y ∈ dom(qs). when (x * y) =b z. (([][x]) * (qs[y]))) ∈ |r|
2
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|))))
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]))))
By
Latex:
(BLemma  `omralist\_ind\_a`  THENA  Auto)
Home
Index