Step * 1 1 2 of Lemma bag-member-map


1. Type
2. Type
3. U
4. T ⟶ U
5. T
6. 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`` 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`` THEN Auto))
   THEN SquashExRepD'') }

1
1. Type
2. Type
3. U
4. T ⟶ U
5. T
6. 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. Type
2. Type
3. U
4. T ⟶ U
5. T
6. 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