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