Nuprl Lemma : fpf-decompose
[A:Type]
  
eq:EqDecider(A)
    
[B:A 
 Type]
      
f:a:A fp-> B[a]
        
g:a:A fp-> B[a]
         
a:A
          
b:B[a]
           ((f 
 g 
 a : b 
 g 
 a : b 
 f)
           
 (
a':A. 
(a' = a) supposing 
a' 
 dom(g))
           
 (||fpf-domain(g)|| < ||fpf-domain(f)||)) 
        supposing 0 < ||fpf-domain(f)||
Proof not projected
Definitions occuring in Statement : 
fpf-single: x : v, 
fpf-join: f 
 g, 
fpf-sub: f 
 g, 
fpf-domain: fpf-domain(f), 
fpf-dom: x 
 dom(f), 
fpf: a:A fp-> B[a], 
length: ||as||, 
assert:
b, 
uimplies: b supposing a, 
uall:
[x:A]. B[x], 
so_apply: x[s], 
all:
x:A. B[x], 
exists:
x:A. B[x], 
not:
A, 
and: P 
 Q, 
less_than: a < b, 
function: x:A 
 B[x], 
natural_number: $n, 
universe: Type, 
equal: s = t, 
deq: EqDecider(T)
Definitions : 
uall:
[x:A]. B[x], 
all:
x:A. B[x], 
so_apply: x[s], 
uimplies: b supposing a, 
fpf-domain: fpf-domain(f), 
exists:
x:A. B[x], 
and: P 
 Q, 
assert:
b, 
fpf-dom: x 
 dom(f), 
not:
A, 
member: t 
 T, 
prop:
, 
implies: P 
 Q, 
so_lambda: 
x.t[x], 
eqof: eqof(d), 
hd: hd(l), 
ge: i 
 j , 
le: A 
 B, 
false: False, 
pi1: fst(t), 
deq-member: deq-member(eq;x;L), 
reduce: reduce(f;k;as), 
bfalse: ff, 
ifthenelse: if b then t else f fi , 
or: P 
 Q, 
guard: {T}, 
fpf-compatible: f || g, 
pi2: snd(t), 
cand: A c
 B, 
fpf-ap: f(x), 
fpf-single: x : v, 
fpf-sub: f 
 g, 
top: Top, 
true: True, 
squash:
T, 
btrue: tt, 
uiff: uiff(P;Q), 
deq: EqDecider(T), 
fpf: a:A fp-> B[a], 
length: ||as||, 
ycomb: Y, 
rev_implies: P 
 Q, 
iff: P 

 Q, 
decidable: Dec(P), 
rev_uimplies: rev_uimplies(P;Q), 
sq_type: SQType(T)
Lemmas : 
fpf-split, 
assert_wf, 
bnot_wf, 
eqof_wf, 
hd_wf, 
fpf-domain_wf, 
length_wf, 
decidable__assert, 
fpf-trivial-subtype-top, 
less_than_wf, 
fpf-ap_wf, 
fpf-sub_wf, 
fpf-join_wf, 
fpf-single_wf, 
all_wf, 
fpf-dom_wf, 
not_wf, 
equal_wf, 
exists_wf, 
fpf_wf, 
deq_wf, 
bor_wf, 
deq-member_wf, 
or_wf, 
l_member_wf, 
iff_transitivity, 
iff_weakening_uiff, 
assert_of_bor, 
or_functionality_wrt_iff, 
assert-deq, 
assert-deq-member, 
fpf-join-sub, 
fpf-sub_transitivity, 
and_wf, 
assert_of_bnot, 
uiff_transitivity, 
not_functionality_wrt_uiff, 
decidable-equal-deq, 
fpf-single-dom-sq, 
eqff_to_assert, 
eqtt_to_assert, 
bool_subtype_base, 
subtype_base_sq, 
bool_cases, 
fpf-join-ap-sq, 
top_wf, 
true_wf, 
squash_wf, 
bool_wf, 
assert_elim, 
member_wf, 
fpf-compatible-symmetry, 
fpf-compatible_wf, 
isect_wf, 
fpf-compatible-single-iff, 
fpf-sub_weakening, 
deq_property, 
fpf-join-dom, 
length_sublist, 
decidable__equal_int, 
proper_sublist_length, 
member-fpf-domain
\mforall{}[A:Type]
    \mforall{}eq:EqDecider(A)
        \mforall{}[B:A  {}\mrightarrow{}  Type]
            \mforall{}f:a:A  fp->  B[a]
                \mexists{}g:a:A  fp->  B[a]
                  \mexists{}a:A
                    \mexists{}b:B[a]
                      ((f  \msubseteq{}  g  \moplus{}  a  :  b  \mwedge{}  g  \moplus{}  a  :  b  \msubseteq{}  f)
                      \mwedge{}  (\mforall{}a':A.  \mneg{}(a'  =  a)  supposing  \muparrow{}a'  \mmember{}  dom(g))
                      \mwedge{}  (||fpf-domain(g)||  <  ||fpf-domain(f)||)) 
                supposing  0  <  ||fpf-domain(f)||
Date html generated:
2012_01_23-AM-11_55_39
Last ObjectModification:
2011_12_27-PM-11_20_19
Home
Index