{ 
[A,B:
'].
    
C:{C:
'| valueall-type(C)} . 
F:Id 
 bag(A) 
 bag(B) 
 bag(C).
      
[X:EClass(A)]. 
[Y:EClass(B)].
        (((
l:Id
              ((
as:bag(A). (F[l;as;{}] = {}))
              
 (
bs:bag(B). (F[l;{};bs] = {}))))
         
 (
l:Id. (F[l;{};{}] = {})))
        
 NormalLProgrammable'(A;X)
        
 NormalLProgrammable'(B;Y)
        
 NormalLProgrammable'(C;simple-loc-comb2(l,a,b.F[l;a;b];X;Y))) }
{ Proof }
Definitions occuring in Statement : 
Message: Message, 
normal-locally-programmable: NormalLProgrammable(A;X), 
simple-loc-comb2: simple-loc-comb2(l,a,b.F[l; a; b];X;Y), 
eclass: EClass(A[eo; e]), 
Id: Id, 
uall:
[x:A]. B[x], 
so_apply: x[s1;s2;s3], 
all:
x:A. B[x], 
squash:
T, 
implies: P 
 Q, 
or: P 
 Q, 
and: P 
 Q, 
set: {x:A| B[x]} , 
function: x:A 
 B[x], 
universe: Type, 
equal: s = t, 
empty-bag: {}, 
bag: bag(T), 
valueall-type: valueall-type(T)
Lemmas : 
simple-loc-comb-locally-programmable1, 
pos_length2, 
sq_stable__equal, 
sq_stable__and, 
int_subtype_base, 
subtype_base_sq, 
decidable__equal_int, 
top_wf, 
simple-loc-comb-locally-programmable2, 
subtype_rel_wf, 
Message-inhabited, 
nat_wf, 
not_wf, 
false_wf, 
le_wf, 
int_seg_wf, 
select_wf, 
length_wf_nat, 
length_nil, 
length_cons, 
non_neg_length, 
int_seg_properties, 
length_wf1, 
event-ordering+_inc, 
event-ordering+_wf, 
es-E_wf, 
sq_stable_from_decidable, 
sq_stable__uall, 
sq_stable__all, 
uall_wf, 
member_wf, 
eclass_wf2, 
eclass_wf3, 
empty-bag_wf, 
valueall-type_wf, 
eclass_wf, 
bag_wf, 
squash_wf, 
local-program-at_wf, 
dataflow-program_wf, 
Id_wf, 
normal-locally-programmable_wf, 
simple-loc-comb2_wf, 
Message_wf
\mforall{}[A,B:\mBbbU{}'].
    \mforall{}C:\{C:\mBbbU{}'|  valueall-type(C)\}  .  \mforall{}F:Id  {}\mrightarrow{}  bag(A)  {}\mrightarrow{}  bag(B)  {}\mrightarrow{}  bag(C).
        \mforall{}[X:EClass(A)].  \mforall{}[Y:EClass(B)].
            (((\mdownarrow{}\mforall{}l:Id.  ((\mforall{}as:bag(A).  (F[l;as;\{\}]  =  \{\}))  \mwedge{}  (\mforall{}bs:bag(B).  (F[l;\{\};bs]  =  \{\}))))
              \mvee{}  (\mdownarrow{}\mforall{}l:Id.  (F[l;\{\};\{\}]  =  \{\})))
            {}\mRightarrow{}  NormalLProgrammable'(A;X)
            {}\mRightarrow{}  NormalLProgrammable'(B;Y)
            {}\mRightarrow{}  NormalLProgrammable'(C;simple-loc-comb2(l,a,b.F[l;a;b];X;Y)))
Date html generated:
2011_08_17-PM-04_09_31
Last ObjectModification:
2011_06_29-PM-10_56_57
Home
Index