Nuprl Lemma : es-first-at-since-iff

∀es:EO. ∀i:Id. ∀e:E.
  ∀[P,R:{e:E| loc(e) = i ∈ Id}  ⟶ ℙ].
    ((∀e:E. Dec(R[e]) supposing loc(e) = i ∈ Id)
    ⇒ (es-first-at-since(es;i;e;e.R[e];e.P[e])
       ⇐⇒ (loc(e) = i ∈ Id)
           c∧ ((P[e] ∧ (¬R[e]))
              ∧ ((∃e'':E. ((e'' <loc e) c∧ P[e'']))
                ⇒ (∃e':E
                     ((e' <loc e)
                     c∧ (R[e'] ∧ (∀e'':E. ((e' <loc e'') ⇒ (e'' <loc e) ⇒ ((¬P[e'']) ∧ (¬R[e''])))))))))))


Proof




Definitions occuring in Statement :  es-first-at-since: es-first-at-since(es;i;e;e.R[e];e.P[e]),  es-locl: (e <loc e'),  es-loc: loc(e),  es-E: E,  event_ordering: EO,  Id: Id,  decidable: Dec(P),  uimplies: b supposing a,  uall: ∀[x:A]. B[x],  cand: A c∧ B,  prop: ℙ,  so_apply: x[s],  all: ∀x:A. B[x],  exists: ∃x:A. B[x],  iff: P ⇐⇒ Q,  not: ¬A,  implies: P ⇒ Q,  and: P ∧ Q,  set: {x:A| B[x]} ,  function: x:A ⟶ B[x],  equal: s = t ∈ T
Definitions unfolded in proof :  all: ∀x:A. B[x],  uall: ∀[x:A]. B[x],  implies: P ⇒ Q,  iff: P ⇐⇒ Q,  and: P ∧ Q,  cand: A c∧ B,  es-first-at-since: es-first-at-since(es;i;e;e.R[e];e.P[e]),  not: ¬A,  false: False,  member: t ∈ T,  prop: ℙ,  so_apply: x[s],  exists: ∃x:A. B[x],  so_lambda: λ2x.t[x],  es-locl: (e <loc e'),  subtype_rel: A ⊆r B,  rev_implies: P ⇐ Q,  uimplies: b supposing a,  alle-lt: ∀e<e'.P[e],  guard: {T},  es-le: e ≤loc e' ,  or: P ∨ Q,  squash: ↓T

Latex:
\mforall{}es:EO.  \mforall{}i:Id.  \mforall{}e:E.
    \mforall{}[P,R:\{e:E|  loc(e)  =  i\}    {}\mrightarrow{}  \mBbbP{}].
        ((\mforall{}e:E.  Dec(R[e])  supposing  loc(e)  =  i)
        {}\mRightarrow{}  (es-first-at-since(es;i;e;e.R[e];e.P[e])
              \mLeftarrow{}{}\mRightarrow{}  (loc(e)  =  i)
                      c\mwedge{}  ((P[e]  \mwedge{}  (\mneg{}R[e]))
                            \mwedge{}  ((\mexists{}e'':E.  ((e''  <loc  e)  c\mwedge{}  P[e'']))
                                {}\mRightarrow{}  (\mexists{}e':E
                                          ((e'  <loc  e)
                                          c\mwedge{}  (R[e']
                                                \mwedge{}  (\mforall{}e'':E
                                                          ((e'  <loc  e'')  {}\mRightarrow{}  (e''  <loc  e)  {}\mRightarrow{}  ((\mneg{}P[e''])  \mwedge{}  (\mneg{}R[e''])))))))))))



Date html generated: 2016_05_16-AM-10_25_02
Last ObjectModification: 2016_01_17-PM-01_27_28

Theory : new!event-ordering


Home Index