`∀[T:Type]. ∀L:T List. ∀P:T ⟶ 𝔹.  ∃xs:{x:T| ↑P[x]}  List. (L = (xs @ remove_leading(x.P[x];L)) ∈ (T List))`

Proof

Definitions occuring in Statement :  remove_leading: `remove_leading(a.P[a];L)` append: `as @ bs` list: `T List` assert: `↑b` bool: `𝔹` uall: `∀[x:A]. B[x]` so_apply: `x[s]` all: `∀x:A. B[x]` exists: `∃x:A. B[x]` set: `{x:A| B[x]} ` function: `x:A ⟶ B[x]` universe: `Type` equal: `s = t ∈ T`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` all: `∀x:A. B[x]` member: `t ∈ T` so_lambda: `λ2x.t[x]` so_apply: `x[s]` prop: `ℙ` subtype_rel: `A ⊆r B` uimplies: `b supposing a` implies: `P `` Q` top: `Top` or: `P ∨ Q` assert: `↑b` ifthenelse: `if b then t else f fi ` btrue: `tt` not: `¬A` true: `True` false: `False` cons: `[a / b]` bfalse: `ff` guard: `{T}` nat: `ℕ` le: `A ≤ B` and: `P ∧ Q` decidable: `Dec(P)` iff: `P `⇐⇒` Q` rev_implies: `P `` Q` uiff: `uiff(P;Q)` subtract: `n - m` less_than': `less_than'(a;b)` listp: `A List+` remove_leading: `remove_leading(a.P[a];L)` so_lambda: `so_lambda(x,y,z.t[x; y; z])` so_apply: `x[s1;s2;s3]` exists: `∃x:A. B[x]` bool: `𝔹` unit: `Unit` it: `⋅` sq_type: `SQType(T)` bnot: `¬bb` append: `as @ bs` squash: `↓T`
Lemmas referenced :  list_induction all_wf bool_wf exists_wf list_wf assert_wf equal_wf append_wf subtype_rel_list remove_leading_wf not_wf null_wf3 top_wf hd_wf listp_properties list-cases length_of_nil_lemma null_nil_lemma product_subtype_list length_of_cons_lemma null_cons_lemma length_wf_nat nat_wf decidable__lt false_wf not-lt-2 condition-implies-le minus-add minus-one-mul zero-add minus-one-mul-top add-commutes add_functionality_wrt_le add-associates add-zero le-add-cancel less_than_wf length_wf list_ind_nil_lemma nil_wf append_back_nil equal-wf-base-T list_ind_cons_lemma eqtt_to_assert eqff_to_assert bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot cons_wf squash_wf true_wf iff_weakening_equal nil-append
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation lambdaFormation cut thin introduction extract_by_obid sqequalHypSubstitution isectElimination hypothesisEquality sqequalRule lambdaEquality functionEquality cumulativity hypothesis setEquality because_Cache applyEquality functionExtensionality independent_isectElimination setElimination rename isect_memberEquality voidElimination voidEquality dependent_functionElimination unionElimination independent_functionElimination natural_numberEquality promote_hyp hypothesis_subsumption productElimination addEquality independent_pairFormation intEquality minusEquality equalityTransitivity equalitySymmetry dependent_set_memberEquality universeEquality dependent_pairFormation baseClosed equalityElimination instantiate imageElimination imageMemberEquality

Latex:
\mforall{}[T:Type].  \mforall{}L:T  List.  \mforall{}P:T  {}\mrightarrow{}  \mBbbB{}.    \mexists{}xs:\{x:T|  \muparrow{}P[x]\}    List.  (L  =  (xs  @  remove\_leading(x.P[x];L)))

Date html generated: 2018_05_21-PM-06_43_31
Last ObjectModification: 2017_07_26-PM-04_54_41

Theory : general

Home Index