Step
*
1
of Lemma
fpf-rename_wf
.....subterm..... T:t
1:n
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))} @i
⊢ 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))} @i
⊢ ∀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))} @i
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:
.....subterm.....  T:t
1:n
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))\}  @i
\mvdash{}  f1  hd(filter(\mlambda{}y.(eq  (r  y)  x);d))  \mmember{}  D[x]
By
Assert  \mkleeneopen{}\mforall{}a:A.  ((a  \mmember{}  d)  {}\mRightarrow{}  ((r  a)  =  x)  {}\mRightarrow{}  (f1  a  \mmember{}  D[x]))\mkleeneclose{}\mcdot{}
Home
Index