Step
*
2
1
of Lemma
fpf-rename-ap2
1. A : Type
2. C : Type
3. B : A ─→ Type
4. eqa : EqDecider(A)
5. eqc : EqDecider(C)
6. eqc' : EqDecider(C)
7. r : A ─→ C
8. d : A List
9. f1 : a:{a:A| (a ∈ d)}  ─→ B[a]
10. a : A
11. Inj(A;C;r)
12. ↑a ∈ dom(<d, f1>)
13. hd(filter(λa@0.(eqc (r a@0) (r a));d)) ∈ A
14. (hd(filter(λa@0.(eqc (r a@0) (r a));d)) ∈ d)
15. ↑(eqc (r hd(filter(λa@0.(eqc (r a@0) (r a));d))) (r a))
⊢ (f1 hd(filter(λy.(eqc (r y) (r a));d))) = (f1 a) ∈ B[a]
BY
{ Assert hd(filter(λy.(eqc (r y) (r a));d)) = a ∈ {a:A| (a ∈ d)}   
⋅⋅ }
1
.....assertion..... 
1. A : Type
2. C : Type
3. B : A ─→ Type
4. eqa : EqDecider(A)
5. eqc : EqDecider(C)
6. eqc' : EqDecider(C)
7. r : A ─→ C
8. d : A List
9. f1 : a:{a:A| (a ∈ d)}  ─→ B[a]
10. a : A
11. Inj(A;C;r)
12. ↑a ∈ dom(<d, f1>)
13. hd(filter(λa@0.(eqc (r a@0) (r a));d)) ∈ A
14. (hd(filter(λa@0.(eqc (r a@0) (r a));d)) ∈ d)
15. ↑(eqc (r hd(filter(λa@0.(eqc (r a@0) (r a));d))) (r a))
⊢ hd(filter(λy.(eqc (r y) (r a));d)) = a ∈ {a:A| (a ∈ d)} 
2
1. A : Type
2. C : Type
3. B : A ─→ Type
4. eqa : EqDecider(A)
5. eqc : EqDecider(C)
6. eqc' : EqDecider(C)
7. r : A ─→ C
8. d : A List
9. f1 : a:{a:A| (a ∈ d)}  ─→ B[a]
10. a : A
11. Inj(A;C;r)
12. ↑a ∈ dom(<d, f1>)
13. hd(filter(λa@0.(eqc (r a@0) (r a));d)) ∈ A
14. (hd(filter(λa@0.(eqc (r a@0) (r a));d)) ∈ d)
15. ↑(eqc (r hd(filter(λa@0.(eqc (r a@0) (r a));d))) (r a))
16. hd(filter(λy.(eqc (r y) (r a));d)) = a ∈ {a:A| (a ∈ d)} 
⊢ (f1 hd(filter(λy.(eqc (r y) (r a));d))) = (f1 a) ∈ B[a]
Latex:
1.  A  :  Type
2.  C  :  Type
3.  B  :  A  {}\mrightarrow{}  Type
4.  eqa  :  EqDecider(A)
5.  eqc  :  EqDecider(C)
6.  eqc'  :  EqDecider(C)
7.  r  :  A  {}\mrightarrow{}  C
8.  d  :  A  List
9.  f1  :  a:\{a:A|  (a  \mmember{}  d)\}    {}\mrightarrow{}  B[a]
10.  a  :  A
11.  Inj(A;C;r)
12.  \muparrow{}a  \mmember{}  dom(<d,  f1>)
13.  hd(filter(\mlambda{}a@0.(eqc  (r  a@0)  (r  a));d))  \mmember{}  A
14.  (hd(filter(\mlambda{}a@0.(eqc  (r  a@0)  (r  a));d))  \mmember{}  d)
15.  \muparrow{}(eqc  (r  hd(filter(\mlambda{}a@0.(eqc  (r  a@0)  (r  a));d)))  (r  a))
\mvdash{}  (f1  hd(filter(\mlambda{}y.(eqc  (r  y)  (r  a));d)))  =  (f1  a)
By
Assert  hd(filter(\mlambda{}y.(eqc  (r  y)  (r  a));d))  =  a   
\mcdot{}\mcdot{}
Home
Index