Step * 2 of Lemma insert-by-no-repeats


1. Type
2. eq T ⟶ T ⟶ 𝔹
3. T ⟶ T ⟶ 𝔹
4. ∀a,b:T.  (↑(eq b) ⇐⇒ b ∈ T)
5. Linorder(T;a,b.↑(r b))
6. T
7. T
8. List
9. (no_repeats(T;insert-by(eq;r;x;v))) supposing (no_repeats(T;v) and sorted-by(λx,y. (↑(r y));v))
⊢ (no_repeats(T;insert-by(eq;r;x;[u v]))) supposing (no_repeats(T;[u v]) and sorted-by(λx,y. (↑(r y));[u v]))
BY
(Unfold `insert-by` 0
   THEN Reduce 0
   THEN Try (Fold `insert-by` 0)
   THEN Auto
   THEN Repeat ((SplitOnConclITE THEN Auto))) }

1
1. Type
2. eq T ⟶ T ⟶ 𝔹
3. T ⟶ T ⟶ 𝔹
4. ∀a,b:T.  (↑(eq b) ⇐⇒ b ∈ T)
5. Linorder(T;a,b.↑(r b))
6. T
7. T
8. List
9. (no_repeats(T;insert-by(eq;r;x;v))) supposing (no_repeats(T;v) and sorted-by(λx,y. (↑(r y));v))
10. sorted-by(λx,y. (↑(r y));[u v])
11. no_repeats(T;[u v])
12. ¬↑(eq u)
13. ↑(r u)
14. no_repeats(T;[u v])
⊢ ¬(x ∈ [u v])

2
1. Type
2. eq T ⟶ T ⟶ 𝔹
3. T ⟶ T ⟶ 𝔹
4. ∀a,b:T.  (↑(eq b) ⇐⇒ b ∈ T)
5. Linorder(T;a,b.↑(r b))
6. T
7. T
8. List
9. (no_repeats(T;insert-by(eq;r;x;v))) supposing (no_repeats(T;v) and sorted-by(λx,y. (↑(r y));v))
10. sorted-by(λx,y. (↑(r y));[u v])
11. no_repeats(T;[u v])
12. ¬↑(eq u)
13. ¬↑(r u)
⊢ no_repeats(T;insert-by(eq;r;x;v))

3
1. Type
2. eq T ⟶ T ⟶ 𝔹
3. T ⟶ T ⟶ 𝔹
4. ∀a,b:T.  (↑(eq b) ⇐⇒ b ∈ T)
5. Linorder(T;a,b.↑(r b))
6. T
7. T
8. List
9. (no_repeats(T;insert-by(eq;r;x;v))) supposing (no_repeats(T;v) and sorted-by(λx,y. (↑(r y));v))
10. sorted-by(λx,y. (↑(r y));[u v])
11. no_repeats(T;[u v])
12. ¬↑(eq u)
13. ¬↑(r u)
14. no_repeats(T;insert-by(eq;r;x;v))
⊢ ¬(u ∈ insert-by(eq;r;x;v))


Latex:


Latex:

1.  T  :  Type
2.  eq  :  T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbB{}
3.  r  :  T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbB{}
4.  \mforall{}a,b:T.    (\muparrow{}(eq  a  b)  \mLeftarrow{}{}\mRightarrow{}  a  =  b)
5.  Linorder(T;a,b.\muparrow{}(r  a  b))
6.  x  :  T
7.  u  :  T
8.  v  :  T  List
9.  (no\_repeats(T;insert-by(eq;r;x;v)))  supposing  (no\_repeats(T;v)  and  sorted-by(\mlambda{}x,y.  (\muparrow{}(r  x  y));v))
\mvdash{}  (no\_repeats(T;insert-by(eq;r;x;[u  /  v])))  supposing 
          (no\_repeats(T;[u  /  v])  and 
          sorted-by(\mlambda{}x,y.  (\muparrow{}(r  x  y));[u  /  v]))


By


Latex:
(Unfold  `insert-by`  0
  THEN  Reduce  0
  THEN  Try  (Fold  `insert-by`  0)
  THEN  Auto
  THEN  Repeat  ((SplitOnConclITE  THEN  Auto)))




Home Index