Step * of Lemma bag-count-drop-trivial

[T:Type]. ∀eq:EqDecider(T). ∀[x,y:T]. ∀[bs:bag(T)].  (#y in bag-drop(eq;bs;x)) (#y in bs) ∈ ℕ supposing ¬(x y ∈ T)
BY
xxx(Auto
      THEN Unfold `bag-drop` 0
      THEN (InstLemma `bag-remove1-property` [⌜T⌝;⌜eq⌝;⌜x⌝;⌜bs⌝]⋅ THENA Auto)
      THEN -1
      THEN ExRepD
      THEN ((HypSubst' (-1) THEN Reduce 0) THENA (D -1 THEN Reduce THEN Auto))
      THEN Auto
      THEN (HypSubst' (-2) THEN Auto)
      THEN RWO "bag-count-append" 0
      THEN Auto
      THEN Subst' (#y in {x}) 0
      THEN Auto)xxx }

1
1. Type
2. eq EqDecider(T)
3. T
4. T
5. bs bag(T)
6. ¬(x y ∈ T)
7. as bag(T)
8. bs ({x} as) ∈ bag(T)
9. bag-remove1(eq;bs;x) (inl as) ∈ (bag(T)?)
⊢ (#y in {x}) 0 ∈ ℕ


Latex:


Latex:
\mforall{}[T:Type]
    \mforall{}eq:EqDecider(T)
        \mforall{}[x,y:T].  \mforall{}[bs:bag(T)].    (\#y  in  bag-drop(eq;bs;x))  =  (\#y  in  bs)  supposing  \mneg{}(x  =  y)


By


Latex:
xxx(Auto
        THEN  Unfold  `bag-drop`  0
        THEN  (InstLemma  `bag-remove1-property`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}eq\mkleeneclose{};\mkleeneopen{}x\mkleeneclose{};\mkleeneopen{}bs\mkleeneclose{}]\mcdot{}  THENA  Auto)
        THEN  D  -1
        THEN  ExRepD
        THEN  ((HypSubst'  (-1)  0  THEN  Reduce  0)  THENA  (D  -1  THEN  Reduce  0  THEN  Auto))
        THEN  Auto
        THEN  (HypSubst'  (-2)  0  THEN  Auto)
        THEN  RWO  "bag-count-append"  0
        THEN  Auto
        THEN  Subst'  (\#y  in  \{x\})  \msim{}  0  0
        THEN  Auto)xxx




Home Index