Step * 2 of Lemma int-decr-map-update_wf


1. Value Type
2. : ℤ
3. Value
4. : ℤ × Value
5. v1 (ℤ × Value) List
6. l-ordered(ℤ × Value;x,y.(fst(x)) > (fst(y));v1)@i
7. ∀y:ℤ × Value. ((y ∈ v1)  ((fst(u)) > (fst(y))))@i
8. int-decr-map-update(k;v;v1) ∈ int-decr-map-type(Value)
⊢ int-decr-map-update(k;v;[u v1]) ∈ int-decr-map-type(Value)
BY
(Unfold `int-decr-map-update` 0
   THEN (RW ListC THENA Auto)
   THEN Fold `int-decr-map-update` 0
   THEN RepUR ``int-minus-comparison`` 0
   THEN (CallByValueReduce THENA Auto)
   THEN Repeat (SimpleSplit)) }

1
1. Value Type
2. : ℤ
3. Value
4. : ℤ × Value
5. v1 (ℤ × Value) List
6. l-ordered(ℤ × Value;x,y.(fst(x)) > (fst(y));v1)@i
7. ∀y:ℤ × Value. ((y ∈ v1)  ((fst(u)) > (fst(y))))@i
8. int-decr-map-update(k;v;v1) ∈ int-decr-map-type(Value)
9. (k fst(u)) 0 ∈ ℤ
⊢ [<k, v> v1] ∈ int-decr-map-type(Value)

2
1. Value Type
2. : ℤ
3. Value
4. : ℤ × Value
5. v1 (ℤ × Value) List
6. l-ordered(ℤ × Value;x,y.(fst(x)) > (fst(y));v1)@i
7. ∀y:ℤ × Value. ((y ∈ v1)  ((fst(u)) > (fst(y))))@i
8. int-decr-map-update(k;v;v1) ∈ int-decr-map-type(Value)
9. fst(u) ≠ 0
10. 0 < fst(u)
⊢ [<k, v>[u v1]] ∈ int-decr-map-type(Value)

3
1. Value Type
2. : ℤ
3. Value
4. : ℤ × Value
5. v1 (ℤ × Value) List
6. l-ordered(ℤ × Value;x,y.(fst(x)) > (fst(y));v1)@i
7. ∀y:ℤ × Value. ((y ∈ v1)  ((fst(u)) > (fst(y))))@i
8. int-decr-map-update(k;v;v1) ∈ int-decr-map-type(Value)
9. fst(u) ≠ 0
10. ¬0 < fst(u)
⊢ [u int-decr-map-update(k;v;v1)] ∈ int-decr-map-type(Value)


Latex:



1.  Value  :  Type
2.  k  :  \mBbbZ{}
3.  v  :  Value
4.  u  :  \mBbbZ{}  \mtimes{}  Value
5.  v1  :  (\mBbbZ{}  \mtimes{}  Value)  List
6.  l-ordered(\mBbbZ{}  \mtimes{}  Value;x,y.(fst(x))  >  (fst(y));v1)@i
7.  \mforall{}y:\mBbbZ{}  \mtimes{}  Value.  ((y  \mmember{}  v1)  {}\mRightarrow{}  ((fst(u))  >  (fst(y))))@i
8.  int-decr-map-update(k;v;v1)  \mmember{}  int-decr-map-type(Value)
\mvdash{}  int-decr-map-update(k;v;[u  /  v1])  \mmember{}  int-decr-map-type(Value)


By

(Unfold  `int-decr-map-update`  0
  THEN  (RW  ListC  0  THENA  Auto)
  THEN  Fold  `int-decr-map-update`  0
  THEN  RepUR  ``int-minus-comparison``  0
  THEN  (CallByValueReduce  0  THENA  Auto)
  THEN  Repeat  (SimpleSplit))




Home Index