Step * of Lemma concat-lifting2-loc_wf

[A,B,C:Type]. ∀[f:Id ⟶ A ⟶ B ⟶ bag(C)]. ∀[abag:bag(A)]. ∀[bbag:bag(B)]. ∀[l:Id].
  (concat-lifting2-loc(f;abag;bbag;l) ∈ bag(C))
BY
(ProveWfLemma
   THEN InstLemma `concat-lifting-loc_wf` [⌜C⌝; ⌜2⌝; ⌜λn.[A; B][n]⌝; ⌜λn.[abag; bbag][n]⌝; ⌜l⌝; ⌜f⌝]⋅
   THEN Try (Complete (Auto))
   THEN Try (Complete (((MemCD THENA Auto) THEN IntSegCases (-1) THEN Reduce THEN Auto)))
   THEN Unfold `funtype` 0⋅
   THEN Repeat (((RWO "primrec-unroll" THENM Reduce 0) THEN Auto))) }


Latex:


Latex:
\mforall{}[A,B,C:Type].  \mforall{}[f:Id  {}\mrightarrow{}  A  {}\mrightarrow{}  B  {}\mrightarrow{}  bag(C)].  \mforall{}[abag:bag(A)].  \mforall{}[bbag:bag(B)].  \mforall{}[l:Id].
    (concat-lifting2-loc(f;abag;bbag;l)  \mmember{}  bag(C))


By


Latex:
(ProveWfLemma
  THEN  InstLemma  `concat-lifting-loc\_wf`  [\mkleeneopen{}C\mkleeneclose{};  \mkleeneopen{}2\mkleeneclose{};  \mkleeneopen{}\mlambda{}n.[A;  B][n]\mkleeneclose{};  \mkleeneopen{}\mlambda{}n.[abag;  bbag][n]\mkleeneclose{};  \mkleeneopen{}l\mkleeneclose{};  \mkleeneopen{}f\mkleeneclose{}]\mcdot{}
  THEN  Try  (Complete  (Auto))
  THEN  Try  (Complete  (((MemCD  THENA  Auto)  THEN  IntSegCases  (-1)  THEN  Reduce  0  THEN  Auto)))
  THEN  Unfold  `funtype`  0\mcdot{}
  THEN  Repeat  (((RWO  "primrec-unroll"  0  THENM  Reduce  0)  THEN  Auto)))




Home Index