Step * of Lemma dest-prec_wf

[P:Type]. ∀[a:Atom ⟶ P ⟶ ((P Type) List)]. ∀[i:P]. ∀[x:prec(lbl,p.a[lbl;p];i)].
  (dest-prec(x) ∈ lbl:{lbl:Atom| 0 < ||a[lbl;i]||}  × tuple-type(prec-arg-types(lbl,p.a[lbl;p];i;lbl)))
BY
(InstLemma `prec-ext` []
   THEN RepeatFor (ParallelLast')
   THEN Intros
   THEN Unhide
   THEN (GenConcl ⌜x
                   y
                   ∈ (labl:{lbl:Atom| 0 < ||a[lbl;i]||}  × 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])))⌝⋅
         THENA Auto
         )
   THEN ThinVar `x'
   THEN -1
   THEN RepUR ``dest-prec`` 0
   THEN (MemCD THENA Auto)
   THEN RepUR ``prec-arg-types`` 0
   THEN Auto) }


Latex:


Latex:
\mforall{}[P:Type].  \mforall{}[a:Atom  {}\mrightarrow{}  P  {}\mrightarrow{}  ((P  +  P  +  Type)  List)].  \mforall{}[i:P].  \mforall{}[x:prec(lbl,p.a[lbl;p];i)].
    (dest-prec(x)  \mmember{}  lbl:\{lbl:Atom|  0  <  ||a[lbl;i]||\}    \mtimes{}  tuple-type(prec-arg-types(lbl,p.a[lbl;p];i;lbl\000C)))


By


Latex:
(InstLemma  `prec-ext`  []
  THEN  RepeatFor  3  (ParallelLast')
  THEN  Intros
  THEN  Unhide
  THEN  (GenConcl  \mkleeneopen{}x  =  y\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  ThinVar  `x'
  THEN  D  -1
  THEN  RepUR  ``dest-prec``  0
  THEN  (MemCD  THENA  Auto)
  THEN  RepUR  ``prec-arg-types``  0
  THEN  Auto)




Home Index