Step
*
of Lemma
State-comb-progress
∀[Info,B,A:Type].
  ∀R:B ─→ B ─→ ℙ. ∀P:A ─→ B ─→ ℙ. ∀f:A ─→ B ─→ B. ∀init:Id ─→ bag(B). ∀X:EClass(A). ∀es:EO+(Info). ∀e1,e2:E. ∀v1,v2:B.
    ((∀a:A. ∀s:B.  Dec(P[a;s]))
    
⇒ Trans(B;x,y.R[x;y])
    
⇒ (∀a:A. ∀e:E. ∀s:B.
          ((e1 <loc e)
          
⇒ e ≤loc e2 
          
⇒ a ∈ X(e)
          
⇒ s ∈ State-comb(init;f;X)(pred(e))
          
⇒ ((P[a;s] 
⇒ R[s;f a s]) ∧ ((¬P[a;s]) 
⇒ (s = (f a s) ∈ B)))))
    
⇒ single-valued-classrel(es;X;A)
    
⇒ single-valued-bag(init loc(e1);B)
    
⇒ v1 ∈ State-comb(init;f;X)(e1)
    
⇒ v2 ∈ State-comb(init;f;X)(e2)
    
⇒ (e1 <loc e2)
    
⇒ (∃e:E. ∃a:A. ∃s:B. ((e1 <loc e) ∧ e ≤loc e2  ∧ s ∈ State-comb(init;f;X)(pred(e)) ∧ a ∈ X(e) ∧ P[a;s]))
    
⇒ R[v1;v2])
BY
{ ((UnivCD THENA Auto)
   THEN (InstLemma `iterated-classrel-progress` [⌈Info⌉;⌈A⌉;⌈B⌉;⌈init⌉;⌈f⌉;⌈X⌉;⌈es⌉;⌈R⌉;⌈P⌉;⌈e1⌉;⌈e2⌉;⌈v1⌉;⌈v2⌉]⋅
         THENA (Auto
                THEN Try (Complete ((MaUseClassRel (-4)
                                     THEN RWO "iterated-classrel-iff" (-11)
                                     THEN Auto
                                     THEN D (-11)
                                     THEN Unhide
                                     THEN Auto)))
                THEN Try (Complete ((MaUseClassRel (-3)
                                     THEN RWO "iterated-classrel-iff" (-10)
                                     THEN Auto
                                     THEN D (-10)
                                     THEN Unhide
                                     THEN Auto))))
         )
   THEN Try (Complete (OnMaybeHyp 16 (\h. (InstHyp [⌈a⌉;⌈e⌉;⌈s⌉] h⋅
                                           THEN Auto
                                           THEN MaUseClassRel 0
                                           THEN BLemma `iterated-classrel-iff`
                                           THEN Auto
                                           THEN D 0
                                           THEN Auto))))
   THEN Auto
   THEN D (-2)
   THEN Auto
   THEN ExRepD
   THEN InstConcl [⌈e⌉;⌈s⌉]⋅
   THEN Auto
   THEN MaUseClassRel (-6)
   THEN (RWO "iterated-classrel-iff" (-6) THENA Auto)
   THEN D (-6)
   THEN Unhide
   THEN Auto) }
