Step
*
1
of Lemma
fpf-normalize-ap
1. A : Type
2. eq : EqDecider(A)
3. B : A ─→ Type
4. d : A List
5. g1 : x:{x:A| (x ∈ d)}  ─→ B[x]
6. x : A
7. ↑x ∈ dom(<d, g1>)
⊢ ((snd(reduce(λx,f. <[x / filter(λa.(¬b((eq x a) ∨bff));fst(f))], λa.if (eq x a) ∨bff then g1 x else (snd(f)) a fi ><[\000C]
                                                                                                                 , λx.⋅
                                                                                                                 >d))) 
   x)
= (g1 x)
∈ B[x]
BY
{ Subst ⌈snd(reduce(λx,f. <[x / filter(λa.(¬b((eqof(eq) x a) ∨bff));fst(f))]
                          , λa.if (eqof(eq) x a) ∨bff then g1 x else (snd(f)) a fi 
                          ><[], λx.⋅>d)) ~ reduce(λx,f,a. if (eqof(eq) x a) ∨bff then g1 x else f a fi λx.⋅;d)⌉ 0⋅ }
1
.....equality..... 
1. A : Type
2. eq : EqDecider(A)
3. B : A ─→ Type
4. d : A List
5. g1 : x:{x:A| (x ∈ d)}  ─→ B[x]
6. x : A
7. ↑x ∈ dom(<d, g1>)
⊢ snd(reduce(λx,f. <[x / filter(λa.(¬b((eqof(eq) x a) ∨bff));fst(f))]
                   , λa.if (eqof(eq) x a) ∨bff then g1 x else (snd(f)) a fi 
                   ><[], λx.⋅>d)) ~ reduce(λx,f,a. if (eqof(eq) x a) ∨bff then g1 x else f a fi λx.⋅;d)
2
1. A : Type
2. eq : EqDecider(A)
3. B : A ─→ Type
4. d : A List
5. g1 : x:{x:A| (x ∈ d)}  ─→ B[x]
6. x : A
7. ↑x ∈ dom(<d, g1>)
⊢ ((snd(reduce(λx,f. <[x / filter(λa.(¬b((eq x a) ∨bff));fst(f))], λa.if (eq x a) ∨bff then g1 x else (snd(f)) a fi ><[\000C]
                                                                                                                 , λx.⋅
                                                                                                                 >d))) 
   x)
= (g1 x)
∈ B[x]
Latex:
1.  A  :  Type
2.  eq  :  EqDecider(A)
3.  B  :  A  {}\mrightarrow{}  Type
4.  d  :  A  List
5.  g1  :  x:\{x:A|  (x  \mmember{}  d)\}    {}\mrightarrow{}  B[x]
6.  x  :  A
7.  \muparrow{}x  \mmember{}  dom(<d,  g1>)
\mvdash{}  ((snd(reduce(\mlambda{}x,f.  <[x  /  filter(\mlambda{}a.(\mneg{}\msubb{}((eq  x  a)  \mvee{}\msubb{}ff));fst(f))]
                                          ,  \mlambda{}a.if  (eq  x  a)  \mvee{}\msubb{}ff  then  g1  x  else  (snd(f))  a  fi 
                                          ><[],  \mlambda{}x.\mcdot{}>d))) 
      x)
=  (g1  x)
By
Subst  \mkleeneopen{}snd(reduce(\mlambda{}x,f.  <[x  /  filter(\mlambda{}a.(\mneg{}\msubb{}((eqof(eq)  x  a)  \mvee{}\msubb{}ff));fst(f))]
                                                ,  \mlambda{}a.if  (eqof(eq)  x  a)  \mvee{}\msubb{}ff  then  g1  x  else  (snd(f))  a  fi 
                                                ><[],  \mlambda{}x.\mcdot{}>d))  \msim{}  reduce(\mlambda{}x,f,a.  if  (eqof(eq)  x  a)  \mvee{}\msubb{}ff  then  g1  x  else  f  a  \000Cfi  ;\mlambda{}x.\mcdot{};d)\mkleeneclose{}  0\mcdot{}
Home
Index