Step
*
2
of Lemma
remove_leading_property
1. [T] : Type
2. u : T
3. v : T List
4. ∀P:T ⟶ 𝔹. ∃xs:{x:T| ↑P[x]} List. (v = (xs @ remove_leading(x.P[x];v)) ∈ (T List))
5. P : T ⟶ 𝔹
⊢ ∃xs:{x:T| ↑P[x]} List. ([u / v] = (xs @ remove_leading(x.P[x];[u / v])) ∈ (T List))
BY
{ (Unfold `remove_leading` 0 THEN Reduce 0 THEN Fold `remove_leading` 0 THEN AutoSplit)⋅ }
1
1. [T] : Type
2. u : T
3. v : T List
4. ∀P:T ⟶ 𝔹. ∃xs:{x:T| ↑P[x]} List. (v = (xs @ remove_leading(x.P[x];v)) ∈ (T List))
5. P : T ⟶ 𝔹
6. ↑P[u]
⊢ ∃xs:{x:T| ↑P[x]} List. ([u / v] = (xs @ remove_leading(h.P[h];v)) ∈ (T List))
2
1. [T] : Type
2. u : T
3. v : T List
4. ∀P:T ⟶ 𝔹. ∃xs:{x:T| ↑P[x]} List. (v = (xs @ remove_leading(x.P[x];v)) ∈ (T List))
5. P : T ⟶ 𝔹
6. ¬↑P[u]
⊢ ∃xs:{x:T| ↑P[x]} List. ([u / v] = (xs @ [u / v]) ∈ (T List))
Latex:
Latex:
1. [T] : Type
2. u : T
3. v : T List
4. \mforall{}P:T {}\mrightarrow{} \mBbbB{}. \mexists{}xs:\{x:T| \muparrow{}P[x]\} List. (v = (xs @ remove\_leading(x.P[x];v)))
5. P : T {}\mrightarrow{} \mBbbB{}
\mvdash{} \mexists{}xs:\{x:T| \muparrow{}P[x]\} List. ([u / v] = (xs @ remove\_leading(x.P[x];[u / v])))
By
Latex:
(Unfold `remove\_leading` 0 THEN Reduce 0 THEN Fold `remove\_leading` 0 THEN AutoSplit)\mcdot{}
Home
Index