Step
*
1
1
of Lemma
bind-return-left
.....assertion..... 
1. Info : Type
2. T : Type
3. S : Type
4. x : T
5. f : T ⟶ EClass(S)@i'
6. ∀[X:EClass(T)]. ∀[Y:T ⟶ EClass(S)].  (X >x> Y[x] ∈ EClass(S))
7. es : EO+(Info)
8. e : E
⊢ ∃e1:{e':E| e' ≤loc e } 
   ∃b:bag({e':E| e' ≤loc e  ∧ (¬↑first(e'))} ). (e1 ≤loc e  ∧ (↑first(e1)) ∧ (≤loc(e) = ([e1] + b) ∈ bag({e':E| e' ≤loc \000Ce } )))
BY
{ ((Assert first(hd(≤loc(e))) = tt BY
          (RWO "hd-es-le-before-is-first" 0⋅ THEN Auto)⋅)
   THEN (Assert tl(≤loc(e)) ∈ bag({e':E| e' ≤loc e  ∧ (¬↑first(e'))} ) BY
               (SubsumeC ⌜{e':E| e' ≤loc e  ∧ (¬↑first(e'))}  List⌝⋅
                THEN Try ((BLemma `list-subtype-bag` THEN Auto))
                THEN (BLemma `list_set_type` THEN Auto)
                THEN (BLemma `l_all_iff`
                      THEN Auto
                      THEN ((Assert (e' ∈ tl(≤loc(e))) BY Auto) THEN (RWO "tl-es-le-before" (-1)⋅ THEN Auto)⋅)⋅)⋅))
   ) }
1
1. Info : Type
2. T : Type
3. S : Type
4. x : T
5. f : T ⟶ EClass(S)@i'
6. ∀[X:EClass(T)]. ∀[Y:T ⟶ EClass(S)].  (X >x> Y[x] ∈ EClass(S))
7. es : EO+(Info)
8. e : E
9. first(hd(≤loc(e))) = tt
10. tl(≤loc(e)) ∈ bag({e':E| e' ≤loc e  ∧ (¬↑first(e'))} )
⊢ ∃e1:{e':E| e' ≤loc e } 
   ∃b:bag({e':E| e' ≤loc e  ∧ (¬↑first(e'))} ). (e1 ≤loc e  ∧ (↑first(e1)) ∧ (≤loc(e) = ([e1] + b) ∈ bag({e':E| e' ≤loc \000Ce } )))
Latex:
Latex:
.....assertion..... 
1.  Info  :  Type
2.  T  :  Type
3.  S  :  Type
4.  x  :  T
5.  f  :  T  {}\mrightarrow{}  EClass(S)@i'
6.  \mforall{}[X:EClass(T)].  \mforall{}[Y:T  {}\mrightarrow{}  EClass(S)].    (X  >x>  Y[x]  \mmember{}  EClass(S))
7.  es  :  EO+(Info)
8.  e  :  E
\mvdash{}  \mexists{}e1:\{e':E|  e'  \mleq{}loc  e  \} 
      \mexists{}b:bag(\{e':E|  e'  \mleq{}loc  e    \mwedge{}  (\mneg{}\muparrow{}first(e'))\}  ).  (e1  \mleq{}loc  e    \mwedge{}  (\muparrow{}first(e1))  \mwedge{}  (\mleq{}loc(e)  =  ([e1]  +  b)))
By
Latex:
((Assert  first(hd(\mleq{}loc(e)))  =  tt  BY
                (RWO  "hd-es-le-before-is-first"  0\mcdot{}  THEN  Auto)\mcdot{})
  THEN  (Assert  tl(\mleq{}loc(e))  \mmember{}  bag(\{e':E|  e'  \mleq{}loc  e    \mwedge{}  (\mneg{}\muparrow{}first(e'))\}  )  BY
                          (SubsumeC  \mkleeneopen{}\{e':E|  e'  \mleq{}loc  e    \mwedge{}  (\mneg{}\muparrow{}first(e'))\}    List\mkleeneclose{}\mcdot{}
                            THEN  Try  ((BLemma  `list-subtype-bag`  THEN  Auto))
                            THEN  (BLemma  `list\_set\_type`  THEN  Auto)
                            THEN  (BLemma  `l\_all\_iff`
                                        THEN  Auto
                                        THEN  ((Assert  (e'  \mmember{}  tl(\mleq{}loc(e)))  BY
                                                                  Auto)
                                                    THEN  (RWO  "tl-es-le-before"  (-1)\mcdot{}  THEN  Auto)\mcdot{}
                                                    )\mcdot{})\mcdot{}))
  )
Home
Index