Step * of Lemma unshuffle-map

[f:ℕ ⟶ Top]. ∀[m:ℕ].  (unshuffle(map(f;upto(2 m))) map(λi.<(2 i), ((2 i) 1)>;upto(m)))
BY
(Auto
   THEN Subst ⌜map(f;upto(2 m)) shuffle(map(λi.<(2 i), ((2 i) 1)>;upto(m)))⌝ 0⋅
   THEN RWW "unshuffle-shuffle" 0
   THEN Auto'
   THEN Unfold `upto` 0
   THEN Assert ⌜∀d,k:ℕ. ∀i:ℕ1.
                  (((k i) ≤ d)  (map(f;[2 i, k)) shuffle(map(λi.<(2 i), ((2 i) 1)>;[i, k)))))⌝⋅
   THEN Try (((InstHyp [⌜m⌝(-1)⋅ THENA Auto) THEN RWO "-1<THEN Auto'))
   THEN Thin (-1)
   THEN InductionOnNat
   THEN Auto
   THEN RecUnfold `from-upto` 0
   THEN AutoSplit
   THEN Unfold `shuffle` 0
   THEN Reduce 0
   THEN Auto) }

1
1. : ℕ ⟶ Top
2. : ℤ
3. 0 < d
4. ∀k:ℕ. ∀i:ℕ1.
     (((k i) ≤ (d 1))  (map(f;[2 i, k)) shuffle(map(λi.<(2 i), ((2 i) 1)>;[i, k)))))
5. : ℕ
6. : ℕ1
7. (k i) ≤ d
8. i < k
⊢ [f (2 i) map(f;eval n' (2 i) in [n', k))] concat([[f (2 i); ((2 i) 1)] 
                                                                    map(λp.[fst(p); snd(p)];map(λi.<(2 i)
                                                                                                   ((2 i) 1)
                                                                                                   >;eval n' in
                                                                                                     [n', k)))])


Latex:


Latex:
\mforall{}[f:\mBbbN{}  {}\mrightarrow{}  Top].  \mforall{}[m:\mBbbN{}].
    (unshuffle(map(f;upto(2  *  m)))  \msim{}  map(\mlambda{}i.<f  (2  *  i),  f  ((2  *  i)  +  1)>upto(m)))


By


Latex:
(Auto
  THEN  Subst  \mkleeneopen{}map(f;upto(2  *  m))  \msim{}  shuffle(map(\mlambda{}i.<f  (2  *  i),  f  ((2  *  i)  +  1)>upto(m)))\mkleeneclose{}  0\mcdot{}
  THEN  RWW  "unshuffle-shuffle"  0
  THEN  Auto'
  THEN  Unfold  `upto`  0
  THEN  Assert  \mkleeneopen{}\mforall{}d,k:\mBbbN{}.  \mforall{}i:\mBbbN{}k  +  1.
                                (((k  -  i)  \mleq{}  d)
                                {}\mRightarrow{}  (map(f;[2  *  i,  2  *  k))  \msim{}  shuffle(map(\mlambda{}i.<f  (2  *  i),  f  ((2  *  i)  +  1)>[i,  k)))))\mkleeneclose{}\mcdot{}
  THEN  Try  (((InstHyp  [\mkleeneopen{}m\mkleeneclose{}]  (-1)\mcdot{}  THENA  Auto)  THEN  RWO  "-1<"  0  THEN  Auto'))
  THEN  Thin  (-1)
  THEN  InductionOnNat
  THEN  Auto
  THEN  RecUnfold  `from-upto`  0
  THEN  AutoSplit
  THEN  Unfold  `shuffle`  0
  THEN  Reduce  0
  THEN  Auto)




Home Index