Step
*
2
3
1
1
1
1
of Lemma
enum_not_fan2
1. 
f:
 
 
 
 bar(
)
    ((
b:
 
 bar(
). 
a:
. ((f a) = b))
    
 (
T:
 
 
 
 
 
 
        
indx,input:
.
          ((
nsteps:
. ((
(T indx input nsteps)) 
 (f indx input)
))
          
 ((f indx input)
 
 (
nsteps:
. (
(T indx input nsteps))))
          
 (
n1,n2:
.  (((n1 
 n2) 
 (
(T indx input n1))) 
 (
(T indx input n2)))))))@i
2. 
R:
 List 
 
     ((
l1,l2:
 List.  ((R l1) 
 (R (l1 @ l2))))
     
 (
A:
 
 
. 
n:
. (R mklist(n;A)))
     
 (
n:
. 
A:
 
 
. (R mklist(n;A))))@i'
3. R : 
 List 
 
4. 
l1,l2:
 List.  ((R (l1 @ l2)) 
 (R l1))
5. 
A:
 
 
. 
x:
. (
(R mklist(x;A)))
6. 
x:
. 
l:
 List. ((x = ||l||) 
 (R l))
7. n : 
8. 
A:
 
 
. (
(R mklist(n;A)))
9. l : 
 List
10. n = ||l||
11. R l
12. 
(R mklist(n;
p.if p <z n then l[p] else tt fi ))
13. ||mklist(n;
p.if p <z n then l[p] else tt fi )|| ~ n
 ||mklist(n;
p.if p <z n then l[p] else tt fi )|| = ||l||
BY
{ (HypSubst (-1) 0 THEN Auto) }
1.  \mexists{}f:\mBbbN{}  {}\mrightarrow{}  \mBbbN{}  {}\mrightarrow{}  bar(\mBbbB{})
        ((\mforall{}b:\mBbbN{}  {}\mrightarrow{}  bar(\mBbbB{}).  \mexists{}a:\mBbbN{}.  ((f  a)  =  b))
        \mwedge{}  (\mexists{}T:\mBbbN{}  {}\mrightarrow{}  \mBbbN{}  {}\mrightarrow{}  \mBbbN{}  {}\mrightarrow{}  \mBbbB{}
                \mforall{}indx,input:\mBbbN{}.
                    ((\mforall{}nsteps:\mBbbN{}.  ((\muparrow{}(T  indx  input  nsteps))  {}\mRightarrow{}  (f  indx  input)\mdownarrow{}))
                    \mwedge{}  ((f  indx  input)\mdownarrow{}  {}\mRightarrow{}  (\mexists{}nsteps:\mBbbN{}.  (\muparrow{}(T  indx  input  nsteps))))
                    \mwedge{}  (\mforall{}n1,n2:\mBbbN{}.    (((n1  \mleq{}  n2)  \mwedge{}  (\muparrow{}(T  indx  input  n1)))  {}\mRightarrow{}  (\muparrow{}(T  indx  input  n2)))))))@i
2.  \mforall{}R:\mBbbB{}  List  {}\mrightarrow{}  \mBbbP{}
          ((\mforall{}l1,l2:\mBbbB{}  List.    ((R  l1)  {}\mRightarrow{}  (R  (l1  @  l2))))
          {}\mRightarrow{}  (\mforall{}A:\mBbbN{}  {}\mrightarrow{}  \mBbbB{}.  \mexists{}n:\mBbbN{}.  (R  mklist(n;A)))
          {}\mRightarrow{}  (\mexists{}n:\mBbbN{}.  \mforall{}A:\mBbbN{}  {}\mrightarrow{}  \mBbbB{}.  (R  mklist(n;A))))@i'
3.  R  :  \mBbbB{}  List  {}\mrightarrow{}  \mBbbP{}
4.  \mforall{}l1,l2:\mBbbB{}  List.    ((R  (l1  @  l2))  {}\mRightarrow{}  (R  l1))
5.  \mforall{}A:\mBbbN{}  {}\mrightarrow{}  \mBbbB{}.  \mexists{}x:\mBbbN{}.  (\mneg{}(R  mklist(x;A)))
6.  \mforall{}x:\mBbbN{}.  \mexists{}l:\mBbbB{}  List.  ((x  =  ||l||)  \mwedge{}  (R  l))
7.  n  :  \mBbbN{}
8.  \mforall{}A:\mBbbN{}  {}\mrightarrow{}  \mBbbB{}.  (\mneg{}(R  mklist(n;A)))
9.  l  :  \mBbbB{}  List
10.  n  =  ||l||
11.  R  l
12.  \mneg{}(R  mklist(n;\mlambda{}p.if  p  <z  n  then  l[p]  else  tt  fi  ))
13.  ||mklist(n;\mlambda{}p.if  p  <z  n  then  l[p]  else  tt  fi  )||  \msim{}  n
\mvdash{}  ||mklist(n;\mlambda{}p.if  p  <z  n  then  l[p]  else  tt  fi  )||  =  ||l||
By
(HypSubst  (-1)  0  THEN  Auto)
Home
Index