Step * 1 1 of Lemma first_index_cons


1. Type
2. List
3. T
4. T ⟶ 𝔹
5. search(||L|| 1;λi.P[[a L][i]])
if P[a] then 1
  if 0 <search(||L||;λi.P[[a L][i 1]]) then search(||L||;λi.P[[a L][i 1]]) 1
  else 0
  fi 
∈ ℤ
⊢ if P[a] then 1
if 0 <search(||L||;λi.P[[a L][i 1]]) then search(||L||;λi.P[[a L][i 1]]) 1
else 0
fi 
if P[a] then 1
  if 0 <search(||L||;λi.P[L[i]]) then search(||L||;λi.P[L[i]]) 1
  else 0
  fi 
∈ ℕ(||L|| 1) 1
BY
Subst' search(||L||;λi.P[[a L][i 1]]) search(||L||;λi.P[L[i]]) ∈ ℤ }

1
.....equality..... 
1. Type
2. List
3. T
4. T ⟶ 𝔹
5. search(||L|| 1;λi.P[[a L][i]])
if P[a] then 1
  if 0 <search(||L||;λi.P[[a L][i 1]]) then search(||L||;λi.P[[a L][i 1]]) 1
  else 0
  fi 
∈ ℤ
⊢ search(||L||;λi.P[[a L][i 1]]) search(||L||;λi.P[L[i]]) ∈ ℤ

2
1. Type
2. List
3. T
4. T ⟶ 𝔹
5. search(||L|| 1;λi.P[[a L][i]])
if P[a] then 1
  if 0 <search(||L||;λi.P[[a L][i 1]]) then search(||L||;λi.P[[a L][i 1]]) 1
  else 0
  fi 
∈ ℤ
⊢ if P[a] then 1
if 0 <search(||L||;λi.P[L[i]]) then search(||L||;λi.P[L[i]]) 1
else 0
fi 
if P[a] then 1
  if 0 <search(||L||;λi.P[L[i]]) then search(||L||;λi.P[L[i]]) 1
  else 0
  fi 
∈ ℕ(||L|| 1) 1


Latex:


Latex:

1.  T  :  Type
2.  L  :  T  List
3.  a  :  T
4.  P  :  T  {}\mrightarrow{}  \mBbbB{}
5.  search(||L||  +  1;\mlambda{}i.P[[a  /  L][i]])
=  if  P[a]  then  1
    if  0  <z  search(||L||;\mlambda{}i.P[[a  /  L][i  +  1]])  then  search(||L||;\mlambda{}i.P[[a  /  L][i  +  1]])  +  1
    else  0
    fi 
\mvdash{}  if  P[a]  then  1
if  0  <z  search(||L||;\mlambda{}i.P[[a  /  L][i  +  1]])  then  search(||L||;\mlambda{}i.P[[a  /  L][i  +  1]])  +  1
else  0
fi 
=  if  P[a]  then  1
    if  0  <z  search(||L||;\mlambda{}i.P[L[i]])  then  search(||L||;\mlambda{}i.P[L[i]])  +  1
    else  0
    fi 


By


Latex:
Subst'  search(||L||;\mlambda{}i.P[[a  /  L][i  +  1]])  =  search(||L||;\mlambda{}i.P[L[i]])  0




Home Index