Step
*
2
1
2
of Lemma
last_index_property
1. T : Type
2. P : T ⟶ 𝔹
3. u : T
4. v : T List
5. (↑P[v[last_index(v;x.P[x]) - 1]]) ∧ (¬(∃x∈nth_tl(last_index(v;x.P[x]);v). ↑P[x])) supposing 0 < last_index(v;x.P[x])
6. ¬(∃x∈v. ↑P[x]) supposing last_index(v;x.P[x]) = 0 ∈ ℤ
7. last_index([u / v];x.P[x]) = if 0 <z last_index(v;x.P[x]) then 1 + last_index(v;x.P[x]) if P[u] then 1 else 0 fi  ∈ ℤ
8. 0 < last_index(v;x.P[x])
⊢ ¬(∃x∈[u / v]. ↑P[x]) supposing (1 + last_index(v;x.P[x])) = 0 ∈ ℤ
BY
{ TACTIC:Auto' }
Latex:
Latex:
1.  T  :  Type
2.  P  :  T  {}\mrightarrow{}  \mBbbB{}
3.  u  :  T
4.  v  :  T  List
5.  (\muparrow{}P[v[last\_index(v;x.P[x])  -  1]])  \mwedge{}  (\mneg{}(\mexists{}x\mmember{}nth\_tl(last\_index(v;x.P[x]);v).  \muparrow{}P[x])) 
      supposing  0  <  last\_index(v;x.P[x])
6.  \mneg{}(\mexists{}x\mmember{}v.  \muparrow{}P[x])  supposing  last\_index(v;x.P[x])  =  0
7.  last\_index([u  /  v];x.P[x])
=  if  0  <z  last\_index(v;x.P[x])  then  1  +  last\_index(v;x.P[x])
    if  P[u]  then  1
    else  0
    fi 
8.  0  <  last\_index(v;x.P[x])
\mvdash{}  \mneg{}(\mexists{}x\mmember{}[u  /  v].  \muparrow{}P[x])  supposing  (1  +  last\_index(v;x.P[x]))  =  0
By
Latex:
TACTIC:Auto'
Home
Index