Step
*
1
2
2
2
1
of Lemma
omega_step_measure
.....equality..... 
1. n : ℕ
2. eqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List
3. ¬(eqs = [] ∈ ({L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List))
4. ineqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List
5. 0 < dim(inl <eqs, ineqs>)
6. ¬(n = 0 ∈ ℤ)
7. first-success(λL.find-exact-eq-constraint(L);eqs) ∈ i:ℕ||eqs||
   × x:{x:ℤ List| x = eqs[i] ∈ (ℤ List)} 
   × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} ?
8. y : Unit
9. first-success(λL.find-exact-eq-constraint(L);eqs)
= (inr y )
∈ (i:ℕ||eqs|| × x:{x:ℤ List| x = eqs[i] ∈ (ℤ List)}  × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} ?)
10. LL : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List
11. ((eager-map(λeq.eager-map(λx.(-x);eq);eqs) @ eqs) @ ineqs) = LL ∈ ({L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List)
⊢ dim(inl <[], LL>) ~ dim(inl <eqs, ineqs>)
BY
{ TACTIC:(RWO "eager-map-is-map" (-1) THENA Auto) }
1
1. n : ℕ
2. eqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List
3. ¬(eqs = [] ∈ ({L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List))
4. ineqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List
5. 0 < dim(inl <eqs, ineqs>)
6. ¬(n = 0 ∈ ℤ)
7. first-success(λL.find-exact-eq-constraint(L);eqs) ∈ i:ℕ||eqs||
   × x:{x:ℤ List| x = eqs[i] ∈ (ℤ List)} 
   × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} ?
8. y : Unit
9. first-success(λL.find-exact-eq-constraint(L);eqs)
= (inr y )
∈ (i:ℕ||eqs|| × x:{x:ℤ List| x = eqs[i] ∈ (ℤ List)}  × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} ?)
10. LL : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List
11. ((eager-map(λeq.eager-map(λx.(-x);eq);eqs) @ eqs) @ ineqs) = LL ∈ ({L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List)
⊢ value-type(ℤ List)
2
1. n : ℕ
2. eqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List
3. ¬(eqs = [] ∈ ({L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List))
4. ineqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List
5. 0 < dim(inl <eqs, ineqs>)
6. ¬(n = 0 ∈ ℤ)
7. first-success(λL.find-exact-eq-constraint(L);eqs) ∈ i:ℕ||eqs||
   × x:{x:ℤ List| x = eqs[i] ∈ (ℤ List)} 
   × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} ?
8. y : Unit
9. first-success(λL.find-exact-eq-constraint(L);eqs)
= (inr y )
∈ (i:ℕ||eqs|| × x:{x:ℤ List| x = eqs[i] ∈ (ℤ List)}  × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} ?)
10. LL : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List
11. ((map(λeq.eager-map(λx.(-x);eq);eqs) @ eqs) @ ineqs) = LL ∈ ({L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List)
⊢ dim(inl <[], LL>) ~ dim(inl <eqs, ineqs>)
Latex:
Latex:
.....equality..... 
1.  n  :  \mBbbN{}
2.  eqs  :  \{L:\mBbbZ{}  List|  ||L||  =  (n  +  1)\}    List
3.  \mneg{}(eqs  =  [])
4.  ineqs  :  \{L:\mBbbZ{}  List|  ||L||  =  (n  +  1)\}    List
5.  0  <  dim(inl  <eqs,  ineqs>)
6.  \mneg{}(n  =  0)
7.  first-success(\mlambda{}L.find-exact-eq-constraint(L);eqs)  \mmember{}  i:\mBbbN{}||eqs||
      \mtimes{}  x:\{x:\mBbbZ{}  List|  x  =  eqs[i]\} 
      \mtimes{}  \{i@0:\mBbbN{}\msupplus{}||eqs[i]|||  |eqs[i][i@0]|  =  1\}  ?
8.  y  :  Unit
9.  first-success(\mlambda{}L.find-exact-eq-constraint(L);eqs)  =  (inr  y  )
10.  LL  :  \{L:\mBbbZ{}  List|  ||L||  =  (n  +  1)\}    List
11.  ((eager-map(\mlambda{}eq.eager-map(\mlambda{}x.(-x);eq);eqs)  @  eqs)  @  ineqs)  =  LL
\mvdash{}  dim(inl  <[],  LL>)  \msim{}  dim(inl  <eqs,  ineqs>)
By
Latex:
TACTIC:(RWO  "eager-map-is-map"  (-1)  THENA  Auto)
Home
Index