Nuprl Lemma : iterated-classrel-invariant2

[Info,A,S:Type]. ∀[init:Id ─→ bag(S)]. ∀[f:A ─→ S ─→ S].
  ∀X:EClass(A). ∀es:EO+(Info).
    ∀[P:E ─→ S ─→ ℙ]
      ∀e:E. ∀v:S.
        ((∀s:S. ∀e':E.
            (e' ≤loc 
             if first(e')
               then s ↓∈ init loc(e')
               else iterated-classrel(es;S;A;f;init;X;pred(e');s) ∧ P[pred(e');s]
               fi 
             if e' ∈b then ∀a:A. (a ∈ X(e')  P[e';f s]) else P[e';s] fi ))
         iterated-classrel(es;S;A;f;init;X;e;v)
         P[e;v])


Proof




Definitions occuring in Statement :  iterated-classrel: iterated-classrel(es;S;A;f;init;X;e;v) classrel: v ∈ X(e) member-eclass: e ∈b X eclass: EClass(A[eo; e]) event-ordering+: EO+(Info) es-le: e ≤loc e'  es-first: first(e) es-pred: pred(e) es-loc: loc(e) es-E: E Id: Id ifthenelse: if then else fi  uall: [x:A]. B[x] prop: so_apply: x[s1;s2] all: x:A. B[x] implies:  Q and: P ∧ Q apply: a function: x:A ─→ B[x] universe: Type bag-member: x ↓∈ bs bag: bag(T)
Lemmas :  es-causl-swellfnd less_than_transitivity1 less_than_irreflexivity int_seg_wf decidable__equal_int subtype_rel-int_seg false_wf le_weakening subtract_wf int_seg_properties le_wf nat_wf zero-le-nat lelt_wf es-causl_wf es-first_wf2 bool_cases subtype_base_sq bool_wf bool_subtype_base eqtt_to_assert eqff_to_assert assert_of_bnot iterated-classrel_wf all_wf es-le_wf bag-member_wf es-loc_wf equal_wf bool_cases_sqequal assert-bnot es-pred_wf member-eclass_wf classrel_wf int_seg_subtype-nat decidable__lt not-equal-2 condition-implies-le minus-add minus-minus minus-one-mul add-swap add-commutes add-associates add_functionality_wrt_le zero-add le-add-cancel-alt less-iff-le le-add-cancel set_wf less_than_wf primrec-wf2 decidable__le not-le-2 sq_stable__le add-zero add-mul-special zero-mul es-E_wf event-ordering+_subtype event-ordering+_wf eclass_wf Id_wf bag_wf es-le-self classrel-implies-member sq_stable__bag-member and_wf member_wf member-implies-classrel es-pred-locl es-causl_weakening es-locl_transitivity1 es-le_weakening
\mforall{}[Info,A,S:Type].  \mforall{}[init:Id  {}\mrightarrow{}  bag(S)].  \mforall{}[f:A  {}\mrightarrow{}  S  {}\mrightarrow{}  S].
    \mforall{}X:EClass(A).  \mforall{}es:EO+(Info).
        \mforall{}[P:E  {}\mrightarrow{}  S  {}\mrightarrow{}  \mBbbP{}]
            \mforall{}e:E.  \mforall{}v:S.
                ((\mforall{}s:S.  \mforall{}e':E.
                        (e'  \mleq{}loc  e 
                        {}\mRightarrow{}  if  first(e')
                              then  s  \mdownarrow{}\mmember{}  init  loc(e')
                              else  iterated-classrel(es;S;A;f;init;X;pred(e');s)  \mwedge{}  P[pred(e');s]
                              fi 
                        {}\mRightarrow{}  if  e'  \mmember{}\msubb{}  X  then  \mforall{}a:A.  (a  \mmember{}  X(e')  {}\mRightarrow{}  P[e';f  a  s])  else  P[e';s]  fi  ))
                {}\mRightarrow{}  iterated-classrel(es;S;A;f;init;X;e;v)
                {}\mRightarrow{}  P[e;v])



Date html generated: 2015_07_17-PM-00_28_02
Last ObjectModification: 2015_01_27-PM-11_36_52

Home Index