Step * of Lemma mapfilter-no-rep-fun

[T,U,V:Type]. ∀[eq:EqDecider(U)]. ∀[L:T List]. ∀[u:U]. ∀[f:T ⟶ U]. ∀[g:{x:{x:T| (x ∈ L)} | ↑(eq f[x] u)}  ⟶ V].
  ||mapfilter(g;λx.(eq f[x] u);L)|| ≤ supposing no_repeats(U;map(f;L))
BY
((UnivCD THENA Auto)
   THEN (Assert ⌜||mapfilter(g;λx.(eq f[x] u);L)|| ∈ ℤ⌝⋅
         THENA (Using [`A',⌜V⌝(BLemma `length_wf`)⋅
                THEN Try (Complete (Auto))
                THEN BLemma `mapfilter-wf`
                THEN Auto
                THEN DoSubsume
                THEN Auto)
         )
   THEN Auto
   THEN (SupposeNot THEN Auto)
   THEN (Assert ⌜False⌝⋅ THEN Auto)
   THEN Assert ⌜2 ≤ ||mapfilter(g;λx.(eq f[x] u);L)||⌝⋅
   THEN Auto
   THEN Thin (-2)) }

1
1. Type
2. Type
3. Type
4. eq EqDecider(U)
5. List
6. U
7. T ⟶ U
8. {x:{x:T| (x ∈ L)} | ↑(eq f[x] u)}  ⟶ V
9. no_repeats(U;map(f;L))
10. ||mapfilter(g;λx.(eq f[x] u);L)|| ∈ ℤ
11. 2 ≤ ||mapfilter(g;λx.(eq f[x] u);L)||
⊢ False


Latex:


Latex:
\mforall{}[T,U,V:Type].  \mforall{}[eq:EqDecider(U)].  \mforall{}[L:T  List].  \mforall{}[u:U].  \mforall{}[f:T  {}\mrightarrow{}  U].  \mforall{}[g:\{x:\{x:T|  (x  \mmember{}  L)\}  | 
                                                                                                                                                    \muparrow{}(eq  f[x]  u)\}    {}\mrightarrow{}  V].
    ||mapfilter(g;\mlambda{}x.(eq  f[x]  u);L)||  \mleq{}  1  supposing  no\_repeats(U;map(f;L))


By


Latex:
((UnivCD  THENA  Auto)
  THEN  (Assert  \mkleeneopen{}||mapfilter(g;\mlambda{}x.(eq  f[x]  u);L)||  \mmember{}  \mBbbZ{}\mkleeneclose{}\mcdot{}
              THENA  (Using  [`A',\mkleeneopen{}V\mkleeneclose{}]  (BLemma  `length\_wf`)\mcdot{}
                            THEN  Try  (Complete  (Auto))
                            THEN  BLemma  `mapfilter-wf`
                            THEN  Auto
                            THEN  DoSubsume
                            THEN  Auto)
              )
  THEN  Auto
  THEN  (SupposeNot  THEN  Auto)
  THEN  (Assert  \mkleeneopen{}False\mkleeneclose{}\mcdot{}  THEN  Auto)
  THEN  Assert  \mkleeneopen{}2  \mleq{}  ||mapfilter(g;\mlambda{}x.(eq  f[x]  u);L)||\mkleeneclose{}\mcdot{}
  THEN  Auto
  THEN  Thin  (-2))




Home Index