Step * 1 1 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]||} 
⊢ 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]))
BY
((MemTypeCD THENW Auto)
   THEN (D With ⌜n⌝  THENA Auto)
   THEN RepUR ``ptuple`` -1
   THEN (MemHD (-1) THEN Auto)
   THEN Reduce -1
   THEN DoSubsume
   THEN Try (Trivial)
   THEN (HypSubst' (-5) THENW Auto)
   THEN Reduce 0
   THEN Auto) }


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]||\} 
\mvdash{}  snd(x)  \mmember{}  \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]))


By


Latex:
((MemTypeCD  THENW  Auto)
  THEN  (D  6  With  \mkleeneopen{}n\mkleeneclose{}    THENA  Auto)
  THEN  RepUR  ``ptuple``  -1
  THEN  (MemHD  (-1)  THEN  Auto)
  THEN  Reduce  -1
  THEN  DoSubsume
  THEN  Try  (Trivial)
  THEN  (HypSubst'  (-5)  0  THENW  Auto)
  THEN  Reduce  0
  THEN  Auto)




Home Index