Step * of Lemma no_repeats-remove-first

[T:Type]. ∀[L:T List]. ∀[P:{x:T| (x ∈ L)}  ⟶ 𝔹].  no_repeats(T;remove-first(P;L)) supposing no_repeats(T;L)
BY
((UnivCD THENA Auto)
   THEN All (Unfold `no_repeats`)
   THEN Auto
   THEN (D THENA Auto)
   THEN (-2)
   THEN (InstLemma `select-remove-first` [⌜T⌝;⌜L⌝;⌜P⌝]⋅ THENA Auto)
   THEN (InstHyp [⌜i⌝(-1)⋅ THENA Auto)
   THEN (InstHyp [⌜j⌝(-2)⋅ THENA Auto)
   THEN Thin (-3)
   THEN Auto
   THEN (InstLemma `length-remove-first-le` [⌜T⌝;⌜L⌝;⌜P⌝]⋅ THENA Auto)
   THEN (Assert ⌜Dec(∀j:ℕ1. (¬↑(P L[j])))⌝⋅ THENA Auto)
   THEN (Assert ⌜Dec(∀j:ℕ1. (¬↑(P L[j])))⌝⋅ THENA Auto)) }

1
1. Type
2. List
3. {x:T| (x ∈ L)}  ⟶ 𝔹
4. ∀[i,j:ℕ].  (L[i] L[j] ∈ T)) supposing ((¬(i j ∈ ℕ)) and j < ||L|| and i < ||L||)
5. : ℕ
6. : ℕ
7. i < ||remove-first(P;L)||
8. j < ||remove-first(P;L)||
9. remove-first(P;L)[i] remove-first(P;L)[j] ∈ T
10. remove-first(P;L)[i] L[i] supposing ∀j:ℕ1. (¬↑(P L[j]))
11. remove-first(P;L)[i] L[i 1] supposing ∃j:ℕ1. (↑(P L[j]))
12. remove-first(P;L)[j] L[j] supposing ∀j:ℕ1. (¬↑(P L[j]))
13. remove-first(P;L)[j] L[j 1] supposing ∃j:ℕ1. (↑(P L[j]))
14. ||remove-first(P;L)|| ≤ ||L||
15. Dec(∀j:ℕ1. (¬↑(P L[j])))
16. Dec(∀j:ℕ1. (¬↑(P L[j])))
⊢ j ∈ ℕ


Latex:


Latex:
\mforall{}[T:Type].  \mforall{}[L:T  List].  \mforall{}[P:\{x:T|  (x  \mmember{}  L)\}    {}\mrightarrow{}  \mBbbB{}].
    no\_repeats(T;remove-first(P;L))  supposing  no\_repeats(T;L)


By


Latex:
((UnivCD  THENA  Auto)
  THEN  All  (Unfold  `no\_repeats`)
  THEN  Auto
  THEN  (D  0  THENA  Auto)
  THEN  D  (-2)
  THEN  (InstLemma  `select-remove-first`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}L\mkleeneclose{};\mkleeneopen{}P\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  (InstHyp  [\mkleeneopen{}i\mkleeneclose{}]  (-1)\mcdot{}  THENA  Auto)
  THEN  (InstHyp  [\mkleeneopen{}j\mkleeneclose{}]  (-2)\mcdot{}  THENA  Auto)
  THEN  Thin  (-3)
  THEN  Auto
  THEN  (InstLemma  `length-remove-first-le`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}L\mkleeneclose{};\mkleeneopen{}P\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  (Assert  \mkleeneopen{}Dec(\mforall{}j:\mBbbN{}i  +  1.  (\mneg{}\muparrow{}(P  L[j])))\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  (Assert  \mkleeneopen{}Dec(\mforall{}j:\mBbbN{}j  +  1.  (\mneg{}\muparrow{}(P  L[j])))\mkleeneclose{}\mcdot{}  THENA  Auto))




Home Index