Step
*
of Lemma
count-by-equiv
∀[A:Type]. ∀[E:A ⟶ A ⟶ ℙ].
  (EquivRel(A;x,y.E[x;y])
  
⇒ (∀L:A List. (∀a:A. (∃b∈L. E[a;b])) 
⇒ A ~ i:ℕ||L|| × {a:A| E[a;L[i]]}  supposing (∀a,b∈L.  ¬E[a;b])))
BY
{ (Auto
   THEN (RWO "l_exists_iff" (-1) THENA Auto)
   THEN (Skolemize (-1) `rep' THENA Auto)
   THEN (Assert ∀a:A. (rep a ∈ L) BY
               Auto)
   THEN Unfold `l_member` -1
   THEN Skolemize (-1) `f'
   THEN Auto
   THEN All (Unfold `cand`)
   THEN All (Fold `and`)) }
1
1. [A] : Type
2. [E] : A ⟶ A ⟶ ℙ
3. EquivRel(A;x,y.E[x;y])
4. L : A List
5. (∀a,b∈L.  ¬E[a;b])
6. ∀a:A. ∃b:A. ((b ∈ L) ∧ E[a;b])
7. rep : a:A ⟶ A
8. ∀a:A. ((rep a ∈ L) ∧ E[a;rep a])
9. ∀a:A. ∃i:ℕ. (i < ||L|| ∧ ((rep a) = L[i] ∈ A))
10. f : a:A ⟶ ℕ
11. ∀a:A. (f a < ||L|| ∧ ((rep a) = L[f a] ∈ A))
⊢ A ~ i:ℕ||L|| × {a:A| E[a;L[i]]} 
Latex:
Latex:
\mforall{}[A:Type].  \mforall{}[E:A  {}\mrightarrow{}  A  {}\mrightarrow{}  \mBbbP{}].
    (EquivRel(A;x,y.E[x;y])
    {}\mRightarrow{}  (\mforall{}L:A  List
                (\mforall{}a:A.  (\mexists{}b\mmember{}L.  E[a;b]))  {}\mRightarrow{}  A  \msim{}  i:\mBbbN{}||L||  \mtimes{}  \{a:A|  E[a;L[i]]\}    supposing  (\mforall{}a,b\mmember{}L.    \mneg{}E[a;b])))
By
Latex:
(Auto
  THEN  (RWO  "l\_exists\_iff"  (-1)  THENA  Auto)
  THEN  (Skolemize  (-1)  `rep'  THENA  Auto)
  THEN  (Assert  \mforall{}a:A.  (rep  a  \mmember{}  L)  BY
                          Auto)
  THEN  Unfold  `l\_member`  -1
  THEN  Skolemize  (-1)  `f'
  THEN  Auto
  THEN  All  (Unfold  `cand`)
  THEN  All  (Fold  `and`))
Home
Index