Step
*
of Lemma
ml-list-delete-sq
∀[T:Type]. ∀[L:T List]. ∀[i:ℤ].  (ml-list-delete(L;i) ~ L\i) supposing valueall-type(T)
BY
{ (InductionOnList
   THEN (D 0 THENA Auto)
   THEN Unfold `ml-list-delete` 0
   THEN (RW (AddrC [1] (LemmaC `ml_apply-sq`)) 0 THEN Auto)
   THEN RW (AddrC [1;1] (LemmaC `ml_apply-sq`)) 0
   THEN Auto
   THEN (RW  (SweepUpC UnrollRecursionC) 0 THEN Reduce 0)
   THEN Try (Fold `ml-list-delete` 0)
   THEN RecUnfold `list-delete` 0
   THEN Reduce 0
   THEN Try (Fold `list-delete` 0)
   THEN (Trivial ORELSE (RepUR ``spreadcons`` 0 THEN RWO "-2" 0 THEN Auto))) }
Latex:
Latex:
\mforall{}[T:Type].  \mforall{}[L:T  List].  \mforall{}[i:\mBbbZ{}].    (ml-list-delete(L;i)  \msim{}  L\mbackslash{}i)  supposing  valueall-type(T)
By
Latex:
(InductionOnList
  THEN  (D  0  THENA  Auto)
  THEN  Unfold  `ml-list-delete`  0
  THEN  (RW  (AddrC  [1]  (LemmaC  `ml\_apply-sq`))  0  THEN  Auto)
  THEN  RW  (AddrC  [1;1]  (LemmaC  `ml\_apply-sq`))  0
  THEN  Auto
  THEN  (RW    (SweepUpC  UnrollRecursionC)  0  THEN  Reduce  0)
  THEN  Try  (Fold  `ml-list-delete`  0)
  THEN  RecUnfold  `list-delete`  0
  THEN  Reduce  0
  THEN  Try  (Fold  `list-delete`  0)
  THEN  (Trivial  ORELSE  (RepUR  ``spreadcons``  0  THEN  RWO  "-2"  0  THEN  Auto)))
Home
Index