Step
*
1
of Lemma
bag-val_wf
.....subterm..... T:t
1:n
1. T : Type
2. + : T ⟶ T ⟶ T
3. zero : T
4. Comm(T;+)
5. Assoc(T;+)
6. Ident(T;+;zero)
7. b : bag(T)
⊢ accumulate (with value v and list item x):
   v + x
  over list:
    b
  with starting value:
   zero) ∈ T
BY
{ (BagD (-1) THEN Auto THEN (FLemma `permutation-length` [-1] THENA Auto) THEN Decide 0 < ||as|| THEN Auto) }
1
1. T : Type
2. + : T ⟶ T ⟶ T
3. zero : T
4. Comm(T;+)
5. Assoc(T;+)
6. Ident(T;+;zero)
7. as : T List
8. bs : T List
9. permutation(T;as;bs)
10. ||as|| = ||bs|| ∈ ℤ
11. 0 < ||as||
⊢ accumulate (with value v and list item x):
   v + x
  over list:
    as
  with starting value:
   zero)
= accumulate (with value v and list item x):
   v + x
  over list:
    bs
  with starting value:
   zero)
∈ T
2
1. T : Type
2. + : T ⟶ T ⟶ T
3. zero : T
4. Comm(T;+)
5. Assoc(T;+)
6. Ident(T;+;zero)
7. as : T List
8. bs : T List
9. permutation(T;as;bs)
10. ||as|| = ||bs|| ∈ ℤ
11. ¬0 < ||as||
⊢ accumulate (with value v and list item x):
   v + x
  over list:
    as
  with starting value:
   zero)
= accumulate (with value v and list item x):
   v + x
  over list:
    bs
  with starting value:
   zero)
∈ T
Latex:
Latex:
.....subterm.....  T:t
1:n
1.  T  :  Type
2.  +  :  T  {}\mrightarrow{}  T  {}\mrightarrow{}  T
3.  zero  :  T
4.  Comm(T;+)
5.  Assoc(T;+)
6.  Ident(T;+;zero)
7.  b  :  bag(T)
\mvdash{}  accumulate  (with  value  v  and  list  item  x):
      v  +  x
    over  list:
        b
    with  starting  value:
      zero)  \mmember{}  T
By
Latex:
(BagD  (-1)
  THEN  Auto
  THEN  (FLemma  `permutation-length`  [-1]  THENA  Auto)
  THEN  Decide  0  <  ||as||
  THEN  Auto)
Home
Index