Step * of Lemma es-rec-class_wf

[Info,T:Type]. ∀[G:es:EO+(Info) ⟶ E ⟶ bag(T)]. ∀[F:es:EO+(Info) ⟶ e':E ⟶ T ⟶ {e:E| (e' <loc e)}  ⟶ bag(T)].
  (RecClass(first e
              G[es;e]
            or next after e' with value v
                F[es;e';v;e]) ∈ EClass(T))
BY
(Auto
   THEN Unfold `eclass` 0
   THEN ExtWith [`es'] [⌜Top ⟶ Top⌝]⋅
   THEN Auto
   THEN Try ((RecUnfold `es-rec-class` THEN Complete (Auto)))
   THEN ExtWith [`e'] [⌜Top ⟶ Top⌝]⋅
   THEN Auto
   THEN Try ((RecUnfold `es-rec-class` THEN Reduce THEN MemCD THEN Complete (Auto))⋅)
   THEN MoveToConcl (-1)
   THEN CausalInd'
   THEN RecUnfold `es-rec-class` 0⋅
   THEN Reduce 0
   THEN RepUR ``in-eclass eclass-val es-prior-interface`` 0
   THEN RepUR ``local-pred-class let`` 0) }

1
1. Info Type
2. Type
3. es:EO+(Info) ⟶ E ⟶ bag(T)
4. es:EO+(Info) ⟶ e':E ⟶ T ⟶ {e:E| (e' <loc e)}  ⟶ bag(T)
5. es EO+(Info)
6. E@i
7. ∀e1:E. ((e1 < e)  (RecClass(first e  G[es;e]or next after e' with value v    F[es;e';v;e]) es e1 ∈ bag(T)))
⊢ if (#(case last(λe.(#(RecClass(first e  G[es;e]or next after e' with value v    F[es;e';v;e]) es e) =z 1)) e
      of inl(e') =>
      {e'}
      inr(x) =>
      {}) =z 1)
  then F[es;only(case last(λe.(#(RecClass(first e  G[es;e]or next after e' with value v    F[es;e';v;e]) es e) =z 1)) 
                      e
        of inl(e') =>
        {e'}
        inr(x) =>
        {});only(RecClass(first e  G[es;e]or next after e' with value v    F[es;e';v;e]) es 
                 only(case last(λe.(#(RecClass(first e  G[es;e]or next after e' with value v    F[es;e';v;e]) es 
                                      e) =z 1)) 
                           e
                  of inl(e') =>
                  {e'}
                  inr(x) =>
                  {}));e]
  else G[es;e]
  fi  ∈ bag(T)


Latex:


Latex:
\mforall{}[Info,T:Type].  \mforall{}[G:es:EO+(Info)  {}\mrightarrow{}  E  {}\mrightarrow{}  bag(T)].  \mforall{}[F:es:EO+(Info)
                                                                                                            {}\mrightarrow{}  e':E
                                                                                                            {}\mrightarrow{}  T
                                                                                                            {}\mrightarrow{}  \{e:E|  (e'  <loc  e)\} 
                                                                                                            {}\mrightarrow{}  bag(T)].
    (RecClass(first  e
                            G[es;e]
                        or  next  e  after  e'  with  value  v
                                F[es;e';v;e])  \mmember{}  EClass(T))


By


Latex:
(Auto
  THEN  Unfold  `eclass`  0
  THEN  ExtWith  [`es']  [\mkleeneopen{}Top  {}\mrightarrow{}  Top\mkleeneclose{}]\mcdot{}
  THEN  Auto
  THEN  Try  ((RecUnfold  `es-rec-class`  0  THEN  Complete  (Auto)))
  THEN  ExtWith  [`e']  [\mkleeneopen{}Top  {}\mrightarrow{}  Top\mkleeneclose{}]\mcdot{}
  THEN  Auto
  THEN  Try  ((RecUnfold  `es-rec-class`  0  THEN  Reduce  0  THEN  MemCD  THEN  Complete  (Auto))\mcdot{})
  THEN  MoveToConcl  (-1)
  THEN  CausalInd'
  THEN  RecUnfold  `es-rec-class`  0\mcdot{}
  THEN  Reduce  0
  THEN  RepUR  ``in-eclass  eclass-val  es-prior-interface``  0
  THEN  RepUR  ``local-pred-class  let``  0)




Home Index