Step
*
1
1
1
1
1
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 : {1...}
⊢ let p1,p2 = let n1,n2 = coded-pair(x - 1) 
              in <n1 + 1, f n1 n2> 
  in if (p1 =z 0) then 0 else code-pair(p1 - 1;(fst((h (p1 - 1)))) p2) + 1 fi 
= x
∈ ℕ
BY
{ (GenConclAtAddr [2;1;1]
   THEN DVar `v'
   THEN Reduce 0
   THEN AutoSplit
   THEN (Assert (v1 + 1) - 1 ~ v1 BY
               Auto)
   THEN HypSubst' (-1) 0) }
1
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 : {1...}
6. v1 : ℕ
7. v1 + 1 ≠ 0
8. v2 : ℕ
9. coded-pair(x - 1) = <v1, v2> ∈ (ℕ × ℕ)
10. (v1 + 1) - 1 ~ v1
⊢ (code-pair(v1;(fst((h v1))) (f v1 v2)) + 1) = x ∈ ℕ
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  :  \{1...\}
\mvdash{}  let  p1,p2  =  let  n1,n2  =  coded-pair(x  -  1) 
                            in  <n1  +  1,  f  n1  n2> 
    in  if  (p1  =\msubz{}  0)  then  0  else  code-pair(p1  -  1;(fst((h  (p1  -  1))))  p2)  +  1  fi 
=  x
By
Latex:
(GenConclAtAddr  [2;1;1]
  THEN  DVar  `v'
  THEN  Reduce  0
  THEN  AutoSplit
  THEN  (Assert  (v1  +  1)  -  1  \msim{}  v1  BY
                          Auto)
  THEN  HypSubst'  (-1)  0)
Home
Index