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 0 THEN Auto)))
   THEN Unfold `funtype` 0⋅
   THEN Repeat (((RWO "primrec-unroll" 0 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