Step
*
2
of Lemma
fpf-inv-rename_wf
.....subterm..... T:t
2:n
1. A : Type
2. C : Type
3. B : A ─→ Type
4. D : C ─→ Type
5. rinv : C ─→ (A?)
6. r : A ─→ C
7. d : C List
8. f1 : c:{c:C| (c ∈ d)}  ─→ D[c]
9. inv-rel(A;C;r;rinv)
10. ∀a:A. (D[r a] = B[a] ∈ Type)
⊢ f1 o r ∈ a:{a:A| (a ∈ mapfilter(λx.outl(rinv x);λx.isl(rinv x);d))}  ─→ B[a]
BY
{ (((Unfold `compose` 0 THEN MemCD) THENA Auto) THEN All Reduce THEN Auto THEN Try (((D (-1)) THEN Unhide THEN Auto))) }
1
1. A : Type
2. C : Type
3. B : A ─→ Type
4. D : C ─→ Type
5. rinv : C ─→ (A?)
6. r : A ─→ C
7. d : C List
8. f1 : c:{c:C| (c ∈ d)}  ─→ D[c]
9. inv-rel(A;C;r;rinv)
10. ∀a:A. (D[r a] = B[a] ∈ Type)
11. x : A@i
12. (x ∈ mapfilter(λx.outl(rinv x);λx.isl(rinv x);d))@i
⊢ r x ∈ {c:C| (c ∈ d)} 
Latex:
.....subterm.....  T:t
2:n
1.  A  :  Type
2.  C  :  Type
3.  B  :  A  {}\mrightarrow{}  Type
4.  D  :  C  {}\mrightarrow{}  Type
5.  rinv  :  C  {}\mrightarrow{}  (A?)
6.  r  :  A  {}\mrightarrow{}  C
7.  d  :  C  List
8.  f1  :  c:\{c:C|  (c  \mmember{}  d)\}    {}\mrightarrow{}  D[c]
9.  inv-rel(A;C;r;rinv)
10.  \mforall{}a:A.  (D[r  a]  =  B[a])
\mvdash{}  f1  o  r  \mmember{}  a:\{a:A|  (a  \mmember{}  mapfilter(\mlambda{}x.outl(rinv  x);\mlambda{}x.isl(rinv  x);d))\}    {}\mrightarrow{}  B[a]
By
(((Unfold  `compose`  0  THEN  MemCD)  THENA  Auto)
  THEN  All  Reduce
  THEN  Auto
  THEN  Try  (((D  (-1))  THEN  Unhide  THEN  Auto)))
Home
Index