Step * 1 1 of Lemma fset-max_wf


1. Type
2. ∀x,y:T.  Dec(x y ∈ T)
3. T ⟶ ℕ
4. Base
5. s1 Base
6. s1 ∈ pertype(λx,y. ((x ∈ List) ∧ (y ∈ List) ∧ set-equal(T;x;y)))
7. s ∈ List
8. s1 ∈ List
9. set-equal(T;s;s1)
10. eq EqDecider(T)
⊢ accumulate (with value and list item y):
   imax(x;y)
  over list:
    map(f;s)
  with starting value:
   0)
accumulate (with value and list item y):
   imax(x;y)
  over list:
    map(f;s1)
  with starting value:
   0)
∈ ℕ
BY
(InstLemma `list_accum-set-equal-idemp`  [⌜T⌝;⌜eq⌝;⌜ℕ⌝;⌜f⌝;⌜λ2y.imax(x;y)⌝;⌜s⌝;⌜s1⌝;⌜0⌝]⋅ THENA Auto) }

1
.....antecedent..... 
1. Type
2. ∀x,y:T.  Dec(x y ∈ T)
3. T ⟶ ℕ
4. Base
5. s1 Base
6. s1 ∈ pertype(λx,y. ((x ∈ List) ∧ (y ∈ List) ∧ set-equal(T;x;y)))
7. s ∈ List
8. s1 ∈ List
9. set-equal(T;s;s1)
10. eq EqDecider(T)
⊢ Comm(ℕx,y. imax(x;y))

2
.....antecedent..... 
1. Type
2. ∀x,y:T.  Dec(x y ∈ T)
3. T ⟶ ℕ
4. Base
5. s1 Base
6. s1 ∈ pertype(λx,y. ((x ∈ List) ∧ (y ∈ List) ∧ set-equal(T;x;y)))
7. s ∈ List
8. s1 ∈ List
9. set-equal(T;s;s1)
10. eq EqDecider(T)
⊢ Assoc(ℕx,y. imax(x;y))

3
1. Type
2. ∀x,y:T.  Dec(x y ∈ T)
3. T ⟶ ℕ
4. Base
5. s1 Base
6. s1 ∈ pertype(λx,y. ((x ∈ List) ∧ (y ∈ List) ∧ set-equal(T;x;y)))
7. s ∈ List
8. s1 ∈ List
9. set-equal(T;s;s1)
10. eq EqDecider(T)
11. accumulate (with value and list item z):
     imax(a;f[z])
    over list:
      s
    with starting value:
     0)
accumulate (with value and list item z):
   imax(a;f[z])
  over list:
    s1
  with starting value:
   0)
∈ ℕ
⊢ accumulate (with value and list item y):
   imax(x;y)
  over list:
    map(f;s)
  with starting value:
   0)
accumulate (with value and list item y):
   imax(x;y)
  over list:
    map(f;s1)
  with starting value:
   0)
∈ ℕ


Latex:


Latex:

1.  T  :  Type
2.  \mforall{}x,y:T.    Dec(x  =  y)
3.  f  :  T  {}\mrightarrow{}  \mBbbN{}
4.  s  :  Base
5.  s1  :  Base
6.  s  =  s1
7.  s  \mmember{}  T  List
8.  s1  \mmember{}  T  List
9.  set-equal(T;s;s1)
10.  eq  :  EqDecider(T)
\mvdash{}  accumulate  (with  value  x  and  list  item  y):
      imax(x;y)
    over  list:
        map(f;s)
    with  starting  value:
      0)
=  accumulate  (with  value  x  and  list  item  y):
      imax(x;y)
    over  list:
        map(f;s1)
    with  starting  value:
      0)


By


Latex:
(InstLemma  `list\_accum-set-equal-idemp` 
  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}eq\mkleeneclose{};\mkleeneopen{}\mBbbN{}\mkleeneclose{};\mkleeneopen{}f\mkleeneclose{};\mkleeneopen{}\mlambda{}\msubtwo{}x  y.imax(x;y)\mkleeneclose{};\mkleeneopen{}s\mkleeneclose{};\mkleeneopen{}s1\mkleeneclose{};\mkleeneopen{}0\mkleeneclose{}]\mcdot{}
  THENA  Auto
  )




Home Index