Step
*
1
1
1
of Lemma
equipollent-nat-list-as-product
1. f : n:ℕ ⟶ ℕ ⟶ (ℕ^n + 1)
2. ∀n:ℕ. ∃g:(ℕ^n + 1) ⟶ ℕ. InvFuns(ℕ;(ℕ^n + 1);f n;g)
⊢ ∃g:(k:ℕ × (ℕ^k)) ⟶ ℕ
   InvFuns(ℕ;k:ℕ × (ℕ^k);λn.if (n =z 0) then <0, ⋅> else let n1,n2 = coded-pair(n - 1) in <n1 + 1, f n1 n2> fi g)
BY
{ (RenameVar `h' 2
   THEN (InstConcl [⌜λp.let p1,p2 = p 
                        in if (p1 =z 0) then 0 else code-pair(p1 - 1;(fst((h (p1 - 1)))) p2) + 1 fi ⌝]⋅
         THEN Auto
         THEN Auto)⋅
   )⋅ }
1
1. f : n:ℕ ⟶ ℕ ⟶ (ℕ^n + 1)
2. h : ∀n:ℕ. ∃g:(ℕ^n + 1) ⟶ ℕ. InvFuns(ℕ;(ℕ^n + 1);f n;g)
⊢ InvFuns(ℕ;k:ℕ × (ℕ^k);λn.if (n =z 0)
                           then <0, ⋅>
                           else let n1,n2 = coded-pair(n - 1) 
                                in <n1 + 1, f n1 n2>
                           fi λp.let p1,p2 = p 
                                  in if (p1 =z 0) then 0 else code-pair(p1 - 1;(fst((h (p1 - 1)))) p2) + 1 fi )
Latex:
Latex:
1.  f  :  n:\mBbbN{}  {}\mrightarrow{}  \mBbbN{}  {}\mrightarrow{}  (\mBbbN{}\^{}n  +  1)
2.  \mforall{}n:\mBbbN{}.  \mexists{}g:(\mBbbN{}\^{}n  +  1)  {}\mrightarrow{}  \mBbbN{}.  InvFuns(\mBbbN{};(\mBbbN{}\^{}n  +  1);f  n;g)
\mvdash{}  \mexists{}g:(k:\mBbbN{}  \mtimes{}  (\mBbbN{}\^{}k))  {}\mrightarrow{}  \mBbbN{}
      InvFuns(\mBbbN{};k:\mBbbN{}  \mtimes{}  (\mBbbN{}\^{}k);\mlambda{}n.if  (n  =\msubz{}  0)
                                                        then  ɘ,  \mcdot{}>
                                                        else  let  n1,n2  =  coded-pair(n  -  1) 
                                                                  in  <n1  +  1,  f  n1  n2>
                                                        fi  ;g)
By
Latex:
(RenameVar  `h'  2
  THEN  (InstConcl  [\mkleeneopen{}\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  \mkleeneclose{}]
              \mcdot{}
              THEN  Auto
              THEN  Auto)\mcdot{}
  )\mcdot{}
Home
Index