Step
*
3
1
of Lemma
apply-alist-count-repeats
.....subterm..... T:t
1:n
1. T : Type
2. eq : EqDecider(T)
3. x : T
4. ys : T List@i
5. ¬(x ∈ ys)
6. y : T@i
7. (x ∈ ys @ [y])
8. 0 < ||filter(λy.(eq y x);ys @ [y])||
9. apply-alist(eq;count-repeats(ys,eq);x) = (inr ⋅ ) ∈ (ℕ+?)
10. y = x ∈ T
⊢ 1 = (||filter(λy.(eq y x);ys)|| + 1) ∈ ℕ+
BY
{ (Subst ⌜filter(λy.(eq y x);ys) ~ []⌝ 0⋅
   THEN Reduce 0
   THEN Auto
   THEN BLemma `filter_is_nil`
   THEN Auto
   THEN Reduce 0
   THEN BLemma `l_all_iff`
   THEN Auto
   THEN ParallelOp 5
   THEN RW assert_pushdownC (-1)
   THEN Auto)⋅ }
Latex:
Latex:
.....subterm.....  T:t
1:n
1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  x  :  T
4.  ys  :  T  List@i
5.  \mneg{}(x  \mmember{}  ys)
6.  y  :  T@i
7.  (x  \mmember{}  ys  @  [y])
8.  0  <  ||filter(\mlambda{}y.(eq  y  x);ys  @  [y])||
9.  apply-alist(eq;count-repeats(ys,eq);x)  =  (inr  \mcdot{}  )
10.  y  =  x
\mvdash{}  1  =  (||filter(\mlambda{}y.(eq  y  x);ys)||  +  1)
By
Latex:
(Subst  \mkleeneopen{}filter(\mlambda{}y.(eq  y  x);ys)  \msim{}  []\mkleeneclose{}  0\mcdot{}
  THEN  Reduce  0
  THEN  Auto
  THEN  BLemma  `filter\_is\_nil`
  THEN  Auto
  THEN  Reduce  0
  THEN  BLemma  `l\_all\_iff`
  THEN  Auto
  THEN  ParallelOp  5
  THEN  RW  assert\_pushdownC  (-1)
  THEN  Auto)\mcdot{}
Home
Index