Step
*
2
2
1
1
1
1
of Lemma
uncurry_wf
1. T : Type
2. n : ℤ
3. 0 < n
4. ∀[A:ℕn - 1 ⟶ Type]. ∀[f:funtype(n - 1;A;T)].  (uncurry(n - 1;f) ∈ (i:ℕn - 1 ⟶ A[i]) ⟶ T)
5. ¬(n = 0 ∈ ℤ)
6. A : ℕn ⟶ Type
7. f : (A 0) ⟶ primrec(n - 1;T;λi,t. ((A (n - 1 - i)) ⟶ t))
8. a : i:ℕn ⟶ A[i]
9. uncurry(n - 1;f (a 0)) ∈ (i:ℕn - 1 ⟶ λi.(A (i + 1))[i]) ⟶ T
⊢ primrec(n - 1;f;λi,z. (z (a i))) (a (n - 1)) ~ primrec(n - 1;f (a 0);λi,z. (z (a (i + 1))))
BY
{ xxx((GenConcl ⌜a = x ∈ Top⌝⋅ THENA Auto)
      THEN (GenConcl ⌜f = y ∈ Top⌝⋅ THENA Auto)
      THEN (GenConcl ⌜n = m ∈ ℕ+⌝⋅ THENA Auto)
      THEN All Thin)xxx }
1
1. x : Top
2. y : Top
3. m : ℕ+
⊢ primrec(m - 1;y;λi,z. (z (x i))) (x (m - 1)) ~ primrec(m - 1;y (x 0);λi,z. (z (x (i + 1))))
Latex:
Latex:
1.  T  :  Type
2.  n  :  \mBbbZ{}
3.  0  <  n
4.  \mforall{}[A:\mBbbN{}n  -  1  {}\mrightarrow{}  Type].  \mforall{}[f:funtype(n  -  1;A;T)].    (uncurry(n  -  1;f)  \mmember{}  (i:\mBbbN{}n  -  1  {}\mrightarrow{}  A[i])  {}\mrightarrow{}  T)
5.  \mneg{}(n  =  0)
6.  A  :  \mBbbN{}n  {}\mrightarrow{}  Type
7.  f  :  (A  0)  {}\mrightarrow{}  primrec(n  -  1;T;\mlambda{}i,t.  ((A  (n  -  1  -  i))  {}\mrightarrow{}  t))
8.  a  :  i:\mBbbN{}n  {}\mrightarrow{}  A[i]
9.  uncurry(n  -  1;f  (a  0))  \mmember{}  (i:\mBbbN{}n  -  1  {}\mrightarrow{}  \mlambda{}i.(A  (i  +  1))[i])  {}\mrightarrow{}  T
\mvdash{}  primrec(n  -  1;f;\mlambda{}i,z.  (z  (a  i)))  (a  (n  -  1))  \msim{}  primrec(n  -  1;f  (a  0);\mlambda{}i,z.  (z  (a  (i  +  1))))
By
Latex:
xxx((GenConcl  \mkleeneopen{}a  =  x\mkleeneclose{}\mcdot{}  THENA  Auto)
        THEN  (GenConcl  \mkleeneopen{}f  =  y\mkleeneclose{}\mcdot{}  THENA  Auto)
        THEN  (GenConcl  \mkleeneopen{}n  =  m\mkleeneclose{}\mcdot{}  THENA  Auto)
        THEN  All  Thin)xxx
Home
Index