Step
*
of Lemma
select-shuffle2
∀[T:Type]. ∀[ps:(T × T) List].
  ∀i:ℕ||ps||. ((shuffle(ps)[2 * i] ~ fst(ps[i])) ∧ (shuffle(ps)[(2 * i) + 1] ~ snd(ps[i])))
BY
{ (Auto THEN RWO "select-shuffle" 0 THEN Auto' THEN Try ((RWO "length-shuffle" 0 THEN Auto THEN Auto')⋅)) }
1
1. T : Type
2. ps : (T × T) List
3. i : ℕ||ps||
⊢ if (2 * i rem 2 =z 0) then fst(ps[(2 * i) ÷ 2]) else snd(ps[(2 * i) ÷ 2]) fi  ~ fst(ps[i])
2
1. T : Type
2. ps : (T × T) List
3. i : ℕ||ps||
4. shuffle(ps)[2 * i] ~ fst(ps[i])
⊢ if ((2 * i) + 1 rem 2 =z 0) then fst(ps[((2 * i) + 1) ÷ 2]) else snd(ps[((2 * i) + 1) ÷ 2]) fi  ~ snd(ps[i])
Latex:
Latex:
\mforall{}[T:Type].  \mforall{}[ps:(T  \mtimes{}  T)  List].
    \mforall{}i:\mBbbN{}||ps||.  ((shuffle(ps)[2  *  i]  \msim{}  fst(ps[i]))  \mwedge{}  (shuffle(ps)[(2  *  i)  +  1]  \msim{}  snd(ps[i])))
By
Latex:
(Auto
  THEN  RWO  "select-shuffle"  0
  THEN  Auto'
  THEN  Try  ((RWO  "length-shuffle"  0  THEN  Auto  THEN  Auto')\mcdot{}))
Home
Index