Step * 2 3 1 of Lemma st-lookup-property


1. [T] Id ─→ Type
2. : ℕ@i
3. t2 : ℕ@i
4. t3 : ℕK ─→ (Atom1 × ℕ Atom1 × data(T))@i
5. Atom1@i
6. : ℕ@i
7. mu(λn.(t2 <n ∨bK ≤n ∨bfst((t3 n)) =a1 x)) v ∈ ℕ@i
8. (↑(t2 <v ∨bK ≤v ∨bfst((t3 v)) =a1 x)) ∧ (∀[i:ℕ]. ¬↑(t2 <i ∨bK ≤i ∨bfst((t3 i)) =a1 x) supposing i < v)
⊢ ↑isl(let in
           if t2 <n ∨bK ≤then inr ⋅  else inl (snd((t3 n))) fi )
⇐⇒ ∃n:ℕK. ((n ≤ t2) ∧ ((fst((t3 n))) x ∈ Atom1))
BY
(((RepUR ``let`` THEN SplitOnConclITE) THENA Auto) THEN RepUR ``isl bfalse`` THEN Auto THEN ExRepD) }

1
1. Id ─→ Type
2. : ℕ@i
3. t2 : ℕ@i
4. t3 : ℕK ─→ (Atom1 × ℕ Atom1 × data(T))@i
5. Atom1@i
6. : ℕ@i
7. mu(λn.(t2 <n ∨bK ≤n ∨bfst((t3 n)) =a1 x)) v ∈ ℕ@i
8. ↑(t2 <v ∨bK ≤v ∨bfst((t3 v)) =a1 x)
9. ∀[i:ℕ]. ¬↑(t2 <i ∨bK ≤i ∨bfst((t3 i)) =a1 x) supposing i < v
10. t2 < v ∨ (K ≤ v)
11. : ℕK@i
12. n ≤ t2@i
13. (fst((t3 n))) x ∈ Atom1@i
⊢ False

2
1. [T] Id ─→ Type
2. : ℕ@i
3. t2 : ℕ@i
4. t3 : ℕK ─→ (Atom1 × ℕ Atom1 × data(T))@i
5. Atom1@i
6. : ℕ@i
7. mu(λn.(t2 <n ∨bK ≤n ∨bfst((t3 n)) =a1 x)) v ∈ ℕ@i
8. ↑(t2 <v ∨bK ≤v ∨bfst((t3 v)) =a1 x)
9. ∀[i:ℕ]. ¬↑(t2 <i ∨bK ≤i ∨bfst((t3 i)) =a1 x) supposing i < v
10. v ≤ t2
11. v < K
12. True@i
⊢ ∃n:ℕK. ((n ≤ t2) ∧ ((fst((t3 n))) x ∈ Atom1))


Latex:



1.  [T]  :  Id  {}\mrightarrow{}  Type
2.  K  :  \mBbbN{}@i
3.  t2  :  \mBbbN{}@i
4.  t3  :  \mBbbN{}K  {}\mrightarrow{}  (Atom1  \mtimes{}  \mBbbN{}  +  Atom1  \mtimes{}  data(T))@i
5.  x  :  Atom1@i
6.  v  :  \mBbbN{}@i
7.  mu(\mlambda{}n.(t2  <z  n  \mvee{}\msubb{}K  \mleq{}z  n  \mvee{}\msubb{}fst((t3  n))  =a1  x))  =  v@i
8.  (\muparrow{}(t2  <z  v  \mvee{}\msubb{}K  \mleq{}z  v  \mvee{}\msubb{}fst((t3  v))  =a1  x))
\mwedge{}  (\mforall{}[i:\mBbbN{}].  \mneg{}\muparrow{}(t2  <z  i  \mvee{}\msubb{}K  \mleq{}z  i  \mvee{}\msubb{}fst((t3  i))  =a1  x)  supposing  i  <  v)
\mvdash{}  \muparrow{}isl(let  n  =  v  in
                      if  t2  <z  n  \mvee{}\msubb{}K  \mleq{}z  n  then  inr  \mcdot{}    else  inl  (snd((t3  n)))  fi  )
\mLeftarrow{}{}\mRightarrow{}  \mexists{}n:\mBbbN{}K.  ((n  \mleq{}  t2)  \mwedge{}  ((fst((t3  n)))  =  x))


By

(((RepUR  ``let``  0  THEN  SplitOnConclITE)  THENA  Auto)
  THEN  RepUR  ``isl  bfalse``  0
  THEN  Auto
  THEN  ExRepD)




Home Index