Step
*
1
1
2
of Lemma
list-decomp-no_repeats
1. T : Type
2. l1 : T List
3. l2 : T List
4. l3 : T List
5. l4 : T List
6. x : T
7. no_repeats(T;(l1 @ [x]) @ l2)
8. ((l1 @ [x]) @ l2) = ((l3 @ [x]) @ l4) ∈ (T List)
9. ((||l1|| + 1) + ||l2||) = ((||l3|| + 1) + ||l4||) ∈ ℤ
10. ∀i:ℕ(||l1|| + 1) + ||l2||. ((l1 @ [x]) @ l2[i] = (l3 @ [x]) @ l4[i] ∈ T)
11. ¬(||l1|| = ||l3|| ∈ ℤ)
12. x = (l3 @ [x]) @ l4[||l1||] ∈ T
13. ||l3|| < ||l1||
⊢ False
BY
{ ((RWO "select_append_back" (-2) THENA Auto')
   THEN (RWO "-6" (-7) THENA Auto)
   THEN Unfold `no_repeats` (-7)
   THEN (InstHyp [⌜||l1||⌝;⌜||l3||⌝] (-7)⋅ THENA Auto')
   THEN (RW (AddrC [1;2] (LemmaC `select_append_back`)) (-1)⋅ THENA Auto')
   THEN (RW (AddrC [1;3] (LemmaC `select_append_front`)) (-1)⋅ THENA Auto')
   THEN (RW (AddrC [1;3] (LemmaC `select_append_back`)) (-1)⋅ THENA Auto')
   THEN Subst' ⌜||l3|| - ||l3|| ~ 0⌝ (-1)⋅
   THEN Auto) }
Latex:
Latex:
1.  T  :  Type
2.  l1  :  T  List
3.  l2  :  T  List
4.  l3  :  T  List
5.  l4  :  T  List
6.  x  :  T
7.  no\_repeats(T;(l1  @  [x])  @  l2)
8.  ((l1  @  [x])  @  l2)  =  ((l3  @  [x])  @  l4)
9.  ((||l1||  +  1)  +  ||l2||)  =  ((||l3||  +  1)  +  ||l4||)
10.  \mforall{}i:\mBbbN{}(||l1||  +  1)  +  ||l2||.  ((l1  @  [x])  @  l2[i]  =  (l3  @  [x])  @  l4[i])
11.  \mneg{}(||l1||  =  ||l3||)
12.  x  =  (l3  @  [x])  @  l4[||l1||]
13.  ||l3||  <  ||l1||
\mvdash{}  False
By
Latex:
((RWO  "select\_append\_back"  (-2)  THENA  Auto')
  THEN  (RWO  "-6"  (-7)  THENA  Auto)
  THEN  Unfold  `no\_repeats`  (-7)
  THEN  (InstHyp  [\mkleeneopen{}||l1||\mkleeneclose{};\mkleeneopen{}||l3||\mkleeneclose{}]  (-7)\mcdot{}  THENA  Auto')
  THEN  (RW  (AddrC  [1;2]  (LemmaC  `select\_append\_back`))  (-1)\mcdot{}  THENA  Auto')
  THEN  (RW  (AddrC  [1;3]  (LemmaC  `select\_append\_front`))  (-1)\mcdot{}  THENA  Auto')
  THEN  (RW  (AddrC  [1;3]  (LemmaC  `select\_append\_back`))  (-1)\mcdot{}  THENA  Auto')
  THEN  Subst'  \mkleeneopen{}||l3||  -  ||l3||  \msim{}  0\mkleeneclose{}  (-1)\mcdot{}
  THEN  Auto)
Home
Index