Step
*
1
2
of Lemma
combine-skips_wf
1. n : ℤ
2. 0 < n
3. ∀bs,as:colist(ℕ). ∀k:ℕ.  (combine-skips(as;bs;k) ∈ primrec(n - 1;Top;λ,L. (Unit ⋃ (ℕ × L))))
4. u : ℕ
5. v : colist(ℕ)
6. as : colist(ℕ)
7. k : ℕ
⊢ combine-skips(as;[u / v];k) ∈ Unit ⋃ (ℕ × primrec(n - 1;Top;λ,L. (Unit ⋃ (ℕ × L))))
BY
{ (RepeatFor 3 (MoveToConcl (-1))
   THEN NatInd (-1)
   THEN Intros
   THEN colistD (-2)
   THEN Unfold `combine-skips` 0
   THEN Reduce 0
   THEN Try (Complete ((Unfold `nil` 0 THEN BUnionLeft THEN Auto)))
   THEN Try (Complete ((Unfold `cons` 0 THEN BUnionRight THEN Auto)))) }
1
1. n : ℤ
2. 0 < n
3. ∀bs,as:colist(ℕ). ∀k:ℕ.  (combine-skips(as;bs;k) ∈ primrec(n - 1;Top;λ,L. (Unit ⋃ (ℕ × L))))
4. u : ℤ
5. 0 < u
6. ∀v,as:colist(ℕ). ∀k:ℕ.  (combine-skips(as;[u - 1 / v];k) ∈ Unit ⋃ (ℕ × primrec(n - 1;Top;λ,L. (Unit ⋃ (ℕ × L)))))
7. v : colist(ℕ)
8. u1 : ℕ
9. v1 : colist(ℕ)
10. k : ℕ
⊢ if u=0 then [k + u1 / combine-skips(v1;v;0)] else combine-skips(v1;[u - 1 / v];(k + 1) + u1) ∈ Unit ⋃ (ℕ
  × primrec(n - 1;Top;λ,L. (Unit ⋃ (ℕ × L))))
Latex:
Latex:
1.  n  :  \mBbbZ{}
2.  0  <  n
3.  \mforall{}bs,as:colist(\mBbbN{}).  \mforall{}k:\mBbbN{}.    (combine-skips(as;bs;k)  \mmember{}  primrec(n  -  1;Top;\mlambda{},L.  (Unit  \mcup{}  (\mBbbN{}  \mtimes{}  L))))
4.  u  :  \mBbbN{}
5.  v  :  colist(\mBbbN{})
6.  as  :  colist(\mBbbN{})
7.  k  :  \mBbbN{}
\mvdash{}  combine-skips(as;[u  /  v];k)  \mmember{}  Unit  \mcup{}  (\mBbbN{}  \mtimes{}  primrec(n  -  1;Top;\mlambda{},L.  (Unit  \mcup{}  (\mBbbN{}  \mtimes{}  L))))
By
Latex:
(RepeatFor  3  (MoveToConcl  (-1))
  THEN  NatInd  (-1)
  THEN  Intros
  THEN  colistD  (-2)
  THEN  Unfold  `combine-skips`  0
  THEN  Reduce  0
  THEN  Try  (Complete  ((Unfold  `nil`  0  THEN  BUnionLeft  THEN  Auto)))
  THEN  Try  (Complete  ((Unfold  `cons`  0  THEN  BUnionRight  THEN  Auto))))
Home
Index