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