Step
*
1
1
2
of Lemma
bag-member-map
1. T : Type
2. U : Type
3. x : U
4. f : T ⟶ U
5. u : T
6. v : T List
7. x ↓∈ bag-map(f;v) 
⇒ (↓∃v@0:T. (v@0 ↓∈ v ∧ (x = (f v@0) ∈ U)))
⊢ x ↓∈ bag-map(f;[u / v]) 
⇒ (↓∃v@0:T. (v@0 ↓∈ [u / v] ∧ (x = (f v@0) ∈ U)))
BY
{ (Auto
   THEN (Subst ⌜[u / v] ~ [u] @ v⌝ (-1)⋅ THENA (RepUR ``append`` 0 THEN Auto))
   THEN Try (Fold `single-bag` (-1))
   THEN Try (Fold `bag-append` (-1))
   THEN (RWO "bag-map-append" (-1) THENA Auto)
   THEN (RWO "bag-member-append" (-1) THENA Auto)
   THEN (Subst ⌜bag-map(f;{u}) ~ {f u}⌝ (-1)⋅ THENA (RepUR ``bag-map single-bag`` 0 THEN Auto))
   THEN SquashExRepD'') }
1
1. T : Type
2. U : Type
3. x : U
4. f : T ⟶ U
5. u : T
6. v : T List
7. x ↓∈ bag-map(f;v) 
⇒ (↓∃v@0:T. (v@0 ↓∈ v ∧ (x = (f v@0) ∈ U)))
8. x ↓∈ {f u}
⊢ ↓∃v@0:T. (v@0 ↓∈ [u / v] ∧ (x = (f v@0) ∈ U))
2
1. T : Type
2. U : Type
3. x : U
4. f : T ⟶ U
5. u : T
6. v : T List
7. x ↓∈ bag-map(f;v) 
⇒ (↓∃v@0:T. (v@0 ↓∈ v ∧ (x = (f v@0) ∈ U)))
8. x ↓∈ bag-map(f;v)
⊢ ↓∃v@0:T. (v@0 ↓∈ [u / v] ∧ (x = (f v@0) ∈ U))
Latex:
Latex:
1.  T  :  Type
2.  U  :  Type
3.  x  :  U
4.  f  :  T  {}\mrightarrow{}  U
5.  u  :  T
6.  v  :  T  List
7.  x  \mdownarrow{}\mmember{}  bag-map(f;v)  {}\mRightarrow{}  (\mdownarrow{}\mexists{}v@0:T.  (v@0  \mdownarrow{}\mmember{}  v  \mwedge{}  (x  =  (f  v@0))))
\mvdash{}  x  \mdownarrow{}\mmember{}  bag-map(f;[u  /  v])  {}\mRightarrow{}  (\mdownarrow{}\mexists{}v@0:T.  (v@0  \mdownarrow{}\mmember{}  [u  /  v]  \mwedge{}  (x  =  (f  v@0))))
By
Latex:
(Auto
  THEN  (Subst  \mkleeneopen{}[u  /  v]  \msim{}  [u]  @  v\mkleeneclose{}  (-1)\mcdot{}  THENA  (RepUR  ``append``  0  THEN  Auto))
  THEN  Try  (Fold  `single-bag`  (-1))
  THEN  Try  (Fold  `bag-append`  (-1))
  THEN  (RWO  "bag-map-append"  (-1)  THENA  Auto)
  THEN  (RWO  "bag-member-append"  (-1)  THENA  Auto)
  THEN  (Subst  \mkleeneopen{}bag-map(f;\{u\})  \msim{}  \{f  u\}\mkleeneclose{}  (-1)\mcdot{}  THENA  (RepUR  ``bag-map  single-bag``  0  THEN  Auto))
  THEN  SquashExRepD'')
Home
Index