Step * 1 2 of Lemma ptuple-continuous


1. Type
2. Atom ⟶ P ⟶ ((P Type) List)
3. : ℕ ⟶ P ⟶ Type
4. P
5. : ⋂n:ℕ(ptuple(lbl,p.a[lbl;p];X n) p)
6. ∀n:ℕ(<fst(x), snd(x)> ∈ ptuple(lbl,p.a[lbl;p];λp.(X p)) p)
7. ~ <fst(x), snd(x)>
8. fst(x) ∈ {lbl:Atom| 0 < ||a[lbl;p]||} 
9. (snd(x))
(snd(x))
∈ (⋂n:ℕ
     tuple-type(map(λx.case of inl(y) => case of inl(p) => inr(p) => (X p) List inr(E) => E;
                    a[fst(x);p])))
⊢ (⋂n:ℕ
     tuple-type(map(λx.case of inl(y) => case of inl(p) => inr(p) => (X p) List inr(E) => E;
                    a[fst(x);p]))) ⊆tuple-type(map(λx.case x
                                                         of inl(y) =>
                                                         case y
                                                          of inl(p) =>
                                                          ⋂n:ℕ(X p)
                                                          inr(p) =>
                                                          (⋂n:ℕ(X p)) List
                                                         inr(E) =>
                                                         E;a[fst(x);p]))
BY
(Using [`B',⌜tuple-type(map(λp.⋂n:ℕ
                                   ((λn,x. case x
                                           of inl(y) =>
                                           case of inl(p) => inr(p) => (X p) List
                                           inr(E) =>
                                           E) 
                                    
                                    p);a[fst(x);p]))⌝(BLemma `subtype_rel_transitivity`)⋅
   THENW Auto
   }

1
1. Type
2. Atom ⟶ P ⟶ ((P Type) List)
3. : ℕ ⟶ P ⟶ Type
4. P
5. : ⋂n:ℕ(ptuple(lbl,p.a[lbl;p];X n) p)
6. ∀n:ℕ(<fst(x), snd(x)> ∈ ptuple(lbl,p.a[lbl;p];λp.(X p)) p)
7. ~ <fst(x), snd(x)>
8. fst(x) ∈ {lbl:Atom| 0 < ||a[lbl;p]||} 
9. (snd(x))
(snd(x))
∈ (⋂n:ℕ
     tuple-type(map(λx.case of inl(y) => case of inl(p) => inr(p) => (X p) List inr(E) => E;
                    a[fst(x);p])))
⊢ (⋂n:ℕ
     tuple-type(map(λx.case of inl(y) => case of inl(p) => inr(p) => (X p) List inr(E) => E;
                    a[fst(x);p]))) ⊆tuple-type(map(λp.⋂n:ℕ
                                                          ((λn,x. case x
                                                                  of inl(y) =>
                                                                  case of inl(p) => inr(p) => (X p) List
                                                                  inr(E) =>
                                                                  E) 
                                                           
                                                           p);a[fst(x);p]))

2
1. Type
2. Atom ⟶ P ⟶ ((P Type) List)
3. : ℕ ⟶ P ⟶ Type
4. P
5. : ⋂n:ℕ(ptuple(lbl,p.a[lbl;p];X n) p)
6. ∀n:ℕ(<fst(x), snd(x)> ∈ ptuple(lbl,p.a[lbl;p];λp.(X p)) p)
7. ~ <fst(x), snd(x)>
8. fst(x) ∈ {lbl:Atom| 0 < ||a[lbl;p]||} 
9. (snd(x))
(snd(x))
∈ (⋂n:ℕ
     tuple-type(map(λx.case of inl(y) => case of inl(p) => inr(p) => (X p) List inr(E) => E;
                    a[fst(x);p])))
⊢ tuple-type(map(λp.⋂n:ℕ
                      ((λn,x. case of inl(y) => case of inl(p) => inr(p) => (X p) List inr(E) => E) p)\000C;
                 a[fst(x);p])) ⊆tuple-type(map(λx.case x
                                                     of inl(y) =>
                                                     case of inl(p) => ⋂n:ℕ(X p) inr(p) => (⋂n:ℕ(X p)) List
                                                     inr(E) =>
                                                     E;a[fst(x);p]))


Latex:


Latex:

1.  P  :  Type
2.  a  :  Atom  {}\mrightarrow{}  P  {}\mrightarrow{}  ((P  +  P  +  Type)  List)
3.  X  :  \mBbbN{}  {}\mrightarrow{}  P  {}\mrightarrow{}  Type
4.  p  :  P
5.  x  :  \mcap{}n:\mBbbN{}.  (ptuple(lbl,p.a[lbl;p];X  n)  p)
6.  \mforall{}n:\mBbbN{}.  (<fst(x),  snd(x)>  \mmember{}  ptuple(lbl,p.a[lbl;p];\mlambda{}p.(X  n  p))  p)
7.  x  \msim{}  <fst(x),  snd(x)>
8.  fst(x)  \mmember{}  \{lbl:Atom|  0  <  ||a[lbl;p]||\} 
9.  (snd(x))  =  (snd(x))
\mvdash{}  (\mcap{}n:\mBbbN{}
          tuple-type(map(\mlambda{}x.case  x
                                                of  inl(y)  =>
                                                case  y  of  inl(p)  =>  X  n  p  |  inr(p)  =>  (X  n  p)  List
                                                |  inr(E)  =>
                                                E;a[fst(x);p])))  \msubseteq{}r  tuple-type(map(\mlambda{}x.case  x
                                                                                                                              of  inl(y)  =>
                                                                                                                              case  y
                                                                                                                                of  inl(p)  =>
                                                                                                                                \mcap{}n:\mBbbN{}.  (X  n  p)
                                                                                                                                |  inr(p)  =>
                                                                                                                                (\mcap{}n:\mBbbN{}.  (X  n  p))  List
                                                                                                                              |  inr(E)  =>
                                                                                                                              E;a[fst(x);p]))


By


Latex:
(Using  [`B',\mkleeneopen{}tuple-type(map(\mlambda{}p.\mcap{}n:\mBbbN{}
                                                                  ((\mlambda{}n,x.  case  x
                                                                                  of  inl(y)  =>
                                                                                  case  y  of  inl(p)  =>  X  n  p  |  inr(p)  =>  (X  n  p)  List
                                                                                  |  inr(E)  =>
                                                                                  E) 
                                                                    n 
                                                                    p);a[fst(x);p]))\mkleeneclose{}]  (BLemma  `subtype\_rel\_transitivity`)\mcdot{}
  THENW  Auto
  )




Home Index