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