Step
*
1
1
1
of Lemma
dependent-choice
.....upcase..... 
1. [T] : ℕ ⟶ Type
2. [R] : n:ℕ ⟶ T[n] ⟶ T[n + 1] ⟶ ℙ
3. ∀n:ℕ. ∀x:T[n].  ∃y:T[n + 1]. R[n;x;y]
4. x0 : T[0]
5. F : n:ℕ ⟶ x:T[n] ⟶ T[n + 1]
6. ∀n:ℕ. ∀x:T[n].  R[n;x;F n x]
7. ∀n:ℕ. (primrec(n;x0;λi,r. (F i r)) ∈ T[n])
8. x0 = x0 ∈ T[0]
9. n : ℤ
10. [%6] : 0 < n
11. R[n - 1;primrec(n - 1;x0;λi,r. (F i r));primrec((n - 1) + 1;x0;λi,r. (F i r))]
⊢ R[n;primrec(n;x0;λi,r. (F i r));primrec(n + 1;x0;λi,r. (F i r))]
BY
{ ((RW (AddrC [4] (LemmaC `primrec-unroll`)) 0 THENA Auto) THEN Reduce 0 THEN (Subst' (n + 1) - 1 ~ n 0 THENA Auto)) }
1
1. [T] : ℕ ⟶ Type
2. [R] : n:ℕ ⟶ T[n] ⟶ T[n + 1] ⟶ ℙ
3. ∀n:ℕ. ∀x:T[n].  ∃y:T[n + 1]. R[n;x;y]
4. x0 : T[0]
5. F : n:ℕ ⟶ x:T[n] ⟶ T[n + 1]
6. ∀n:ℕ. ∀x:T[n].  R[n;x;F n x]
7. ∀n:ℕ. (primrec(n;x0;λi,r. (F i r)) ∈ T[n])
8. x0 = x0 ∈ T[0]
9. n : ℤ
10. [%6] : 0 < n
11. R[n - 1;primrec(n - 1;x0;λi,r. (F i r));primrec((n - 1) + 1;x0;λi,r. (F i r))]
⊢ R[n;primrec(n;x0;λi,r. (F i r));if n + 1 <z 1 then x0 else F n primrec(n;x0;λi,r. (F i r)) fi ]
Latex:
Latex:
.....upcase..... 
1.  [T]  :  \mBbbN{}  {}\mrightarrow{}  Type
2.  [R]  :  n:\mBbbN{}  {}\mrightarrow{}  T[n]  {}\mrightarrow{}  T[n  +  1]  {}\mrightarrow{}  \mBbbP{}
3.  \mforall{}n:\mBbbN{}.  \mforall{}x:T[n].    \mexists{}y:T[n  +  1].  R[n;x;y]
4.  x0  :  T[0]
5.  F  :  n:\mBbbN{}  {}\mrightarrow{}  x:T[n]  {}\mrightarrow{}  T[n  +  1]
6.  \mforall{}n:\mBbbN{}.  \mforall{}x:T[n].    R[n;x;F  n  x]
7.  \mforall{}n:\mBbbN{}.  (primrec(n;x0;\mlambda{}i,r.  (F  i  r))  \mmember{}  T[n])
8.  x0  =  x0
9.  n  :  \mBbbZ{}
10.  [\%6]  :  0  <  n
11.  R[n  -  1;primrec(n  -  1;x0;\mlambda{}i,r.  (F  i  r));primrec((n  -  1)  +  1;x0;\mlambda{}i,r.  (F  i  r))]
\mvdash{}  R[n;primrec(n;x0;\mlambda{}i,r.  (F  i  r));primrec(n  +  1;x0;\mlambda{}i,r.  (F  i  r))]
By
Latex:
((RW  (AddrC  [4]  (LemmaC  `primrec-unroll`))  0  THENA  Auto)
  THEN  Reduce  0
  THEN  (Subst'  (n  +  1)  -  1  \msim{}  n  0  THENA  Auto))
Home
Index