Step * of Lemma apply-alist-count-repeats

[T:Type]. ∀[eq:EqDecider(T)]. ∀[x:T]. ∀[L:T List].
  (apply-alist(eq;count-repeats(L,eq);x) if x ∈b then inl ||filter(λy.(eq x);L)|| else inr ⋅  fi  ∈ (ℕ+?))
BY
(Auto THEN MoveToConcl (-1) THEN (BLemma `last_induction` THENA Try (Complete (Auto)))) }

1
.....wf..... 
1. Type
2. eq EqDecider(T)
3. T
⊢ λL.(apply-alist(eq;count-repeats(L,eq);x) if x ∈b then inl ||filter(λy.(eq x);L)|| else inr ⋅  fi  ∈ (ℕ+?))
  ∈ (T List) ⟶ ℙ

2
1. Type
2. eq EqDecider(T)
3. T
⊢ apply-alist(eq;count-repeats([],eq);x) if x ∈b [] then inl ||filter(λy.(eq x);[])|| else inr ⋅  fi  ∈ (ℕ+?)

3
1. Type
2. eq EqDecider(T)
3. T
⊢ ∀ys:T List. ∀y:T.
    ((apply-alist(eq;count-repeats(ys,eq);x) if x ∈b ys then inl ||filter(λy.(eq x);ys)|| else inr ⋅  fi  ∈ (ℕ+?))
     (apply-alist(eq;count-repeats(ys [y],eq);x)
       if x ∈b ys [y] then inl ||filter(λy.(eq x);ys [y])|| else inr ⋅  fi 
       ∈ (ℕ+?)))


Latex:


Latex:
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[x:T].  \mforall{}[L:T  List].
    (apply-alist(eq;count-repeats(L,eq);x)
    =  if  x  \mmember{}\msubb{}  L  then  inl  ||filter(\mlambda{}y.(eq  y  x);L)||  else  inr  \mcdot{}    fi  )


By


Latex:
(Auto  THEN  MoveToConcl  (-1)  THEN  (BLemma  `last\_induction`  THENA  Try  (Complete  (Auto))))




Home Index