Step * of Lemma ml-int-vec-add-sq

[as,bs:ℤ List].  (ml-int-vec-add(as;bs) as bs)
BY
(RepeatFor (InductionOnList)
   THEN Unfold `ml-int-vec-add` 0
   THEN (RW (AddrC [1] (LemmaC `ml_apply-sq`)) THEN Try (Complete (Auto)))
   THEN RW (AddrC [1;1] (LemmaC `ml_apply-sq`)) 0
   THEN Auto
   THEN (RW  (SweepUpC UnrollRecursionC) THEN Reduce 0)
   THEN Try (Fold `ml-int-vec-add` 0)
   THEN RecUnfold `int-vec-add` 0
   THEN Reduce 0
   THEN Try (Fold `int-vec-add` 0)
   THEN (Trivial ORELSE RepUR ``spreadcons`` 0)) }

1
1. : ℤ
2. : ℤ List
3. ∀[bs:ℤ List]. (ml-int-vec-add(v;bs) bs)
4. u1 : ℤ
5. v1 : ℤ List
6. ml-int-vec-add([u v];v1) [u v] v1
⊢ [u u1 ml-int-vec-add(v;v1)] [u u1 v1] ∈ (ℤ List)


Latex:


Latex:
\mforall{}[as,bs:\mBbbZ{}  List].    (ml-int-vec-add(as;bs)  \msim{}  as  +  bs)


By


Latex:
(RepeatFor  2  (InductionOnList)
  THEN  Unfold  `ml-int-vec-add`  0
  THEN  (RW  (AddrC  [1]  (LemmaC  `ml\_apply-sq`))  0  THEN  Try  (Complete  (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-int-vec-add`  0)
  THEN  RecUnfold  `int-vec-add`  0
  THEN  Reduce  0
  THEN  Try  (Fold  `int-vec-add`  0)
  THEN  (Trivial  ORELSE  RepUR  ``spreadcons``  0))




Home Index