Step * 2 of Lemma uncurry_wf

.....upcase..... 
1. Type
2. : ℤ
3. 0 < n
4. ∀[A:ℕ1 ⟶ Type]. ∀[f:funtype(n 1;A;T)].  (uncurry(n 1;f) ∈ (i:ℕ1 ⟶ A[i]) ⟶ T)
⊢ ∀[A:ℕn ⟶ Type]. ∀[f:funtype(n;A;T)].  (uncurry(n;f) ∈ (i:ℕn ⟶ A[i]) ⟶ T)
BY
xxx(RepUR ``funtype uncurry`` THEN (RWO "primrec-unroll" THENA Auto) THEN (SplitOnConclITE THENA Auto))xxx }

1
.....truecase..... 
1. Type
2. : ℤ
3. 0 < n
4. ∀[A:ℕ1 ⟶ Type]. ∀[f:funtype(n 1;A;T)].  (uncurry(n 1;f) ∈ (i:ℕ1 ⟶ A[i]) ⟶ T)
5. 0 ∈ ℤ
⊢ ∀[A:ℕn ⟶ Type]. ∀[f:T].  a.f ∈ (i:ℕn ⟶ A[i]) ⟶ T)

2
.....falsecase..... 
1. Type
2. : ℤ
3. 0 < n
4. ∀[A:ℕ1 ⟶ Type]. ∀[f:funtype(n 1;A;T)].  (uncurry(n 1;f) ∈ (i:ℕ1 ⟶ A[i]) ⟶ T)
5. ¬(n 0 ∈ ℤ)
⊢ ∀[A:ℕn ⟶ Type]. ∀[f:(λi,t. ((A (n i)) ⟶ t)) (n 1) primrec(n 1;T;λi,t. ((A (n i)) ⟶ t))].
    a.((λi,z. (z (a i))) (n 1) primrec(n 1;f;λi,z. (z (a i)))) ∈ (i:ℕn ⟶ A[i]) ⟶ T)


Latex:


Latex:
.....upcase..... 
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)
\mvdash{}  \mforall{}[A:\mBbbN{}n  {}\mrightarrow{}  Type].  \mforall{}[f:funtype(n;A;T)].    (uncurry(n;f)  \mmember{}  (i:\mBbbN{}n  {}\mrightarrow{}  A[i])  {}\mrightarrow{}  T)


By


Latex:
xxx(RepUR  ``funtype  uncurry``  0
        THEN  (RWO  "primrec-unroll"  0  THENA  Auto)
        THEN  (SplitOnConclITE  THENA  Auto))xxx




Home Index