Step
*
1
1
1
1
2
of Lemma
equipollent-nat-list-as-product
1. f : n:ℕ ⟶ ℕ ⟶ (ℕ^n + 1)
2. h : ∀n:ℕ. ∃g:(ℕ^n + 1) ⟶ ℕ. InvFuns(ℕ;(ℕ^n + 1);f n;g)
3. λn.if (n =z 0) then <0, ⋅> else let n1,n2 = coded-pair(n - 1) in <n1 + 1, f n1 n2> fi  ∈ ℕ ⟶ (k:ℕ × (ℕ^k))
4. λp.let p1,p2 = p 
      in if (p1 =z 0) then 0 else code-pair(p1 - 1;(fst((h (p1 - 1)))) p2) + 1 fi  ∈ (k:ℕ × (ℕ^k)) ⟶ ℕ
5. x : k:ℕ × (ℕ^k)
6. let p1,p2 = x in if (p1 =z 0) then 0 else code-pair(p1 - 1;(fst((h (p1 - 1)))) p2) + 1 fi  = 0 ∈ ℤ
⊢ <0, ⋅> = x ∈ (k:ℕ × (ℕ^k))
BY
{ xxx(DVar `x' THEN Reduce (-1) THEN SplitOnHypITE (-1) THEN Auto THEN Auto)xxx }
1
.....truecase..... 
1. f : n:ℕ ⟶ ℕ ⟶ (ℕ^n + 1)
2. h : ∀n:ℕ. ∃g:(ℕ^n + 1) ⟶ ℕ. InvFuns(ℕ;(ℕ^n + 1);f n;g)
3. λn.if (n =z 0) then <0, ⋅> else let n1,n2 = coded-pair(n - 1) in <n1 + 1, f n1 n2> fi  ∈ ℕ ⟶ (k:ℕ × (ℕ^k))
4. λp.let p1,p2 = p 
      in if (p1 =z 0) then 0 else code-pair(p1 - 1;(fst((h (p1 - 1)))) p2) + 1 fi  ∈ (k:ℕ × (ℕ^k)) ⟶ ℕ
5. k : ℕ
6. x1 : (ℕ^k)
7. 0 = 0 ∈ ℤ
8. k = 0 ∈ ℤ
⊢ <0, ⋅> = <k, x1> ∈ (k:ℕ × (ℕ^k))
2
.....falsecase..... 
1. f : n:ℕ ⟶ ℕ ⟶ (ℕ^n + 1)
2. h : ∀n:ℕ. ∃g:(ℕ^n + 1) ⟶ ℕ. InvFuns(ℕ;(ℕ^n + 1);f n;g)
3. λn.if (n =z 0) then <0, ⋅> else let n1,n2 = coded-pair(n - 1) in <n1 + 1, f n1 n2> fi  ∈ ℕ ⟶ (k:ℕ × (ℕ^k))
4. λp.let p1,p2 = p 
      in if (p1 =z 0) then 0 else code-pair(p1 - 1;(fst((h (p1 - 1)))) p2) + 1 fi  ∈ (k:ℕ × (ℕ^k)) ⟶ ℕ
5. k : ℕ
6. x1 : (ℕ^k)
7. (code-pair(k - 1;(fst((h (k - 1)))) x1) + 1) = 0 ∈ ℤ
8. ¬(k = 0 ∈ ℤ)
⊢ <0, ⋅> = <k, x1> ∈ (k:ℕ × (ℕ^k))
Latex:
Latex:
1.  f  :  n:\mBbbN{}  {}\mrightarrow{}  \mBbbN{}  {}\mrightarrow{}  (\mBbbN{}\^{}n  +  1)
2.  h  :  \mforall{}n:\mBbbN{}.  \mexists{}g:(\mBbbN{}\^{}n  +  1)  {}\mrightarrow{}  \mBbbN{}.  InvFuns(\mBbbN{};(\mBbbN{}\^{}n  +  1);f  n;g)
3.  \mlambda{}n.if  (n  =\msubz{}  0)  then  ɘ,  \mcdot{}>  else  let  n1,n2  =  coded-pair(n  -  1)  in  <n1  +  1,  f  n1  n2>  fi    \mmember{}  \mBbbN{}
      {}\mrightarrow{}  (k:\mBbbN{}  \mtimes{}  (\mBbbN{}\^{}k))
4.  \mlambda{}p.let  p1,p2  =  p 
            in  if  (p1  =\msubz{}  0)  then  0  else  code-pair(p1  -  1;(fst((h  (p1  -  1))))  p2)  +  1  fi    \mmember{}  (k:\mBbbN{}  \mtimes{}  (\mBbbN{}\^{}k))
      {}\mrightarrow{}  \mBbbN{}
5.  x  :  k:\mBbbN{}  \mtimes{}  (\mBbbN{}\^{}k)
6.  let  p1,p2  =  x  in  if  (p1  =\msubz{}  0)  then  0  else  code-pair(p1  -  1;(fst((h  (p1  -  1))))  p2)  +  1  fi    =  0
\mvdash{}  ɘ,  \mcdot{}>  =  x
By
Latex:
xxx(DVar  `x'  THEN  Reduce  (-1)  THEN  SplitOnHypITE  (-1)  THEN  Auto  THEN  Auto)xxx
Home
Index