Step * of Lemma prec-definition

[P:Type]. ∀[a:Atom ⟶ P ⟶ ((P Type) List)]. ∀[A:P ⟶ Type]. ∀[R:i:P ⟶ prec(lbl,p.a[lbl;p];i) ⟶ A[i] ⟶ ℙ].
  ((∀i:P. ∀x:prec(lbl,p.a[lbl;p];i).
      ((∀j:P. ∀z:{z:prec(lbl,p.a[lbl;p];j)| prec_sub+(P;lbl,p.a[lbl;p]) <j, z> <i, x>.  (∃a:A[j] [R[j;z;a]]))  (∃a:A\000C[i] [R[i;x;a]])))
   (∀i:P. ∀x:prec(lbl,p.a[lbl;p];i).  (∃a:A[i] [R[i;x;a]])))
BY
(InstLemma `prec-induction-ext` []
   THEN RepeatFor (ParallelLast')
   THEN Auto
   THEN InstHyp [⌜λ2x.∃a:A[i] [R[i;x;a]]⌝3⋅
   THEN Auto) }


Latex:


Latex:
\mforall{}[P:Type].  \mforall{}[a:Atom  {}\mrightarrow{}  P  {}\mrightarrow{}  ((P  +  P  +  Type)  List)].  \mforall{}[A:P  {}\mrightarrow{}  Type].  \mforall{}[R:i:P
                                                                                                                                                {}\mrightarrow{}  prec(lbl,p.a[lbl;p];i)
                                                                                                                                                {}\mrightarrow{}  A[i]
                                                                                                                                                {}\mrightarrow{}  \mBbbP{}].
    ((\mforall{}i:P.  \mforall{}x:prec(lbl,p.a[lbl;p];i).
            ((\mforall{}j:P.  \mforall{}z:\{z:prec(lbl,p.a[lbl;p];j)|  prec\_sub+(P;lbl,p.a[lbl;p])  <j,  z>  <i,  x>\}  .    (\mexists{}a:A[j]  [\000CR[j;z;a]]))
            {}\mRightarrow{}  (\mexists{}a:A[i]  [R[i;x;a]])))
    {}\mRightarrow{}  (\mforall{}i:P.  \mforall{}x:prec(lbl,p.a[lbl;p];i).    (\mexists{}a:A[i]  [R[i;x;a]])))


By


Latex:
(InstLemma  `prec-induction-ext`  []
  THEN  RepeatFor  2  (ParallelLast')
  THEN  Auto
  THEN  InstHyp  [\mkleeneopen{}\mlambda{}\msubtwo{}i  x.\mexists{}a:A[i]  [R[i;x;a]]\mkleeneclose{}]  3\mcdot{}
  THEN  Auto)




Home Index