Step * of Lemma loop-class-memory-prior-eq

[Info,B:Type]. ∀[X:EClass(B ⟶ B)]. ∀[init:Id ⟶ bag(B)]. ∀[es:EO+(Info)]. ∀[e:E].
  (Prior(loop-class-memory(X;init))?init(e)
  if first(e) then init loc(e) else loop-class-memory(X;init)(pred(e)) fi 
  ∈ bag(B))
BY
(Auto
   THEN MoveToConcl (-1)
   THEN CausalInd'
   THEN AutoSplit
   THEN (RWO "primed-class-opt-cases2" THENA (Try (Complete (Auto)) THEN DoSubsume THEN Auto))
   THEN RepeatFor (AutoSplit)
   THEN (Assert ⌜¬0 < #(loop-class-memory(X;init)(pred(e)))⌝⋅ THENA Auto')
   THEN (RWO "loop-class-memory-size<(-1) THENA Auto)
   THEN (Assert ⌜↑(#(loop-class-memory(X;init)(pred(e))) =z 0)⌝⋅ THENA (RW assert_pushdownC THEN Auto'))
   THEN (RWO "null-bag-size<(-1) THENA Auto)
   THEN (RWO "assert-bag-null" (-1) THENA Auto)
   THEN (HypSubst' (-1) THENA Auto)
   THEN (BLemma `assert-bag-null` THENA Auto)
   THEN (RWO "null-bag-size" THENA Auto)
   THEN (RW assert_pushdownC THENA Auto)
   THEN SupposeNot
   THEN (-3)
   THEN Using [`X',⌜X⌝(BLemma `loop-class-memory-size-prior`)⋅
   THEN Auto') }


Latex:


Latex:
\mforall{}[Info,B:Type].  \mforall{}[X:EClass(B  {}\mrightarrow{}  B)].  \mforall{}[init:Id  {}\mrightarrow{}  bag(B)].  \mforall{}[es:EO+(Info)].  \mforall{}[e:E].
    (Prior(loop-class-memory(X;init))?init(e)
    =  if  first(e)  then  init  loc(e)  else  loop-class-memory(X;init)(pred(e))  fi  )


By


Latex:
(Auto
  THEN  MoveToConcl  (-1)
  THEN  CausalInd'
  THEN  AutoSplit
  THEN  (RWO  "primed-class-opt-cases2"  0  THENA  (Try  (Complete  (Auto))  THEN  DoSubsume  THEN  Auto))
  THEN  RepeatFor  2  (AutoSplit)
  THEN  (Assert  \mkleeneopen{}\mneg{}0  <  \#(loop-class-memory(X;init)(pred(e)))\mkleeneclose{}\mcdot{}  THENA  Auto')
  THEN  (RWO  "loop-class-memory-size<"  (-1)  THENA  Auto)
  THEN  (Assert  \mkleeneopen{}\muparrow{}(\#(loop-class-memory(X;init)(pred(e)))  =\msubz{}  0)\mkleeneclose{}\mcdot{}
              THENA  (RW  assert\_pushdownC  0  THEN  Auto')
              )
  THEN  (RWO  "null-bag-size<"  (-1)  THENA  Auto)
  THEN  (RWO  "assert-bag-null"  (-1)  THENA  Auto)
  THEN  (HypSubst'  (-1)  0  THENA  Auto)
  THEN  (BLemma  `assert-bag-null`  THENA  Auto)
  THEN  (RWO  "null-bag-size"  0  THENA  Auto)
  THEN  (RW  assert\_pushdownC  0  THENA  Auto)
  THEN  SupposeNot
  THEN  D  (-3)
  THEN  Using  [`X',\mkleeneopen{}X\mkleeneclose{}]  (BLemma  `loop-class-memory-size-prior`)\mcdot{}
  THEN  Auto')




Home Index