Step * of Lemma member-insert-combine

T:Type. ∀cmp:comparison(T). ∀f:T ⟶ T ⟶ T. ∀x,z:T. ∀v:T List.
  ((z ∈ insert-combine(cmp;f;x;v))  ((z ∈ v) ∨ (z x ∈ T) ∨ (∃y∈v. ((cmp y) 0 ∈ ℤ) ∧ (z (f y) ∈ T))))
BY
(InductionOnList THEN RepUR ``insert-combine`` THEN Try (Fold `insert-combine` 0)) }

1
1. Type
2. cmp comparison(T)
3. T ⟶ T ⟶ T
4. T
5. T
⊢ (z ∈ [x])  ((z ∈ []) ∨ (z x ∈ T) ∨ (∃y∈[]. ((cmp y) 0 ∈ ℤ) ∧ (z (f y) ∈ T)))

2
1. Type
2. cmp comparison(T)
3. T ⟶ T ⟶ T
4. T
5. T
6. T
7. List
8. (z ∈ insert-combine(cmp;f;x;v))  ((z ∈ v) ∨ (z x ∈ T) ∨ (∃y∈v. ((cmp y) 0 ∈ ℤ) ∧ (z (f y) ∈ T)))
⊢ (z ∈ eval tst cmp in
       if (tst =z 0) then [f v]
       if 0 <tst then [x; [u v]]
       else [u insert-combine(cmp;f;x;v)]
       fi )
 ((z ∈ [u v]) ∨ (z x ∈ T) ∨ (∃y∈[u v]. ((cmp y) 0 ∈ ℤ) ∧ (z (f y) ∈ T)))


Latex:


Latex:
\mforall{}T:Type.  \mforall{}cmp:comparison(T).  \mforall{}f:T  {}\mrightarrow{}  T  {}\mrightarrow{}  T.  \mforall{}x,z:T.  \mforall{}v:T  List.
    ((z  \mmember{}  insert-combine(cmp;f;x;v))  {}\mRightarrow{}  ((z  \mmember{}  v)  \mvee{}  (z  =  x)  \mvee{}  (\mexists{}y\mmember{}v.  ((cmp  x  y)  =  0)  \mwedge{}  (z  =  (f  x  y)))))


By


Latex:
(InductionOnList  THEN  RepUR  ``insert-combine``  0  THEN  Try  (Fold  `insert-combine`  0))




Home Index