Step * 2 1 of Lemma select-tagged-indices-aux_wf


1. Type
2. Type
3. tg A ─→ B
4. A ─→ 𝔹
5. A
6. List
7. select-tagged-indices-aux(P;tg;v) ∈ ℕ ─→ ((ℕ × B) List)
⊢ if u
  then λn.[<n, tg u> 
           (rec-case(v) of
            [] => λn.[]
            h::t =>
             r.if then λn.[<n, tg h> (r (n 1))] else λn.(r (n 1)) fi  
            (n 1))]
  else λn.(rec-case(v) of
           [] => λn.[]
           h::t =>
            r.if then λn.[<n, tg h> (r (n 1))] else λn.(r (n 1)) fi  
           (n 1))
  fi  ∈ ℕ ─→ ((ℕ × B) List)
BY
Fold `select-tagged-indices-aux` 0⋅ }

1
1. Type
2. Type
3. tg A ─→ B
4. A ─→ 𝔹
5. A
6. List
7. select-tagged-indices-aux(P;tg;v) ∈ ℕ ─→ ((ℕ × B) List)
⊢ if u
  then λn.[<n, tg u> (select-tagged-indices-aux(P;tg;v) (n 1))]
  else λn.(select-tagged-indices-aux(P;tg;v) (n 1))
  fi  ∈ ℕ ─→ ((ℕ × B) List)


Latex:



Latex:

1.  A  :  Type
2.  B  :  Type
3.  tg  :  A  {}\mrightarrow{}  B
4.  P  :  A  {}\mrightarrow{}  \mBbbB{}
5.  u  :  A
6.  v  :  A  List
7.  select-tagged-indices-aux(P;tg;v)  \mmember{}  \mBbbN{}  {}\mrightarrow{}  ((\mBbbN{}  \mtimes{}  B)  List)
\mvdash{}  if  P  u
    then  \mlambda{}n.[<n,  tg  u>  / 
                      (rec-case(v)  of
                        []  =>  \mlambda{}n.[]
                        h::t  =>
                          r.if  P  h  then  \mlambda{}n.[<n,  tg  h>  /  (r  (n  +  1))]  else  \mlambda{}n.(r  (n  +  1))  fi   
                        (n  +  1))]
    else  \mlambda{}n.(rec-case(v)  of
                      []  =>  \mlambda{}n.[]
                      h::t  =>
                        r.if  P  h  then  \mlambda{}n.[<n,  tg  h>  /  (r  (n  +  1))]  else  \mlambda{}n.(r  (n  +  1))  fi   
                      (n  +  1))
    fi    \mmember{}  \mBbbN{}  {}\mrightarrow{}  ((\mBbbN{}  \mtimes{}  B)  List)


By


Latex:
Fold  `select-tagged-indices-aux`  0\mcdot{}




Home Index