{ 
[Info,A,B,S:Type]. 
[init:S]. 
[f:S 
 A 
 S]. 
[test:S 
 A 
 
].
  
[nxt:S 
 A 
 S]. 
[g:S 
 A 
 (B?)]. 
[X:EClass(A)].
    (g[Threshold(init;f;test;nxt;X)]
    = 
p.threshold_val(p)[es-interface-accum(threshold_accum(test;
                                             nxt;
                                             f;
                                             g);<init, inr 
 >X)]) }
{ Proof }
Definitions occuring in Statement : 
es-threshold: Threshold(init;f;test;nxt;X), 
es-interface-accum: es-interface-accum(f;x;X), 
es-filter-image: f[X], 
eclass: EClass(A[eo; e]), 
threshold_val: threshold_val(p), 
threshold_accum: threshold_accum, 
bool:
, 
it:
, 
uall:
[x:A]. B[x], 
unit: Unit, 
lambda:
x.A[x], 
function: x:A 
 B[x], 
pair: <a, b>, 
product: x:A 
 B[x], 
inr: inr x , 
union: left + right, 
universe: Type, 
equal: s = t
Definitions : 
uall:
[x:A]. B[x], 
threshold_val: threshold_val(p), 
member: t 
 T, 
so_lambda: 
x y.t[x; y], 
all:
x:A. B[x], 
ifthenelse: if b then t else f fi , 
top: Top, 
assert:
b, 
subtype: S 
 T, 
btrue: tt, 
true: True, 
suptype: suptype(S; T), 
bfalse: ff, 
implies: P 
 Q, 
prop:
, 
squash:
T, 
so_lambda: 
x.t[x], 
eclass: EClass(A[eo; e]), 
es-interface-accum: es-interface-accum(f;x;X), 
list_accum: list_accum(x,a.f[x; a];y;l), 
ycomb: Y, 
es-E-interface: E(X), 
and: P 
 Q, 
threshold_accum: threshold_accum, 
pi1: fst(t), 
iff: P 

 Q, 
rev_implies: P 
 Q, 
cand: A c
 B, 
so_apply: x[s1;s2], 
uimplies: b supposing a, 
sq_type: SQType(T), 
guard: {T}, 
bool:
, 
unit: Unit, 
so_apply: x[s], 
nat:
, 
length: ||as||, 
decidable: Dec(P), 
or: P 
 Q, 
not:
A, 
false: False, 
it:
Lemmas : 
eclass_wf, 
es-E_wf, 
event-ordering+_inc, 
event-ordering+_wf, 
unit_wf, 
bool_wf, 
es-E-interface_wf, 
es-interface-top, 
es-threshold-image-as-accum, 
eclass-val_wf, 
subtype_base_sq, 
bool_subtype_base, 
top_wf, 
assert_elim, 
in-eclass_wf, 
iff_weakening_uiff, 
assert_wf, 
eqtt_to_assert, 
not_wf, 
uiff_transitivity, 
bnot_wf, 
eqff_to_assert, 
assert_of_bnot, 
es-filter-image_wf, 
squash_wf, 
true_wf, 
pi2_wf, 
ifthenelse_wf, 
es-interface-predecessors_wf, 
Id_wf, 
es-loc_wf, 
es-interface-predecessors-nonempty, 
length_wf_nat, 
nat_wf, 
length_wf1, 
member_wf, 
list_accum_wf, 
it_wf, 
es-interface-accum_wf, 
es-threshold_wf, 
threshold_accum_wf, 
es-interface-extensionality, 
decidable__assert, 
iff_wf, 
es-interface-subtype_rel2, 
can-apply_wf, 
es-is-filter-image, 
is-threshold, 
es-interface-subtype_rel, 
is-interface-accum
\mforall{}[Info,A,B,S:Type].  \mforall{}[init:S].  \mforall{}[f:S  {}\mrightarrow{}  A  {}\mrightarrow{}  S].  \mforall{}[test:S  {}\mrightarrow{}  A  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[nxt:S  \mtimes{}  A  {}\mrightarrow{}  S].
\mforall{}[g:S  \mtimes{}  A  {}\mrightarrow{}  (B?)].  \mforall{}[X:EClass(A)].
    (g[Threshold(init;f;test;nxt;X)]
    =  \mlambda{}p.threshold\_val(p)[es-interface-accum(threshold\_accum(test;
                                                                                      nxt;
                                                                                      f;
                                                                                      g);<init,  inr  \mcdot{}  >X)])
Date html generated:
2011_08_16-PM-06_10_45
Last ObjectModification:
2010_11_10-AM-05_47_43
Home
Index