Latex:
Latex:
\mforall{}[Info,B,A:Type].
    \mforall{}R:B  {}\mrightarrow{}  B  {}\mrightarrow{}  \mBbbP{}.  \mforall{}P:A  {}\mrightarrow{}  B  {}\mrightarrow{}  \mBbbP{}.  \mforall{}f:A  {}\mrightarrow{}  B  {}\mrightarrow{}  B.  \mforall{}init:Id  {}\mrightarrow{}  bag(B).  \mforall{}X:EClass(A).  \mforall{}es:EO+(Info).
    \mforall{}e1,e2:E.  \mforall{}v1,v2:B.
        ((\mforall{}a:A.  \mforall{}s:B.    Dec(P[a;s]))
        {}\mRightarrow{}  Trans(B;x,y.R[x;y])
        {}\mRightarrow{}  (\mforall{}a:A.  \mforall{}e:E.  \mforall{}s:B.
                    ((e1  <loc  e)
                    {}\mRightarrow{}  e  \mleq{}loc  e2 
                    {}\mRightarrow{}  a  \mmember{}  X(e)
                    {}\mRightarrow{}  s  \mmember{}  State-comb(init;f;X)(pred(e))
                    {}\mRightarrow{}  ((P[a;s]  {}\mRightarrow{}  R[s;f  a  s])  \mwedge{}  ((\mneg{}P[a;s])  {}\mRightarrow{}  (s  =  (f  a  s))))))
        {}\mRightarrow{}  single-valued-classrel(es;X;A)
        {}\mRightarrow{}  single-valued-bag(init  loc(e1);B)
        {}\mRightarrow{}  v1  \mmember{}  State-comb(init;f;X)(e1)
        {}\mRightarrow{}  v2  \mmember{}  State-comb(init;f;X)(e2)
        {}\mRightarrow{}  (e1  <loc  e2)
        {}\mRightarrow{}  (\mexists{}e:E
                  \mexists{}a:A
                    \mexists{}s:B.  ((e1  <loc  e)  \mwedge{}  e  \mleq{}loc  e2    \mwedge{}  s  \mmember{}  State-comb(init;f;X)(pred(e))  \mwedge{}  a  \mmember{}  X(e)  \mwedge{}  P[a;s]))
        {}\mRightarrow{}  R[v1;v2])
By
Latex:
((UnivCD  THENA  Auto)
  THEN  (InstLemma  `iterated-classrel-progress`  [\mkleeneopen{}Info\mkleeneclose{};\mkleeneopen{}A\mkleeneclose{};\mkleeneopen{}B\mkleeneclose{};\mkleeneopen{}init\mkleeneclose{};\mkleeneopen{}f\mkleeneclose{};\mkleeneopen{}X\mkleeneclose{};\mkleeneopen{}es\mkleeneclose{};\mkleeneopen{}R\mkleeneclose{};\mkleeneopen{}P\mkleeneclose{};\mkleeneopen{}e1\mkleeneclose{};\mkleeneopen{}e2\mkleeneclose{};
              \mkleeneopen{}v1\mkleeneclose{};\mkleeneopen{}v2\mkleeneclose{}]\mcdot{}
              THENA  (Auto
                            THEN  Try  (Complete  ((MaUseClassRel  (-4)
                                                                      THEN  RWO  "iterated-classrel-iff"  (-11)
                                                                      THEN  Auto
                                                                      THEN  D  (-11)
                                                                      THEN  Unhide
                                                                      THEN  Auto)))
                            THEN  Try  (Complete  ((MaUseClassRel  (-3)
                                                                      THEN  RWO  "iterated-classrel-iff"  (-10)
                                                                      THEN  Auto
                                                                      THEN  D  (-10)
                                                                      THEN  Unhide
                                                                      THEN  Auto))))
              )
  THEN  Try  (Complete  (OnMaybeHyp  16  (\mbackslash{}h.  (InstHyp  [\mkleeneopen{}a\mkleeneclose{};\mkleeneopen{}e\mkleeneclose{};\mkleeneopen{}s\mkleeneclose{}]  h\mcdot{}
                                                                                  THEN  Auto
                                                                                  THEN  MaUseClassRel  0
                                                                                  THEN  BLemma  `iterated-classrel-iff`
                                                                                  THEN  Auto
                                                                                  THEN  D  0
                                                                                  THEN  Auto))))
  THEN  Auto
  THEN  D  (-2)
  THEN  Auto
  THEN  ExRepD
  THEN  InstConcl  [\mkleeneopen{}e\mkleeneclose{};\mkleeneopen{}s\mkleeneclose{}]\mcdot{}
  THEN  Auto
  THEN  MaUseClassRel  (-6)
  THEN  (RWO  "iterated-classrel-iff"  (-6)  THENA  Auto)
  THEN  D  (-6)
  THEN  Unhide
  THEN  Auto)
Home
Index