Step * of Lemma es-first-event_wf

[es:EO]. ∀[e:E]. ∀[P:{e':E| e' ≤loc }  ⟶ 𝔹].
  (es-first-event(es;P;e) ∈ (∃e':{E| (e' ≤loc e  ∧ (↑(P e')) ∧ (∀e'':E. ((e'' <loc e')  (¬↑(P e'')))))})
   ∨ (↓∀e':E. (e' ≤loc e   (¬↑(P e')))))
BY
(Auto
   THEN UnfoldAtAddr [2] 0
   THEN (InstLemma `l_find_wf` [⌜E⌝;⌜≤loc(e)⌝;⌜P⌝]⋅
         THENA (Auto THEN DoSubsume THEN Auto THEN SubtypeReasoning THEN Auto THEN GenListD (-1))
         )
   THEN skip{((DoSubsume THEN Auto)
              THEN Try (Complete (((MemTypeCD THEN Auto)
                                   THEN RWO "member-es-le-before<0
                                   THEN Auto
                                   THEN (HypSubst' (-1) THENA Auto)
                                   THEN BLemma `select_member`
                                   THEN Auto)))
              THEN DProdsAndUnions
              THEN MemCD
              THEN Try (Complete (Auto))
              THEN Try (Complete ((DVar `y'
                                   THEN (MemTypeCD THEN Auto)
                                   THEN (FLemma `member-es-le-before` [-1] THENA Auto)
                                   THEN (-1)
                                   THEN InstHyp [⌜i⌝(-5)⋅
                                   THEN Auto))))}) }

1
1. es EO
2. E
3. {e':E| e' ≤loc }  ⟶ 𝔹
4. l_find(≤loc(e);P) ∈ (∃x:{E| (∃i:ℕ||≤loc(e)||. ((x = ≤loc(e)[i] ∈ E) ∧ (↑(P x)) ∧ (∀j:ℕi. (¬↑(P ≤loc(e)[j])))))})
   ∨ (↓∀i:ℕ||≤loc(e)||. (¬↑(P ≤loc(e)[i])))
⊢ l_find(≤loc(e);P) ∈ (∃e':{E| (e' ≤loc e  ∧ (↑(P e')) ∧ (∀e'':E. ((e'' <loc e')  (¬↑(P e'')))))})
  ∨ (↓∀e':E. (e' ≤loc e   (¬↑(P e'))))


Latex:


Latex:
\mforall{}[es:EO].  \mforall{}[e:E].  \mforall{}[P:\{e':E|  e'  \mleq{}loc  e  \}    {}\mrightarrow{}  \mBbbB{}].
    (es-first-event(es;P;e)  \mmember{}  (\mexists{}e':\{E|  (e'  \mleq{}loc  e 
                                                                          \mwedge{}  (\muparrow{}(P  e'))
                                                                          \mwedge{}  (\mforall{}e'':E.  ((e''  <loc  e')  {}\mRightarrow{}  (\mneg{}\muparrow{}(P  e'')))))\})
      \mvee{}  (\mdownarrow{}\mforall{}e':E.  (e'  \mleq{}loc  e    {}\mRightarrow{}  (\mneg{}\muparrow{}(P  e')))))


By


Latex:
(Auto
  THEN  UnfoldAtAddr  [2]  0
  THEN  (InstLemma  `l\_find\_wf`  [\mkleeneopen{}E\mkleeneclose{};\mkleeneopen{}\mleq{}loc(e)\mkleeneclose{};\mkleeneopen{}P\mkleeneclose{}]\mcdot{}
              THENA  (Auto  THEN  DoSubsume  THEN  Auto  THEN  SubtypeReasoning  THEN  Auto  THEN  GenListD  (-1))
              )
  THEN  skip\{((DoSubsume  THEN  Auto)
                        THEN  Try  (Complete  (((MemTypeCD  THEN  Auto)
                                                                  THEN  RWO  "member-es-le-before<"  0
                                                                  THEN  Auto
                                                                  THEN  (HypSubst'  (-1)  0  THENA  Auto)
                                                                  THEN  BLemma  `select\_member`
                                                                  THEN  Auto)))
                        THEN  DProdsAndUnions
                        THEN  MemCD
                        THEN  Try  (Complete  (Auto))
                        THEN  Try  (Complete  ((DVar  `y'
                                                                  THEN  (MemTypeCD  THEN  Auto)
                                                                  THEN  (FLemma  `member-es-le-before`  [-1]  THENA  Auto)
                                                                  THEN  D  (-1)
                                                                  THEN  InstHyp  [\mkleeneopen{}i\mkleeneclose{}]  (-5)\mcdot{}
                                                                  THEN  Auto))))\})




Home Index