Step
*
2
of Lemma
fpf-join-assoc
.....subterm..... T:t
2:n
1. A : Type
2. B : A ─→ Type
3. eq : EqDecider(A)
4. d : A List
5. f1 : a:{a:A| (a ∈ d)}  ─→ B[a]
6. d1 : A List
7. g1 : a:{a:A| (a ∈ d1)}  ─→ B[a]
8. d2 : A List
9. h1 : a:{a:A| (a ∈ d2)}  ─→ B[a]
⊢ (λa.if a ∈b d) then f1 a
      if a ∈b d1) then g1 a
      else h1 a
      fi )
= (λa.if a ∈b d @ filter(λa.(¬ba ∈b d));d1)) then if a ∈b d) then f1 a else g1 a fi  else h1 a fi )
∈ (a:{a:A| (a ∈ d @ filter(λa.(¬ba ∈b d));d1 @ filter(λa.(¬ba ∈b d1));d2)))}  ─→ B[a])
BY
{ (Ext THEN Reduce 0) }
1
1. A : Type
2. B : A ─→ Type
3. eq : EqDecider(A)
4. d : A List
5. f1 : a:{a:A| (a ∈ d)}  ─→ B[a]
6. d1 : A List
7. g1 : a:{a:A| (a ∈ d1)}  ─→ B[a]
8. d2 : A List
9. h1 : a:{a:A| (a ∈ d2)}  ─→ B[a]
10. x : {a:A| (a ∈ d @ filter(λa.(¬ba ∈b d));d1 @ filter(λa.(¬ba ∈b d1));d2)))} 
⊢ if x ∈b d) then f1 x
if x ∈b d1) then g1 x
else h1 x
fi 
= if x ∈b d @ filter(λa.(¬ba ∈b d));d1)) then if x ∈b d) then f1 x else g1 x fi  else h1 x fi 
∈ B[x]
2
.....wf..... 
1. A : Type
2. B : A ─→ Type
3. eq : EqDecider(A)
4. d : A List
5. f1 : a:{a:A| (a ∈ d)}  ─→ B[a]
6. d1 : A List
7. g1 : a:{a:A| (a ∈ d1)}  ─→ B[a]
8. d2 : A List
9. h1 : a:{a:A| (a ∈ d2)}  ─→ B[a]
⊢ {a:A| (a ∈ d @ filter(λa.(¬ba ∈b d));d1 @ filter(λa.(¬ba ∈b d1));d2)))} 
= {a:A| (a ∈ d @ filter(λa.(¬ba ∈b d));d1 @ filter(λa.(¬ba ∈b d1));d2)))} 
∈ Type
Latex:
.....subterm.....  T:t
2:n
1.  A  :  Type
2.  B  :  A  {}\mrightarrow{}  Type
3.  eq  :  EqDecider(A)
4.  d  :  A  List
5.  f1  :  a:\{a:A|  (a  \mmember{}  d)\}    {}\mrightarrow{}  B[a]
6.  d1  :  A  List
7.  g1  :  a:\{a:A|  (a  \mmember{}  d1)\}    {}\mrightarrow{}  B[a]
8.  d2  :  A  List
9.  h1  :  a:\{a:A|  (a  \mmember{}  d2)\}    {}\mrightarrow{}  B[a]
\mvdash{}  (\mlambda{}a.if  a  \mmember{}\msubb{}  d)  then  f1  a
            if  a  \mmember{}\msubb{}  d1)  then  g1  a
            else  h1  a
            fi  )
=  (\mlambda{}a.if  a  \mmember{}\msubb{}  d  @  filter(\mlambda{}a.(\mneg{}\msubb{}a  \mmember{}\msubb{}  d));d1))  then  if  a  \mmember{}\msubb{}  d)  then  f1  a  else  g1  a  fi    else  h1  a  fi  )
By
(Ext  THEN  Reduce  0)
Home
Index