Step * 1 1 1 of Lemma mrec-induction2

.....assertion..... 
1. MutualRectypeSpec
2. [P] mobj(L) ⟶ TYPE
3. mrecind(L;x.P[x])
⊢ ∀k:mKinds. ∀lbl:{lbl:Atom| 0 < ||mrec-spec(L;lbl;k)||} . ∀t:tuple-type(prec-arg-types(lbl,p.mrec-spec(L;lbl;p);k;lbl))\000C.
    ((∀z:{z:mobj(L)| z < <k, mk-prec(lbl;t)>P[z])  P[<k, mk-prec(lbl;t)>])
BY
(UnfoldTopAb (-1)
   THEN RepeatFor (ParallelLast')
   THEN DVar `k'
   THEN ParallelLast'
   THEN (D THENA Auto)
   THEN (D -2 THENM Auto)
   THEN (D THENA Auto)
   THEN (GenConclTerm ⌜mrec-spec(L;lbl;k)[j]⌝⋅ THENA Auto)
   THEN -2
   THEN Reduce 0
   THEN Try (TrueCD)
   THEN -2
   THEN Reduce 0) }

1
1. MutualRectypeSpec
2. [P] mobj(L) ⟶ TYPE
3. Atom
4. [%2] (k ∈ eager-map(λp.(fst(p));L))
5. lbl {lbl:Atom| 0 < ||mrec-spec(L;lbl;k)||} 
6. tuple-type(prec-arg-types(lbl,p.mrec-spec(L;lbl;p);k;lbl))
7. ∀z:{z:mobj(L)| z < <k, mk-prec(lbl;t)>P[z]
8. : ℕ||mrec-spec(L;lbl;k)||
9. x1 Atom
10. mrec-spec(L;lbl;k)[j] (inl inl x1) ∈ (Atom Atom Type)
⊢ P[<x1, t.j>]

2
1. MutualRectypeSpec
2. [P] mobj(L) ⟶ TYPE
3. Atom
4. [%2] (k ∈ eager-map(λp.(fst(p));L))
5. lbl {lbl:Atom| 0 < ||mrec-spec(L;lbl;k)||} 
6. tuple-type(prec-arg-types(lbl,p.mrec-spec(L;lbl;p);k;lbl))
7. ∀z:{z:mobj(L)| z < <k, mk-prec(lbl;t)>P[z]
8. : ℕ||mrec-spec(L;lbl;k)||
9. Atom
10. mrec-spec(L;lbl;k)[j] (inl (inr )) ∈ (Atom Atom Type)
⊢ (∀u∈t.j.P[<y, u>])


Latex:


Latex:
.....assertion..... 
1.  L  :  MutualRectypeSpec
2.  [P]  :  mobj(L)  {}\mrightarrow{}  TYPE
3.  mrecind(L;x.P[x])
\mvdash{}  \mforall{}k:mKinds.  \mforall{}lbl:\{lbl:Atom|  0  <  ||mrec-spec(L;lbl;k)||\}  .
    \mforall{}t:tuple-type(prec-arg-types(lbl,p.mrec-spec(L;lbl;p);k;lbl)).
        ((\mforall{}z:\{z:mobj(L)|  z  <  <k,  mk-prec(lbl;t)>\}  .  P[z])  {}\mRightarrow{}  P[<k,  mk-prec(lbl;t)>])


By


Latex:
(UnfoldTopAb  (-1)
  THEN  RepeatFor  2  (ParallelLast')
  THEN  DVar  `k'
  THEN  ParallelLast'
  THEN  (D  0  THENA  Auto)
  THEN  (D  -2  THENM  Auto)
  THEN  (D  0  THENA  Auto)
  THEN  (GenConclTerm  \mkleeneopen{}mrec-spec(L;lbl;k)[j]\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  D  -2
  THEN  Reduce  0
  THEN  Try  (TrueCD)
  THEN  D  -2
  THEN  Reduce  0)




Home Index