Nuprl Lemma : rec-class-val

[Info,T:Type]. ∀[G:es:EO+(Info) ─→ E ─→ bag(T)]. ∀[F:es:EO+(Info) ─→ e':E ─→ T ─→ {e:E| (e' <loc e)}  ─→ bag(T)].
[es:EO+(Info)]. ∀[e:E].
  RecClass(first e
             G[es;e]
           or next after e' with value v
               F[es;e';v;e])(e)
  if e ∈b prior(RecClass(first e
                             G[es;e]
                           or next after e' with value v
                               F[es;e';v;e]))
    then let e' prior(RecClass(first e
                                   G[es;e]
                                 or next after e' with value v
                                     F[es;e';v;e]))(e) in
             only(F[es;e';RecClass(first e
                                     G[es;e]
                                   or next after e' with value v
                                       F[es;e';v;e])(e');e])
    else only(G[es;e])
    fi 
  ∈ 
  supposing ↑e ∈b RecClass(first e
                             G[es;e]
                           or next after e' with value v
                               F[es;e';v;e])


Proof




Definitions occuring in Statement :  es-rec-class: es-rec-class es-prior-interface: prior(X) eclass-val: X(e) in-eclass: e ∈b X event-ordering+: EO+(Info) es-locl: (e <loc e') es-E: E assert: b ifthenelse: if then else fi  let: let uimplies: supposing a uall: [x:A]. B[x] so_apply: x[s1;s2;s3;s4] so_apply: x[s1;s2] set: {x:A| B[x]}  function: x:A ─→ B[x] universe: Type equal: t ∈ T bag-only: only(bs) bag: bag(T)
Lemmas :  es-rec-class_wf es-locl_wf eclass_wf assert_wf in-eclass_wf es-interface-subtype_rel2 es-E_wf event-ordering+_subtype bag_wf event-ordering+_wf es-prior-interface_wf top_wf es-E-interface_wf eq_int_wf bag-size_wf bool_wf eqtt_to_assert assert_of_eq_int nat_wf eqff_to_assert equal_wf bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot neg_assert_of_eq_int equal-wf-T-base eclass-val_wf es-E-interface-property eclass-val_wf2 es-prior-interface_wf0 assert_functionality_wrt_uiff subtype_top squash_wf true_wf Id_wf es-loc-prior-interface es-loc_wf iff_weakening_equal es-prior-interface-causl bag-only_wf2 single-valued-bag-if-le1 le_weakening and_wf le_wf decidable__lt false_wf le_antisymmetry_iff add_functionality_wrt_le add-commutes zero-add le-add-cancel zero-le-nat not-equal-2 add-zero

Latex:
\mforall{}[Info,T:Type].  \mforall{}[G:es:EO+(Info)  {}\mrightarrow{}  E  {}\mrightarrow{}  bag(T)].  \mforall{}[F:es:EO+(Info)
                                                                                                            {}\mrightarrow{}  e':E
                                                                                                            {}\mrightarrow{}  T
                                                                                                            {}\mrightarrow{}  \{e:E|  (e'  <loc  e)\} 
                                                                                                            {}\mrightarrow{}  bag(T)].  \mforall{}[es:EO+(Info)].  \mforall{}[e:E].
    RecClass(first  e
                          G[es;e]
                      or  next  e  after  e'  with  value  v
                              F[es;e';v;e])(e)
    =  if  e  \mmember{}\msubb{}  prior(RecClass(first  e
                                                          G[es;e]
                                                      or  next  e  after  e'  with  value  v
                                                              F[es;e';v;e]))
        then  let  e'  =  prior(RecClass(first  e
                                                                      G[es;e]
                                                                  or  next  e  after  e'  with  value  v
                                                                          F[es;e';v;e]))(e)  in
                          only(F[es;e';RecClass(first  e
                                                                          G[es;e]
                                                                      or  next  e  after  e'  with  value  v
                                                                              F[es;e';v;e])(e');e])
        else  only(G[es;e])
        fi   
    supposing  \muparrow{}e  \mmember{}\msubb{}  RecClass(first  e
                                                          G[es;e]
                                                      or  next  e  after  e'  with  value  v
                                                              F[es;e';v;e])



Date html generated: 2015_07_21-PM-03_17_42
Last ObjectModification: 2015_02_04-PM-06_18_27

Home Index