Step
*
1
1
1
of Lemma
oal_merge_sd_ordered
1. a : LOSet
2. b : AbDMon
3. qk : |a|
4. qv : |b|
5. ps' : (|a| × |b|) List
6. pk : |a|
7. pv : |b|
8. qs' : (|a| × |b|) List
9. ∀us,vs:(|a| × |b|) List.
     (||us|| + ||vs|| < ||[<qk, qv> / ps']|| + ||[<pk, pv> / qs']||
     
⇒ (↑sd_ordered(map(λx.(fst(x));us)))
     
⇒ (↑sd_ordered(map(λx.(fst(x));vs)))
     
⇒ (↑sd_ordered(map(λx.(fst(x));us ++ vs))))
10. ↑sd_ordered(map(λx.(fst(x));[<qk, qv> / ps']))
11. ↑sd_ordered(map(λx.(fst(x));[<pk, pv> / qs']))
⊢ ↑sd_ordered(map(λx.(fst(x));[<qk, qv> / ps'] ++ [<pk, pv> / qs']))
BY
{ % Here switch to more tractable alternate characterization 
  for sd_ordered, but take care to preserve unreduced 
  sd_ordered hyps for satisfying later IH preconditions % 
((OnMHyps [11;10] CopyToEnd 
THEN OnMCls [0;-1;-2] (RWH (LemmaC `sd_ordered_char`)) ) THENA Auto) }
1
1. a : LOSet
2. b : AbDMon
3. qk : |a|
4. qv : |b|
5. ps' : (|a| × |b|) List
6. pk : |a|
7. pv : |b|
8. qs' : (|a| × |b|) List
9. ∀us,vs:(|a| × |b|) List.
     (||us|| + ||vs|| < ||[<qk, qv> / ps']|| + ||[<pk, pv> / qs']||
     
⇒ (↑sd_ordered(map(λx.(fst(x));us)))
     
⇒ (↑sd_ordered(map(λx.(fst(x));vs)))
     
⇒ (↑sd_ordered(map(λx.(fst(x));us ++ vs))))
10. ↑sd_ordered(map(λx.(fst(x));[<qk, qv> / ps']))
11. ↑sd_ordered(map(λx.(fst(x));[<pk, pv> / qs']))
12. ↑(HTFor{<𝔹,∧b>} v::vs ∈ map(λx.(fst(x));[<pk, pv> / qs']). ∀bw(:|a|) ∈ vs
                                                                  (w <b v))
13. ↑(HTFor{<𝔹,∧b>} v::vs ∈ map(λx.(fst(x));[<qk, qv> / ps']). ∀bw(:|a|) ∈ vs
                                                                  (w <b v))
⊢ ↑(HTFor{<𝔹,∧b>} v::vs ∈ map(λx.(fst(x));[<qk, qv> / ps'] ++ [<pk, pv> / qs']). ∀bw(:|a|) ∈ vs
                                                                                    (w <b v))
Latex:
Latex:
1.  a  :  LOSet
2.  b  :  AbDMon
3.  qk  :  |a|
4.  qv  :  |b|
5.  ps'  :  (|a|  \mtimes{}  |b|)  List
6.  pk  :  |a|
7.  pv  :  |b|
8.  qs'  :  (|a|  \mtimes{}  |b|)  List
9.  \mforall{}us,vs:(|a|  \mtimes{}  |b|)  List.
          (||us||  +  ||vs||  <  ||[<qk,  qv>  /  ps']||  +  ||[<pk,  pv>  /  qs']||
          {}\mRightarrow{}  (\muparrow{}sd\_ordered(map(\mlambda{}x.(fst(x));us)))
          {}\mRightarrow{}  (\muparrow{}sd\_ordered(map(\mlambda{}x.(fst(x));vs)))
          {}\mRightarrow{}  (\muparrow{}sd\_ordered(map(\mlambda{}x.(fst(x));us  ++  vs))))
10.  \muparrow{}sd\_ordered(map(\mlambda{}x.(fst(x));[<qk,  qv>  /  ps']))
11.  \muparrow{}sd\_ordered(map(\mlambda{}x.(fst(x));[<pk,  pv>  /  qs']))
\mvdash{}  \muparrow{}sd\_ordered(map(\mlambda{}x.(fst(x));[<qk,  qv>  /  ps']  ++  [<pk,  pv>  /  qs']))
By
Latex:
\%  Here  switch  to  more  tractable  alternate  characterization 
    for  sd\_ordered,  but  take  care  to  preserve  unreduced 
    sd\_ordered  hyps  for  satisfying  later  IH  preconditions  \% 
((OnMHyps  [11;10]  CopyToEnd 
THEN  OnMCls  [0;-1;-2]  (RWH  (LemmaC  `sd\_ordered\_char`))  )  THENA  Auto)
Home
Index