{ [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