Step
*
1
1
of Lemma
process-ordered-message_wf
1. M : Type
2. n : ℕ
3. L : {L:({n + 1...} × M) List| sorted-by(λx,y. fst(x) < fst(y);L)} 
4. k1 : ℕ
5. k2 : M
6. n < k1
7. v : ({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
BY
{ (DVar `t1' THEN All Reduce THEN Try ((D -3 THENA Complete (Auto))) THEN Auto) }
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
7.  v  :  (\{n  +  1...\}  \mtimes{}  M)  List@i
8.  sorted-by(\mlambda{}x,y.  fst(x)  <  fst(y);v)@i
9.  insert-ordered-message(L;<k1,  k2>)  =  v@i
10.  t1  :  (\{n...\}  \mtimes{}  M)  List
11.  n1  :  \{n...\}
12.  t3  :  (\{n1  +  1...\}  \mtimes{}  M)  List
13.  sorted-by(\mlambda{}x,y.  fst(x)  <  fst(y);t3)
14.  0  <  ||t1||  {}\mRightarrow{}  ((k1  =  n)  \mwedge{}  (hd(t1)  =  <k1,  k2>))
15.  (n  =  k1)  {}\mRightarrow{}  ([<k1,  k2>  /  L]  =  (t1  @  t3))
16.  n  <  k1
\mvdash{}  t1  \mmember{}  (\{n  +  1...\}  \mtimes{}  M)  List
By
Latex:
(DVar  `t1'  THEN  All  Reduce  THEN  Try  ((D  -3  THENA  Complete  (Auto)))  THEN  Auto)
Home
Index