### Nuprl Lemma : existse-before-iff

`∀es:EO. ∀e':E.`
`  ∀[P:{e:E| loc(e) = loc(e') ∈ Id}  ─→ ℙ]. (∃e<e'.P[e] `⇐⇒` (¬↑first(e')) c∧ (P[pred(e')] ∨ ∃e<pred(e').P[e]))`

Proof

Definitions occuring in Statement :  existse-before: `∃e<e'.P[e]` es-first: `first(e)` es-pred: `pred(e)` es-loc: `loc(e)` es-E: `E` event_ordering: `EO` Id: `Id` assert: `↑b` uall: `∀[x:A]. B[x]` cand: `A c∧ B` prop: `ℙ` so_apply: `x[s]` all: `∀x:A. B[x]` iff: `P `⇐⇒` Q` not: `¬A` or: `P ∨ Q` set: `{x:A| B[x]} ` function: `x:A ─→ B[x]` equal: `s = t ∈ T`
Lemmas :  assert_wf es-first_wf2 existse-before_wf Id_wf es-loc_wf es-E_wf not_wf or_wf es-pred-loc-base iff_weakening_equal es-pred_wf event_ordering_wf es-locl-iff and_wf equal_wf es-loc-pred exists_wf es-locl_wf es-pred-locl es-locl_transitivity2 es-le_weakening
\mforall{}es:EO.  \mforall{}e':E.
\mforall{}[P:\{e:E|  loc(e)  =  loc(e')\}    {}\mrightarrow{}  \mBbbP{}]
(\mexists{}e<e'.P[e]  \mLeftarrow{}{}\mRightarrow{}  (\mneg{}\muparrow{}first(e'))  c\mwedge{}  (P[pred(e')]  \mvee{}  \mexists{}e<pred(e').P[e]))

Date html generated: 2015_07_17-AM-08_45_56
Last ObjectModification: 2015_02_04-PM-05_55_45

Home Index