{ 
[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