Step * 1 2 2 1 1 1 1 of Lemma bag-decomp_wf


1. Type
2. b1 List
3. : ℕ||b1|| ⟶ ℕ||b1||
4. Inj(ℕ||b1||;ℕ||b1||;f)
5. : ℕ
6. i < ||b1||
⊢ remove-nth(upto(||b1||)[i];(b1 f)) remove-nth((upto(||b1||) f)[i];b1) ∈ (T × bag(T))
BY
(Unfold `remove-nth` THEN (Subst' (upto(||b1||) f)[i] THENM (RWW "select-upto" 0⋅ THEN Auto THEN EqCD))) }

1
.....equality..... 
1. Type
2. b1 List
3. : ℕ||b1|| ⟶ ℕ||b1||
4. Inj(ℕ||b1||;ℕ||b1||;f)
5. : ℕ
6. i < ||b1||
⊢ (upto(||b1||) f)[i] i

2
.....subterm..... T:t
1:n
1. Type
2. b1 List
3. : ℕ||b1|| ⟶ ℕ||b1||
4. Inj(ℕ||b1||;ℕ||b1||;f)
5. : ℕ
6. i < ||b1||
⊢ (b1 f)[i] b1[f i] ∈ T

3
.....subterm..... T:t
2:n
1. Type
2. b1 List
3. : ℕ||b1|| ⟶ ℕ||b1||
4. Inj(ℕ||b1||;ℕ||b1||;f)
5. : ℕ
6. i < ||b1||
⊢ (firstn(i;(b1 f)) nth_tl(i 1;(b1 f))) (firstn(f i;b1) nth_tl((f i) 1;b1)) ∈ bag(T)


Latex:


Latex:

1.  T  :  Type
2.  b1  :  T  List
3.  f  :  \mBbbN{}||b1||  {}\mrightarrow{}  \mBbbN{}||b1||
4.  Inj(\mBbbN{}||b1||;\mBbbN{}||b1||;f)
5.  i  :  \mBbbN{}
6.  i  <  ||b1||
\mvdash{}  remove-nth(upto(||b1||)[i];(b1  o  f))  =  remove-nth((upto(||b1||)  o  f)[i];b1)


By


Latex:
(Unfold  `remove-nth`  0
  THEN  (Subst'  (upto(||b1||)  o  f)[i]  \msim{}  f  i  0  THENM  (RWW  "select-upto"  0\mcdot{}  THEN  Auto  THEN  EqCD))
  )




Home Index