Step
*
2
1
of Lemma
merge-int-comm
1. T : Type
2. T ⊆r ℤ
3. u : T
4. v : T List
5. ∀[bs:T List]. merge-int(v;bs) = merge-int(bs;v) ∈ (T List) supposing sorted(v) ∧ sorted(bs)
6. bs : T List
7. sorted([u / v])
8. sorted(bs)
9. sorted(v)
⊢ merge-int([u / v];bs) = insert-int(u;merge-int(v;bs)) ∈ (T List)
BY
{ (Thin (-2) THEN ListInd (-3) THEN Unfold `merge-int` 0 THEN Reduce 0 THEN Try (Fold  `merge-int` 0)) }
1
1. T : Type
2. T ⊆r ℤ
3. u : T
4. v : T List
5. ∀[bs:T List]. merge-int(v;bs) = merge-int(bs;v) ∈ (T List) supposing sorted(v) ∧ sorted(bs)
6. sorted([u / v])
7. sorted(v)
⊢ [u / v] = insert-int(u;v) ∈ (T List)
2
1. T : Type
2. T ⊆r ℤ
3. u : T
4. v : T List
5. ∀[bs:T List]. merge-int(v;bs) = merge-int(bs;v) ∈ (T List) supposing sorted(v) ∧ sorted(bs)
6. sorted([u / v])
7. sorted(v)
8. u1 : T
9. v1 : T List
10. merge-int([u / v];v1) = insert-int(u;merge-int(v;v1)) ∈ (T List)
⊢ insert-int(u1;merge-int([u / v];v1)) = insert-int(u;insert-int(u1;merge-int(v;v1))) ∈ (T List)
Latex:
Latex:
1.  T  :  Type
2.  T  \msubseteq{}r  \mBbbZ{}
3.  u  :  T
4.  v  :  T  List
5.  \mforall{}[bs:T  List].  merge-int(v;bs)  =  merge-int(bs;v)  supposing  sorted(v)  \mwedge{}  sorted(bs)
6.  bs  :  T  List
7.  sorted([u  /  v])
8.  sorted(bs)
9.  sorted(v)
\mvdash{}  merge-int([u  /  v];bs)  =  insert-int(u;merge-int(v;bs))
By
Latex:
(Thin  (-2)  THEN  ListInd  (-3)  THEN  Unfold  `merge-int`  0  THEN  Reduce  0  THEN  Try  (Fold    `merge-int`  0))
Home
Index