Step * of Lemma es-local-pred-cases-sq

[Info:Type]
  ∀es:EO+(Info). ∀e:E. ∀P:{e':E| (e' <loc e)}  ⟶ 𝔹.
    (¬↑first(e))
    ∧ (((↑(P pred(e))) ∧ (do-apply(last(P);e) pred(e)))
      ∨ ((¬↑(P pred(e))) ∧ (↑can-apply(last(P);pred(e))) ∧ (do-apply(last(P);e) do-apply(last(P);pred(e))))) 
    supposing ↑can-apply(last(P);e)
BY
(RepeatFor ((D THENA Auto))
   THEN RepUR ``can-apply do-apply`` 0
   THEN (Subst' last(P) e.if first(e) then inr x.⋅)  if pred(e) then inl pred(e) else last(P) pred(e) fi 0
         THENL [(RW (AddrC [1] (RecUnfoldC `es-local-pred`)) 0⋅ THEN Auto); (Reduce 0⋅ THEN RepeatFor (AutoSplit))]
   )) }

1
1. [Info] Type
2. es EO+(Info)@i'
3. E@i
4. ¬↑first(e)
5. {e':E| (e' <loc e)}  ⟶ 𝔹@i
6. ¬↑(P pred(e))
⊢ False)
  ∧ ((False ∧ (outl(last(P) pred(e)) pred(e)))
    ∨ ((¬False) ∧ (↑isl(last(P) pred(e))) ∧ (outl(last(P) pred(e)) outl(last(P) pred(e))))) 
  supposing ↑isl(last(P) pred(e))


Latex:


Latex:
\mforall{}[Info:Type]
    \mforall{}es:EO+(Info).  \mforall{}e:E.  \mforall{}P:\{e':E|  (e'  <loc  e)\}    {}\mrightarrow{}  \mBbbB{}.
        (\mneg{}\muparrow{}first(e))
        \mwedge{}  (((\muparrow{}(P  pred(e)))  \mwedge{}  (do-apply(last(P);e)  \msim{}  pred(e)))
            \mvee{}  ((\mneg{}\muparrow{}(P  pred(e)))
                \mwedge{}  (\muparrow{}can-apply(last(P);pred(e)))
                \mwedge{}  (do-apply(last(P);e)  \msim{}  do-apply(last(P);pred(e))))) 
        supposing  \muparrow{}can-apply(last(P);e)


By


Latex:
(RepeatFor  4  ((D  0  THENA  Auto))
  THEN  RepUR  ``can-apply  do-apply``  0
  THEN  (Subst'  last(P)  e  \msim{}  (\mlambda{}e.if  first(e)  then  inr  (\mlambda{}x.\mcdot{}) 
                                                            if  P  pred(e)  then  inl  pred(e)
                                                            else  last(P)  pred(e)
                                                            fi  ) 
                                                    e  0
              THENL  [(RW  (AddrC  [1]  (RecUnfoldC  `es-local-pred`))  0\mcdot{}  THEN  Auto)
                          ;  (Reduce  0\mcdot{}  THEN  RepeatFor  2  (AutoSplit))]
  ))




Home Index