Step
*
2
of Lemma
prec-sub-size
1. P : Type
2. a : Atom ⟶ P ⟶ ((P + P + Type) List)
3. j : P
4. x : prec(lbl,p.a[lbl;p];j)
5. i : P
6. labl : {lbl:Atom| 0 < ||a[lbl;i]||} 
7. y1 : tuple-type(map(λx.case x
                           of inl(y) =>
                           case y of inl(p) => prec(lbl,p.a[lbl;p];p) | inr(p) => prec(lbl,p.a[lbl;p];p) List
                           | inr(E) =>
                           E;a[labl;i]))
8. prec-sub(P;lbl,p.a[lbl;p];j;x;i;<labl, y1>)
9. y : P
10. x1 : (λx.case x
              of inl(y) =>
              case y of inl(p) => prec(lbl,p.a[lbl;p];p) | inr(p) => prec(lbl,p.a[lbl;p];p) List
              | inr(E) =>
              E) 
         (inl (inr y ))
⊢ l_sum(map(λz.||y;z||;x1)) ∈ ℕ
BY
{ (MemTypeCD THEN Auto THEN (BLemma `l_sum_nonneg` THEN Auto) THEN D 0 THEN Auto) }
Latex:
Latex:
1.  P  :  Type
2.  a  :  Atom  {}\mrightarrow{}  P  {}\mrightarrow{}  ((P  +  P  +  Type)  List)
3.  j  :  P
4.  x  :  prec(lbl,p.a[lbl;p];j)
5.  i  :  P
6.  labl  :  \{lbl:Atom|  0  <  ||a[lbl;i]||\} 
7.  y1  :  tuple-type(map(\mlambda{}x.case  x
                                                      of  inl(y)  =>
                                                      case  y
                                                        of  inl(p)  =>
                                                        prec(lbl,p.a[lbl;p];p)
                                                        |  inr(p)  =>
                                                        prec(lbl,p.a[lbl;p];p)  List
                                                      |  inr(E)  =>
                                                      E;a[labl;i]))
8.  prec-sub(P;lbl,p.a[lbl;p];j;x;i;<labl,  y1>)
9.  y  :  P
10.  x1  :  (\mlambda{}x.case  x
                            of  inl(y)  =>
                            case  y  of  inl(p)  =>  prec(lbl,p.a[lbl;p];p)  |  inr(p)  =>  prec(lbl,p.a[lbl;p];p)  List
                            |  inr(E)  =>
                            E) 
                  (inl  (inr  y  ))
\mvdash{}  l\_sum(map(\mlambda{}z.||y;z||;x1))  \mmember{}  \mBbbN{}
By
Latex:
(MemTypeCD  THEN  Auto  THEN  (BLemma  `l\_sum\_nonneg`  THEN  Auto)  THEN  D  0  THEN  Auto)
Home
Index