{ 
[A:Type]
    
eq:EqDecider(A)
      
[B:A 
 Type]
        
L:a:A fp-> B[a] List. 
x:A.  (
x 
 dom(
(L)) 

 (
f
L. 
x 
 dom(f))) }
{ Proof }
Definitions occuring in Statement : 
fpf-join-list:
(L), 
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], 
iff: P 

 Q, 
function: x:A 
 B[x], 
list: type List, 
universe: Type, 
l_exists: (
x
L. P[x]), 
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], 
iff: P 

 Q, 
assert:
b, 
fpf-dom: x 
 dom(f), 
fpf-join-list:
(L), 
reduce: reduce(f;k;as), 
fpf-empty:
, 
deq-member: deq-member(eq;x;L), 
pi1: fst(t), 
bfalse: ff, 
ifthenelse: if b then t else f fi , 
false: False, 
prop:
, 
top: Top, 
and: P 
 Q, 
implies: P 
 Q, 
rev_implies: P 
 Q, 
subtype: S 
 T, 
or: P 
 Q, 
guard: {T}, 
uimplies: b supposing a
Lemmas : 
fpf_wf, 
deq_wf, 
iff_wf, 
false_wf, 
l_exists_wf, 
assert_wf, 
fpf-dom_wf, 
fpf-trivial-subtype-top, 
l_member_wf, 
all_functionality_wrt_iff, 
iff_functionality_wrt_iff, 
l_exists_nil, 
fpf-join-list_wf, 
top_wf, 
l_exists_cons, 
fpf-join_wf, 
fpf-join-dom
\mforall{}[A:Type]
    \mforall{}eq:EqDecider(A)
        \mforall{}[B:A  {}\mrightarrow{}  Type].  \mforall{}L:a:A  fp->  B[a]  List.  \mforall{}x:A.    (\muparrow{}x  \mmember{}  dom(\moplus{}(L))  \mLeftarrow{}{}\mRightarrow{}  (\mexists{}f\mmember{}L.  \muparrow{}x  \mmember{}  dom(f)))
Date html generated:
2011_08_10-AM-08_00_54
Last ObjectModification:
2011_06_18-AM-08_19_43
Home
Index