Step
*
1
of Lemma
fpf-rename_wf
1. A : Type
2. C : Type
3. B : A ⟶ Type
4. D : C ⟶ Type
5. eq : EqDecider(C)
6. r : A ⟶ C
7. d : A List
8. f1 : a:{a:A| (a ∈ d)}  ⟶ B[a]
9. ∀a:A. (D[r a] = B[a] ∈ Type)
10. x : {c:C| (c ∈ map(r;d))} 
⊢ f1 hd(filter(λy.(eq (r y) x);d)) ∈ D[x]
BY
{ Assert ⌜∀a:A. ((a ∈ d) 
⇒ ((r a) = x ∈ C) 
⇒ (f1 a ∈ D[x]))⌝⋅ }
1
.....assertion..... 
1. A : Type
2. C : Type
3. B : A ⟶ Type
4. D : C ⟶ Type
5. eq : EqDecider(C)
6. r : A ⟶ C
7. d : A List
8. f1 : a:{a:A| (a ∈ d)}  ⟶ B[a]
9. ∀a:A. (D[r a] = B[a] ∈ Type)
10. x : {c:C| (c ∈ map(r;d))} 
⊢ ∀a:A. ((a ∈ d) 
⇒ ((r a) = x ∈ C) 
⇒ (f1 a ∈ D[x]))
2
1. A : Type
2. C : Type
3. B : A ⟶ Type
4. D : C ⟶ Type
5. eq : EqDecider(C)
6. r : A ⟶ C
7. d : A List
8. f1 : a:{a:A| (a ∈ d)}  ⟶ B[a]
9. ∀a:A. (D[r a] = B[a] ∈ Type)
10. x : {c:C| (c ∈ map(r;d))} 
11. ∀a:A. ((a ∈ d) 
⇒ ((r a) = x ∈ C) 
⇒ (f1 a ∈ D[x]))
⊢ f1 hd(filter(λy.(eq (r y) x);d)) ∈ D[x]
Latex:
Latex:
1.  A  :  Type
2.  C  :  Type
3.  B  :  A  {}\mrightarrow{}  Type
4.  D  :  C  {}\mrightarrow{}  Type
5.  eq  :  EqDecider(C)
6.  r  :  A  {}\mrightarrow{}  C
7.  d  :  A  List
8.  f1  :  a:\{a:A|  (a  \mmember{}  d)\}    {}\mrightarrow{}  B[a]
9.  \mforall{}a:A.  (D[r  a]  =  B[a])
10.  x  :  \{c:C|  (c  \mmember{}  map(r;d))\} 
\mvdash{}  f1  hd(filter(\mlambda{}y.(eq  (r  y)  x);d))  \mmember{}  D[x]
By
Latex:
Assert  \mkleeneopen{}\mforall{}a:A.  ((a  \mmember{}  d)  {}\mRightarrow{}  ((r  a)  =  x)  {}\mRightarrow{}  (f1  a  \mmember{}  D[x]))\mkleeneclose{}\mcdot{}
Home
Index