Nuprl Lemma : sublist_filter

[T:Type]. ∀L1,L2:T List. ∀P:T ⟶ 𝔹.  (L2 ⊆ filter(P;L1) ⇐⇒ L2 ⊆ L1 ∧ (∀x∈L2.↑(P x)))


Proof




Definitions occuring in Statement :  sublist: L1 ⊆ L2 l_all: (∀x∈L.P[x]) filter: filter(P;l) list: List assert: b bool: 𝔹 uall: [x:A]. B[x] all: x:A. B[x] iff: ⇐⇒ Q and: P ∧ Q apply: a function: x:A ⟶ B[x] universe: Type
Definitions unfolded in proof :  rev_implies:  Q iff: ⇐⇒ Q top: Top it: nil: [] list_ind: list_ind reduce: reduce(f;k;as) filter: filter(P;l) implies:  Q and: P ∧ Q istype: istype(T) uimplies: supposing a so_apply: x[s] subtype_rel: A ⊆B prop: so_lambda: λ2x.t[x] member: t ∈ T all: x:A. B[x] uall: [x:A]. B[x] l_all: (∀x∈L.P[x]) int_seg: {i..j-} guard: {T} lelt: i ≤ j < k decidable: Dec(P) or: P ∨ Q not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] false: False true: True bool: 𝔹 unit: Unit btrue: tt uiff: uiff(P;Q) ifthenelse: if then else fi  bfalse: ff less_than: a < b squash: T cand: c∧ B sq_type: SQType(T) assert: b
Lemmas referenced :  istype-universe filter_cons_lemma cons_wf istype-void filter_nil_lemma nil_wf assert_wf l_all_wf l_member_wf subtype_rel_dep_function filter_wf5 sublist_wf iff_wf bool_wf list_wf list_induction l_all_nil assert_witness select_wf length_of_nil_lemma int_seg_properties decidable__le full-omega-unsat intformand_wf intformnot_wf intformle_wf itermConstant_wf itermVar_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_wf decidable__lt intformless_wf int_formula_prop_less_lemma int_seg_wf length_wf l_all_wf_nil false_wf cons_sublist_nil true_wf ifthenelse_wf subtype_rel_self set_wf nil_sublist not_wf bnot_wf equal-wf-T-base eqtt_to_assert uiff_transitivity eqff_to_assert assert_of_bnot l_all_cons or_wf equal_wf cons_sublist_cons and_wf assert_elim subtype_base_sq bool_subtype_base istype-assert
Rules used in proof :  universeEquality instantiate inhabitedIsType productIsType functionIsType voidElimination isect_memberEquality_alt dependent_functionElimination independent_functionElimination productEquality rename setElimination independent_isectElimination setIsType setEquality universeIsType because_Cache applyEquality hypothesis functionEquality lambdaEquality_alt sqequalRule hypothesisEquality isectElimination sqequalHypSubstitution extract_by_obid introduction thin cut lambdaFormation_alt isect_memberFormation_alt sqequalReflexivity computationStep sqequalTransitivity sqequalSubstitution lambdaFormation independent_pairFormation isect_memberEquality voidEquality lambdaEquality functionExtensionality cumulativity natural_numberEquality productElimination unionElimination approximateComputation dependent_pairFormation int_eqEquality intEquality independent_pairEquality promote_hyp axiomEquality equalityTransitivity equalitySymmetry baseClosed equalityElimination equalityIstype imageElimination inlFormation inrFormation dependent_set_memberEquality applyLambdaEquality inrFormation_alt hyp_replacement

Latex:
\mforall{}[T:Type].  \mforall{}L1,L2:T  List.  \mforall{}P:T  {}\mrightarrow{}  \mBbbB{}.    (L2  \msubseteq{}  filter(P;L1)  \mLeftarrow{}{}\mRightarrow{}  L2  \msubseteq{}  L1  \mwedge{}  (\mforall{}x\mmember{}L2.\muparrow{}(P  x)))



Date html generated: 2019_10_15-AM-10_22_07
Last ObjectModification: 2019_08_05-PM-02_12_08

Theory : list_1


Home Index