Step
*
1
1
4
1
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. x1 <a x
⊢ ([<x, y> / (ps ++ [<x1, y1> / qs])][k]) = (([<x, y> / ps][k]) * ([<x1, y1> / qs][k])) ∈ |b|
BY
{ RWNs [1;2] lookup_cons_prC 0 
THEN ((SplitOnConclITE ) THENA Auto) }
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. x1 <a x
16. x = k ∈ |a|
⊢ y = (y * ([<x1, y1> / qs][k])) ∈ |b|
2
.....falsecase..... 
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. x1 <a x
16. ¬(x = k ∈ |a|)
⊢ ((ps ++ [<x1, y1> / qs])[k]) = ((ps[k]) * ([<x1, y1> / qs][k])) ∈ |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.  x1  <a  x
\mvdash{}  ([<x,  y>  /  (ps  ++  [<x1,  y1>  /  qs])][k])  =  (([<x,  y>  /  ps][k])  *  ([<x1,  y1>  /  qs][k]))
By
Latex:
RWNs  [1;2]  lookup\_cons\_prC  0 
THEN  ((SplitOnConclITE  )  THENA  Auto)
Home
Index