Step * of Lemma bag-remove1-property1

[T:Type]
  ∀eq:EqDecider(T). ∀x:T. ∀L:T List.
    ((∃as,bs:T List. ((L ((as [x]) bs) ∈ (T List)) ∧ (bag-remove1(eq;L;x) (inl (rev(as) bs)) ∈ (T List?))))
    ∨ ((¬(x ∈ L)) ∧ (bag-remove1(eq;L;x) (inr ⋅ ) ∈ (T List?))))
BY
xxx(xxxInstLemma `bag_remove1_aux_property` []xxx
      THEN RepeatFor (ParallelLast')
      THEN (InstHyp [⌜[]⌝(-1)⋅ THENA Auto)
      THEN Unfold `bag-remove1` 0
      THEN RepeatFor (ParallelLast)
      THEN RWO "append-nil" (-1)
      THEN Auto)xxx }


Latex:


Latex:
\mforall{}[T:Type]
    \mforall{}eq:EqDecider(T).  \mforall{}x:T.  \mforall{}L:T  List.
        ((\mexists{}as,bs:T  List.  ((L  =  ((as  @  [x])  @  bs))  \mwedge{}  (bag-remove1(eq;L;x)  =  (inl  (rev(as)  @  bs)))))
        \mvee{}  ((\mneg{}(x  \mmember{}  L))  \mwedge{}  (bag-remove1(eq;L;x)  =  (inr  \mcdot{}  ))))


By


Latex:
xxx(xxxInstLemma  `bag\_remove1\_aux\_property`  []xxx
        THEN  RepeatFor  4  (ParallelLast')
        THEN  (InstHyp  [\mkleeneopen{}[]\mkleeneclose{}]  (-1)\mcdot{}  THENA  Auto)
        THEN  Unfold  `bag-remove1`  0
        THEN  RepeatFor  4  (ParallelLast)
        THEN  RWO  "append-nil"  (-1)
        THEN  Auto)xxx




Home Index