Step
*
of Lemma
length-remove-first
∀[T:Type]
∀L:T List. ∀P:{x:T| (x ∈ L)} ⟶ 𝔹.
(((∀x∈L.¬↑(P x)) ∧ (remove-first(P;L) ~ L)) ∨ ((∃x∈L. ↑(P x)) ∧ (||remove-first(P;L)|| = (||L|| - 1) ∈ ℤ)))
BY
{ TACTIC:Assert ⌜∀[T:Type]
∀P:T ⟶ 𝔹. ∀L:T List.
(((∀x∈L.¬↑(P x)) ∧ (remove-first(P;L) ~ L))
∨ ((∃x∈L. ↑(P x)) ∧ (||remove-first(P;L)|| = (||L|| - 1) ∈ ℤ)))⌝⋅ }
1
.....assertion.....
∀[T:Type]
∀P:T ⟶ 𝔹. ∀L:T List.
(((∀x∈L.¬↑(P x)) ∧ (remove-first(P;L) ~ L)) ∨ ((∃x∈L. ↑(P x)) ∧ (||remove-first(P;L)|| = (||L|| - 1) ∈ ℤ)))
2
1. ∀[T:Type]
∀P:T ⟶ 𝔹. ∀L:T List.
(((∀x∈L.¬↑(P x)) ∧ (remove-first(P;L) ~ L)) ∨ ((∃x∈L. ↑(P x)) ∧ (||remove-first(P;L)|| = (||L|| - 1) ∈ ℤ)))
⊢ ∀[T:Type]
∀L:T List. ∀P:{x:T| (x ∈ L)} ⟶ 𝔹.
(((∀x∈L.¬↑(P x)) ∧ (remove-first(P;L) ~ L)) ∨ ((∃x∈L. ↑(P x)) ∧ (||remove-first(P;L)|| = (||L|| - 1) ∈ ℤ)))
Latex:
Latex:
\mforall{}[T:Type]
\mforall{}L:T List. \mforall{}P:\{x:T| (x \mmember{} L)\} {}\mrightarrow{} \mBbbB{}.
(((\mforall{}x\mmember{}L.\mneg{}\muparrow{}(P x)) \mwedge{} (remove-first(P;L) \msim{} L))
\mvee{} ((\mexists{}x\mmember{}L. \muparrow{}(P x)) \mwedge{} (||remove-first(P;L)|| = (||L|| - 1))))
By
Latex:
TACTIC:Assert \mkleeneopen{}\mforall{}[T:Type]
\mforall{}P:T {}\mrightarrow{} \mBbbB{}. \mforall{}L:T List.
(((\mforall{}x\mmember{}L.\mneg{}\muparrow{}(P x)) \mwedge{} (remove-first(P;L) \msim{} L))
\mvee{} ((\mexists{}x\mmember{}L. \muparrow{}(P x)) \mwedge{} (||remove-first(P;L)|| = (||L|| - 1))))\mkleeneclose{}\mcdot{}
Home
Index