Step
*
1
1
4
3
of Lemma
lookup_merge
1. a : LOSet
2. b : AbDMon
3. k : |a|
4. ps : |oal(a;b)|
5. x : |a|
6. y : |b|
7. ↑before(x;map(λx.(fst(x));ps))
8. ¬(y = e ∈ |b|)
9. qs : |oal(a;b)|
10. x1 : |a|
11. y1 : |b|
12. ↑before(x1;map(λx.(fst(x));qs))
13. ¬(y1 = e ∈ |b|)
14. ∀us,vs:|oal(a;b)|.
      (||us|| + ||vs|| < ||[<x, y> / ps]|| + ||[<x1, y1> / qs]|| 
⇒ (((us ++ vs)[k]) = ((us[k]) * (vs[k])) ∈ |b|))
15. x ≤ x1
16. x1 ≤ x
17. (y * y1) = e ∈ |b|
⊢ ((ps ++ qs)[k]) = (([<x, y> / ps][k]) * ([<x1, y1> / qs][k])) ∈ |b|
BY
{ ((RWH lookup_cons_prC 0 
THEN RepeatM (SplitOnConclITE THENM Try RelRST)) THEN (Try CompleteAuto)) }
1
.....truecase..... 
1. a : LOSet
2. b : AbDMon
3. k : |a|
4. ps : |oal(a;b)|
5. x : |a|
6. y : |b|
7. ↑before(x;map(λx.(fst(x));ps))
8. ¬(y = e ∈ |b|)
9. qs : |oal(a;b)|
10. x1 : |a|
11. y1 : |b|
12. ↑before(x1;map(λx.(fst(x));qs))
13. ¬(y1 = e ∈ |b|)
14. ∀us,vs:|oal(a;b)|.
      (||us|| + ||vs|| < ||[<x, y> / ps]|| + ||[<x1, y1> / qs]|| 
⇒ (((us ++ vs)[k]) = ((us[k]) * (vs[k])) ∈ |b|))
15. x ≤ x1
16. x1 ≤ x
17. (y * y1) = e ∈ |b|
18. x = k ∈ |a|
19. x1 = k ∈ |a|
⊢ ((ps ++ qs)[k]) = (y * y1) ∈ |b|
Latex:
Latex:
1.  a  :  LOSet
2.  b  :  AbDMon
3.  k  :  |a|
4.  ps  :  |oal(a;b)|
5.  x  :  |a|
6.  y  :  |b|
7.  \muparrow{}before(x;map(\mlambda{}x.(fst(x));ps))
8.  \mneg{}(y  =  e)
9.  qs  :  |oal(a;b)|
10.  x1  :  |a|
11.  y1  :  |b|
12.  \muparrow{}before(x1;map(\mlambda{}x.(fst(x));qs))
13.  \mneg{}(y1  =  e)
14.  \mforall{}us,vs:|oal(a;b)|.
            (||us||  +  ||vs||  <  ||[<x,  y>  /  ps]||  +  ||[<x1,  y1>  /  qs]||
            {}\mRightarrow{}  (((us  ++  vs)[k])  =  ((us[k])  *  (vs[k]))))
15.  x  \mleq{}  x1
16.  x1  \mleq{}  x
17.  (y  *  y1)  =  e
\mvdash{}  ((ps  ++  qs)[k])  =  (([<x,  y>  /  ps][k])  *  ([<x1,  y1>  /  qs][k]))
By
Latex:
((RWH  lookup\_cons\_prC  0 
THEN  RepeatM  (SplitOnConclITE  THENM  Try  RelRST))  THEN  (Try  CompleteAuto))
Home
Index