{ 
[A:Type]
    
eq:EqDecider(A)
      
[B:A 
 Type]
        
L:a:A fp-> B[a] List. 
x:A.
          ((x 
 fpf-domain(
(L))) 
 (
f
L. (
x 
 dom(f)) 
 (
(L)(x) = f(x)))) }
{ Proof }
Definitions occuring in Statement : 
fpf-join-list:
(L), 
fpf-ap: f(x), 
fpf-domain: fpf-domain(f), 
fpf-dom: x 
 dom(f), 
fpf: a:A fp-> B[a], 
assert:
b, 
uall:
[x:A]. B[x], 
so_apply: x[s], 
all:
x:A. B[x], 
implies: P 
 Q, 
and: P 
 Q, 
function: x:A 
 B[x], 
list: type List, 
universe: Type, 
equal: s = t, 
l_exists: (
x
L. P[x]), 
l_member: (x 
 l), 
deq: EqDecider(T)
Definitions : 
uall:
[x:A]. B[x], 
all:
x:A. B[x], 
so_apply: x[s], 
member: t 
 T, 
so_lambda: 
x.t[x], 
implies: P 
 Q, 
subtype: S 
 T, 
uimplies: b supposing a, 
rev_implies: P 
 Q, 
iff: P 

 Q, 
and: P 
 Q, 
prop:
Lemmas : 
fpf-join-list-ap, 
fpf_wf, 
deq_wf, 
l_member_wf, 
fpf-domain_wf, 
fpf-join-list_wf, 
top_wf, 
fpf-trivial-subtype-top, 
member-fpf-domain
\mforall{}[A:Type]
    \mforall{}eq:EqDecider(A)
        \mforall{}[B:A  {}\mrightarrow{}  Type]
            \mforall{}L:a:A  fp->  B[a]  List.  \mforall{}x:A.
                ((x  \mmember{}  fpf-domain(\moplus{}(L)))  {}\mRightarrow{}  (\mexists{}f\mmember{}L.  (\muparrow{}x  \mmember{}  dom(f))  \mwedge{}  (\moplus{}(L)(x)  =  f(x))))
Date html generated:
2011_08_10-AM-08_01_17
Last ObjectModification:
2011_06_18-AM-08_19_55
Home
Index