{ [A,C:Type]. [B:A  Type].
    eqa:EqDecider(A). eqc:EqDecider(C). r:A  C. f:a:A fp-B[a]. c:C.
      (c  dom(rename(r;f))  a:A. ((a  dom(f)) c (c = (r a)))) }

{ Proof }



Definitions occuring in Statement :  fpf-rename: rename(r;f) fpf-dom: x  dom(f) fpf: a:A fp-B[a] assert: b uall: [x:A]. B[x] cand: A c B so_apply: x[s] all: x:A. B[x] exists: x:A. B[x] iff: P  Q apply: f a function: x:A  B[x] universe: Type equal: s = t deq: EqDecider(T)
Definitions :  member: t  T prop: exists: x:A. B[x] cand: A c B and: P  Q iff: P  Q implies: P  Q rev_implies: P  Q uall: [x:A]. B[x] all: x:A. B[x]
Lemmas :  assert_wf deq-member_wf map_wf l_member_wf iff_functionality_wrt_iff member_map

\mforall{}[A,C:Type].  \mforall{}[B:A  {}\mrightarrow{}  Type].
    \mforall{}eqa:EqDecider(A).  \mforall{}eqc:EqDecider(C).  \mforall{}r:A  {}\mrightarrow{}  C.  \mforall{}f:a:A  fp->  B[a].  \mforall{}c:C.
        (\muparrow{}c  \mmember{}  dom(rename(r;f))  \mLeftarrow{}{}\mRightarrow{}  \mexists{}a:A.  ((\muparrow{}a  \mmember{}  dom(f))  c\mwedge{}  (c  =  (r  a))))


Date html generated: 2011_08_10-AM-08_04_15
Last ObjectModification: 2011_06_18-AM-08_22_32

Home Index