Step
*
of Lemma
bag-append-no-repeats1
∀[T:Type]. ∀[as,bs:bag(T)].
  bag-no-repeats(T;as + bs) supposing bag-no-repeats(T;as) ∧ bag-no-repeats(T;bs) ∧ (∀z:T. (z ↓∈ as 
⇒ (¬z ↓∈ bs)))
BY
{ (Auto
   THEN Unfold `bag-no-repeats` 0
   THEN Unhide
   THEN Auto
   THEN (BagToList 2 THEN Auto)
   THEN BagToList 3
   THEN Auto
   THEN Unfold `bag-append` 0
   THEN (D 0 THEN With ⌜as @ bs⌝ (D 0)⋅)
   THEN Auto) }
1
1. T : Type
2. as : T List
3. bs : T List
4. bag-no-repeats(T;as)
5. bag-no-repeats(T;bs)
6. ∀z@0:T. (z@0 ↓∈ as 
⇒ (¬z@0 ↓∈ bs))
7. (as @ bs) = (as @ bs) ∈ bag(T)
⊢ no_repeats(T;as @ bs)
Latex:
Latex:
\mforall{}[T:Type].  \mforall{}[as,bs:bag(T)].
    bag-no-repeats(T;as  +  bs) 
    supposing  bag-no-repeats(T;as)  \mwedge{}  bag-no-repeats(T;bs)  \mwedge{}  (\mforall{}z:T.  (z  \mdownarrow{}\mmember{}  as  {}\mRightarrow{}  (\mneg{}z  \mdownarrow{}\mmember{}  bs)))
By
Latex:
(Auto
  THEN  Unfold  `bag-no-repeats`  0
  THEN  Unhide
  THEN  Auto
  THEN  (BagToList  2  THEN  Auto)
  THEN  BagToList  3
  THEN  Auto
  THEN  Unfold  `bag-append`  0
  THEN  (D  0  THEN  With  \mkleeneopen{}as  @  bs\mkleeneclose{}  (D  0)\mcdot{})
  THEN  Auto)
Home
Index