Step * of Lemma callbyvalueall-seq_wf

[T:Type]. ∀[m:ℕ]. ∀[n:ℕ1]. ∀[A:ℕm ⟶ ValueAllType]. ∀[L:i:ℕm ⟶ funtype(i;A;A i)]. ∀[G:∀[T:Type]
                                                                                              (funtype(n;A;T) ⟶ T)].
[F:funtype(m;A;T)].
  (callbyvalueall-seq(L;G;F;n;m) ∈ T)
BY
(Unfold `vatype` 0
   THEN Auto
   THEN (DVar `n' THENA Auto)
   THEN (Assert ⌜∃k:ℕ(n (m k) ∈ ℤ)⌝⋅ THENA (InstConcl [⌜n⌝]⋅ THEN Auto'))
   THEN ExRepD
   THEN Eliminate ⌜n⌝⋅
   THEN ThinVar `n'
   THEN NatInd 2
   THEN Try ((Subst ⌜m⌝ 0⋅ THENA Auto))
   THEN Auto
   THEN RecUnfold `callbyvalueall-seq` 0
   THEN AutoSplit
   THEN Try (Complete ((Subst ⌜m⌝ (-2)⋅ THEN Auto')))
   THEN (D (-4) THENA Auto)
   THEN (Subst ⌜(m k) 1⌝ (-1)⋅ THENA Auto)
   THEN GenConclAtAddr [2;1]
   THEN Auto
   THEN BackThruSomeHyp) }

1
1. : ℕ
2. Type
3. : ℕm ⟶ {T:Type| valueall-type(T)} 
4. i:ℕm ⟶ funtype(i;A;A i)
5. funtype(m;A;T)
6. : ℤ
7. ¬(m ≤ (m k))
8. 0 < k
9. 0 ≤ (m k)
10. k < 1
11. : ∀[T:Type]. (funtype(m k;A;T) ⟶ T)
12. ∀G:∀[T:Type]. (funtype((m k) 1;A;T) ⟶ T). (callbyvalueall-seq(L;G;F;(m k) 1;m) ∈ T)
13. (m k)
14. (G (L (m k))) v ∈ (A (m k))
15. T1 Type
16. funtype((m k) 1;A;T1)
⊢ v ∈ T1


Latex:


Latex:
\mforall{}[T:Type].  \mforall{}[m:\mBbbN{}].  \mforall{}[n:\mBbbN{}m  +  1].  \mforall{}[A:\mBbbN{}m  {}\mrightarrow{}  ValueAllType].  \mforall{}[L:i:\mBbbN{}m  {}\mrightarrow{}  funtype(i;A;A  i)].
\mforall{}[G:\mforall{}[T:Type].  (funtype(n;A;T)  {}\mrightarrow{}  T)].  \mforall{}[F:funtype(m;A;T)].
    (callbyvalueall-seq(L;G;F;n;m)  \mmember{}  T)


By


Latex:
(Unfold  `vatype`  0
  THEN  Auto
  THEN  (DVar  `n'  THENA  Auto)
  THEN  (Assert  \mkleeneopen{}\mexists{}k:\mBbbN{}.  (n  =  (m  -  k))\mkleeneclose{}\mcdot{}  THENA  (InstConcl  [\mkleeneopen{}m  -  n\mkleeneclose{}]\mcdot{}  THEN  Auto'))
  THEN  ExRepD
  THEN  Eliminate  \mkleeneopen{}n\mkleeneclose{}\mcdot{}
  THEN  ThinVar  `n'
  THEN  NatInd  2
  THEN  Try  ((Subst  \mkleeneopen{}m  -  0  \msim{}  m\mkleeneclose{}  0\mcdot{}  THENA  Auto))
  THEN  Auto
  THEN  RecUnfold  `callbyvalueall-seq`  0
  THEN  AutoSplit
  THEN  Try  (Complete  ((Subst  \mkleeneopen{}m  -  k  \msim{}  m\mkleeneclose{}  (-2)\mcdot{}  THEN  Auto')))
  THEN  (D  (-4)  THENA  Auto)
  THEN  (Subst  \mkleeneopen{}m  -  k  -  1  \msim{}  (m  -  k)  +  1\mkleeneclose{}  (-1)\mcdot{}  THENA  Auto)
  THEN  GenConclAtAddr  [2;1]
  THEN  Auto
  THEN  BackThruSomeHyp)




Home Index