Step * 1 of Lemma process-ordered-message_wf


1. Type
2. : ℕ
3. {L:({n 1...} × M) List| sorted-by(λx,y. fst(x) < fst(y);L)} 
4. k1 : ℕ
5. k2 M
6. n < k1
⊢ eval L' eval_list(insert-ordered-message(L;<k1, k2>)) in
  <[], n, L'> ∈ {tr:({n...} × M) List × n:{n...} × (({n 1...} × M) List)| 
                 let out,n',L' tr in 
                 sorted-by(λx,y. fst(x) < fst(y);L')
                 ∧ (0 < ||out||  ((k1 n ∈ ℤ) ∧ (hd(out) = <k1, k2> ∈ (ℕ × M))))
                 ∧ ((n k1 ∈ ℤ ([<k1, k2> L] (out L') ∈ (({n...} × M) List)))
                 ∧ (n < k1  (insert-ordered-message(L;<k1, k2>(out L') ∈ (({n 1...} × M) List)))
                 ∧ (k1 <  ((↑null(out)) ∧ (L' L ∈ (({n 1...} × M) List))))} 
BY
((RWO "eval_list_sq" THENA Auto)
   THEN Auto
   THEN (GenConclTerm ⌈insert-ordered-message(L;<k1, k2>)⌉⋅ THENA Auto)
   THEN -2
   THEN At ⌈Type⌉ MemTypeCD⋅
   THEN Reduce 0
   THEN Auto) }

1
1. Type
2. : ℕ
3. {L:({n 1...} × M) List| sorted-by(λx,y. fst(x) < fst(y);L)} 
4. k1 : ℕ
5. k2 M
6. n < k1
7. ({n 1...} × M) List@i
8. sorted-by(λx,y. fst(x) < fst(y);v)@i
9. insert-ordered-message(L;<k1, k2>v ∈ {L:({n 1...} × M) List| sorted-by(λx,y. fst(x) < fst(y);L)} @i
10. t1 ({n...} × M) List
11. n1 {n...}
12. t3 ({n1 1...} × M) List
13. sorted-by(λx,y. fst(x) < fst(y);t3)
14. 0 < ||t1||  ((k1 n ∈ ℤ) ∧ (hd(t1) = <k1, k2> ∈ (ℕ × M)))
15. (n k1 ∈ ℤ ([<k1, k2> L] (t1 t3) ∈ (({n...} × M) List))
16. n < k1
⊢ t1 ∈ ({n 1...} × M) List


Latex:



Latex:

1.  M  :  Type
2.  n  :  \mBbbN{}
3.  L  :  \{L:(\{n  +  1...\}  \mtimes{}  M)  List|  sorted-by(\mlambda{}x,y.  fst(x)  <  fst(y);L)\} 
4.  k1  :  \mBbbN{}
5.  k2  :  M
6.  n  <  k1
\mvdash{}  eval  L'  =  eval\_list(insert-ordered-message(L;<k1,  k2>))  in
    <[],  n,  L'>  \mmember{}  \{tr:(\{n...\}  \mtimes{}  M)  List  \mtimes{}  n:\{n...\}  \mtimes{}  ((\{n  +  1...\}  \mtimes{}  M)  List)| 
                                  let  out,n',L'  =  tr  in 
                                  sorted-by(\mlambda{}x,y.  fst(x)  <  fst(y);L')
                                  \mwedge{}  (0  <  ||out||  {}\mRightarrow{}  ((k1  =  n)  \mwedge{}  (hd(out)  =  <k1,  k2>)))
                                  \mwedge{}  ((n  =  k1)  {}\mRightarrow{}  ([<k1,  k2>  /  L]  =  (out  @  L')))
                                  \mwedge{}  (n  <  k1  {}\mRightarrow{}  (insert-ordered-message(L;<k1,  k2>)  =  (out  @  L')))
                                  \mwedge{}  (k1  <  n  {}\mRightarrow{}  ((\muparrow{}null(out))  \mwedge{}  (L'  =  L)))\} 


By


Latex:
((RWO  "eval\_list\_sq"  0  THENA  Auto)
  THEN  Auto
  THEN  (GenConclTerm  \mkleeneopen{}insert-ordered-message(L;<k1,  k2>)\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  D  -2
  THEN  At  \mkleeneopen{}Type\mkleeneclose{}  MemTypeCD\mcdot{}
  THEN  Reduce  0
  THEN  Auto)




Home Index