Step
*
1
of Lemma
sub-bag-union-of-list
1. T : Type
2. x : bag(T)
3. bs : bag(T) List
4. i : ℕ
5. i < ||bs||
6. x = bs[i] ∈ bag(T)
⊢ bag-union(bs) = (bs[i] + bag-union(firstn(i;bs)) + bag-union(nth_tl(i + 1;bs))) ∈ bag(T)
BY
{ (InstLemma `firstn_nth_tl_decomp` [⌜bag(T)⌝;⌜bs⌝;⌜i⌝]⋅ THENA Auto) }
1
1. T : Type
2. x : bag(T)
3. bs : bag(T) List
4. i : ℕ
5. i < ||bs||
6. x = bs[i] ∈ bag(T)
7. bs ~ firstn(i;bs) @ [bs[i]] @ nth_tl(1 + i;bs)
⊢ bag-union(bs) = (bs[i] + bag-union(firstn(i;bs)) + bag-union(nth_tl(i + 1;bs))) ∈ bag(T)
Latex:
Latex:
1.  T  :  Type
2.  x  :  bag(T)
3.  bs  :  bag(T)  List
4.  i  :  \mBbbN{}
5.  i  <  ||bs||
6.  x  =  bs[i]
\mvdash{}  bag-union(bs)  =  (bs[i]  +  bag-union(firstn(i;bs))  +  bag-union(nth\_tl(i  +  1;bs)))
By
Latex:
(InstLemma  `firstn\_nth\_tl\_decomp`  [\mkleeneopen{}bag(T)\mkleeneclose{};\mkleeneopen{}bs\mkleeneclose{};\mkleeneopen{}i\mkleeneclose{}]\mcdot{}  THENA  Auto)
Home
Index