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