Step * 1 of Lemma member-count-repeats2


1. Type
2. eq EqDecider(T)
3. List
4. : ℕ||count-repeats(L,eq)||
5. v1 T
6. v2 : ℕ+
7. count-repeats(L,eq)[i] = <v1, v2> ∈ (T × ℕ+)
⊢ v2 ||filter(λy.(eq v1);L)|| ∈ ℤ
BY
((InstLemma  `apply-alist-count-repeats` [⌜T⌝;⌜eq⌝;⌜v1⌝;⌜L⌝]⋅ THENA Auto) THEN SplitOnHypITE -1  THEN Auto) }

1
.....truecase..... 
1. Type
2. eq EqDecider(T)
3. List
4. : ℕ||count-repeats(L,eq)||
5. v1 T
6. v2 : ℕ+
7. count-repeats(L,eq)[i] = <v1, v2> ∈ (T × ℕ+)
8. apply-alist(eq;count-repeats(L,eq);v1) (inl ||filter(λy.(eq v1);L)||) ∈ (ℕ+?)
9. (v1 ∈ L)
⊢ v2 ||filter(λy.(eq v1);L)|| ∈ ℤ

2
.....falsecase..... 
1. Type
2. eq EqDecider(T)
3. List
4. : ℕ||count-repeats(L,eq)||
5. v1 T
6. v2 : ℕ+
7. count-repeats(L,eq)[i] = <v1, v2> ∈ (T × ℕ+)
8. apply-alist(eq;count-repeats(L,eq);v1) (inr ⋅ ) ∈ (ℕ+?)
9. ¬(v1 ∈ L)
⊢ v2 ||filter(λy.(eq v1);L)|| ∈ ℤ


Latex:


Latex:

1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  L  :  T  List
4.  i  :  \mBbbN{}||count-repeats(L,eq)||
5.  v1  :  T
6.  v2  :  \mBbbN{}\msupplus{}
7.  count-repeats(L,eq)[i]  =  <v1,  v2>
\mvdash{}  v2  =  ||filter(\mlambda{}y.(eq  y  v1);L)||


By


Latex:
((InstLemma    `apply-alist-count-repeats`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}eq\mkleeneclose{};\mkleeneopen{}v1\mkleeneclose{};\mkleeneopen{}L\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  SplitOnHypITE  -1 
  THEN  Auto)




Home Index