Step
*
2
1
of Lemma
squash-list-exists
1. A : Type
2. B : Type
3. R : A ⟶ B ⟶ ℙ
4. u : A
5. v : A List
6. ∀i:ℕ||v|| + 1. (↓∃b:B. R[[u / v][i];b])
7. bs : B List
8. ||bs|| = ||v|| ∈ ℤ
9. ∀i:ℕ||v||. R[v[i];bs[i]]
10. b : B
11. R[u;b]
12. ||[b / bs]|| = (||v|| + 1) ∈ ℤ
13. i : ℕ||v|| + 1
⊢ R[[u / v][i];[b / bs][i]]
BY
{ (CaseNat 0 `i' THEN Reduce 0 THEN Auto THEN RWO "select_cons_tl" 0 THEN Auto) }
Latex:
Latex:
1.  A  :  Type
2.  B  :  Type
3.  R  :  A  {}\mrightarrow{}  B  {}\mrightarrow{}  \mBbbP{}
4.  u  :  A
5.  v  :  A  List
6.  \mforall{}i:\mBbbN{}||v||  +  1.  (\mdownarrow{}\mexists{}b:B.  R[[u  /  v][i];b])
7.  bs  :  B  List
8.  ||bs||  =  ||v||
9.  \mforall{}i:\mBbbN{}||v||.  R[v[i];bs[i]]
10.  b  :  B
11.  R[u;b]
12.  ||[b  /  bs]||  =  (||v||  +  1)
13.  i  :  \mBbbN{}||v||  +  1
\mvdash{}  R[[u  /  v][i];[b  /  bs][i]]
By
Latex:
(CaseNat  0  `i'  THEN  Reduce  0  THEN  Auto  THEN  RWO  "select\_cons\_tl"  0  THEN  Auto)
Home
Index