Step * 2 2 of Lemma remove-repeats-length-no-repeats-iff


1. Type
2. eq EqDecider(T)
3. T
4. List
5. (||remove-repeats(eq;v)|| ||v|| ∈ ℤ no_repeats(T;v)
⊢ (||remove-repeats(eq;[u v])|| ||[u v]|| ∈ ℤ no_repeats(T;[u v])
BY
(Auto
   THEN OnMaybeHyp (\h. ((Subst ⌜[u v] [u] v⌝ h⋅ THENA (Reduce THEN Auto))
                           THEN (RWO "remove-repeats-append" THENA Auto)
                           THEN (RWO "length-append" h⋅ THENA Auto)
                           THEN Reduce h))
   THEN (InstLemma `remove-repeats-append-one-member` [⌜T⌝; ⌜eq⌝; ⌜v⌝; ⌜u⌝]⋅ THENA Auto)⋅
   THEN -1
   THEN Auto
   THEN (InstLemma `remove-repeats-set-equal` [⌜T⌝; ⌜eq⌝; ⌜remove-repeats(eq;v)⌝; ⌜v⌝]⋅ THENA Auto)⋅
   THEN (InstLemma `remove-repeats-length-leq` [⌜T⌝; ⌜eq⌝; ⌜v⌝]⋅ THEN Auto)⋅}


Latex:


Latex:

1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  u  :  T
4.  v  :  T  List
5.  (||remove-repeats(eq;v)||  =  ||v||)  {}\mRightarrow{}  no\_repeats(T;v)
\mvdash{}  (||remove-repeats(eq;[u  /  v])||  =  ||[u  /  v]||)  {}\mRightarrow{}  no\_repeats(T;[u  /  v])


By


Latex:
(Auto
  THEN  OnMaybeHyp  7  (\mbackslash{}h.  ((Subst  \mkleeneopen{}[u  /  v]  \msim{}  [u]  @  v\mkleeneclose{}  h\mcdot{}  THENA  (Reduce  0  THEN  Auto))
                                                  THEN  (RWO  "remove-repeats-append"  h  THENA  Auto)
                                                  THEN  (RWO  "length-append"  h\mcdot{}  THENA  Auto)
                                                  THEN  Reduce  h))
  THEN  (InstLemma  `remove-repeats-append-one-member`  [\mkleeneopen{}T\mkleeneclose{};  \mkleeneopen{}eq\mkleeneclose{};  \mkleeneopen{}v\mkleeneclose{};  \mkleeneopen{}u\mkleeneclose{}]\mcdot{}  THENA  Auto)\mcdot{}
  THEN  D  -1
  THEN  Auto
  THEN  (InstLemma  `remove-repeats-set-equal`  [\mkleeneopen{}T\mkleeneclose{};  \mkleeneopen{}eq\mkleeneclose{};  \mkleeneopen{}remove-repeats(eq;v)\mkleeneclose{};  \mkleeneopen{}v\mkleeneclose{}]\mcdot{}  THENA  Auto)\mcdot{}
  THEN  (InstLemma  `remove-repeats-length-leq`  [\mkleeneopen{}T\mkleeneclose{};  \mkleeneopen{}eq\mkleeneclose{};  \mkleeneopen{}v\mkleeneclose{}]\mcdot{}  THEN  Auto)\mcdot{})




Home Index