Step * of Lemma select-update-tuple

[m,n:ℕ]. ∀[L:Type List].
  (∀[x:tuple-type(L)]. ∀[y:Top].  (update-tuple(||L||;x;n;y).m if (n =z m) then else x.m fi )) supposing 
     (m < ||L|| and 
     n < ||L||)
BY
(InductionOnNat
   THEN (RecUnfold `select-tuple` THEN RecUnfold `update-tuple` 0)
   THEN Reduce 0
   THEN ((UnivCD THENA Auto)
         THEN RepeatFor (OldAutoSplit)
         THEN Try (Complete (RepeatFor (OldAutoSplit)))
         THEN DVar `L'
         THEN All Reduce
         THEN Try (Complete (Auto))
         THEN Subst' (||v|| 1) ||v|| 0
         THEN Auto
         THEN RWO "3" 0
         THEN Auto)⋅}

1
.....wf..... 
1. : ℤ
2. 0 < m
3. ∀[n:ℕ]. ∀[L:Type List].
     (∀[x:tuple-type(L)]. ∀[y:Top].
        (update-tuple(||L||;x;n;y).m if (n =z 1) then else x.m fi )) supposing 
        (m 1 < ||L|| and 
        n < ||L||)
4. : ℕ
5. Type
6. Type List
7. n < ||v|| 1
8. m < ||v|| 1
9. if null(v) then else u × tuple-type(v) fi 
10. Top
11. ¬(m 0 ∈ ℤ)
12. ¬(n 0 ∈ ℤ)
⊢ snd(x) ∈ tuple-type(v)


Latex:


Latex:
\mforall{}[m,n:\mBbbN{}].  \mforall{}[L:Type  List].
    (\mforall{}[x:tuple-type(L)].  \mforall{}[y:Top].
          (update-tuple(||L||;x;n;y).m  \msim{}  if  (n  =\msubz{}  m)  then  y  else  x.m  fi  ))  supposing 
          (m  <  ||L||  and 
          n  <  ||L||)


By


Latex:
(InductionOnNat
  THEN  (RecUnfold  `select-tuple`  0  THEN  RecUnfold  `update-tuple`  0)
  THEN  Reduce  0
  THEN  ((UnivCD  THENA  Auto)
              THEN  RepeatFor  2  (OldAutoSplit)
              THEN  Try  (Complete  (RepeatFor  2  (OldAutoSplit)))
              THEN  DVar  `L'
              THEN  All  Reduce
              THEN  Try  (Complete  (Auto))
              THEN  Subst'  (||v||  +  1)  -  1  \msim{}  ||v||  0
              THEN  Auto
              THEN  RWO  "3"  0
              THEN  Auto)\mcdot{})




Home Index