Nuprl Lemma : interleaving_as_filter_2

[T:Type]. ∀[P:T ⟶ 𝔹]. ∀[L,L1,L2:T List].
  ({(L2 filter(P;L) ∈ (T List)) ∧ (L1 filter(λx.(¬b(P x));L) ∈ (T List))}) supposing 
     ((filter(P;L1) [] ∈ (T List)) and 
     (L2 filter(P;L2) ∈ (T List)) and 
     interleaving(T;L1;L2;L))


Proof




Definitions occuring in Statement :  interleaving: interleaving(T;L1;L2;L) filter: filter(P;l) nil: [] list: List bnot: ¬bb bool: 𝔹 uimplies: supposing a uall: [x:A]. B[x] guard: {T} and: P ∧ Q apply: a lambda: λx.A[x] function: x:A ⟶ B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  guard: {T} uall: [x:A]. B[x] member: t ∈ T uimplies: supposing a and: P ∧ Q cand: c∧ B prop: subtype_rel: A ⊆B so_lambda: λ2x.t[x] so_apply: x[s] all: x:A. B[x] implies:  Q iff: ⇐⇒ Q rev_implies:  Q not: ¬A false: False uiff: uiff(P;Q) rev_uimplies: rev_uimplies(P;Q)
Lemmas referenced :  equal-wf-T-base list_wf filter_wf5 subtype_rel_dep_function bool_wf l_member_wf subtype_rel_self set_wf equal_wf interleaving_wf filter_interleaving nil_interleaving bnot_wf filter_trivial l_all_iff not_wf null_nil_lemma btrue_wf member-implies-null-eq-bfalse and_wf null_wf btrue_neq_bfalse assert_wf not_functionality_wrt_iff member_filter assert_of_bnot filter_is_nil nil_interleaving2 not_functionality_wrt_uiff
Rules used in proof :  sqequalSubstitution sqequalRule sqequalReflexivity sqequalTransitivity computationStep isect_memberFormation introduction cut independent_pairFormation hypothesis sqequalHypSubstitution productElimination thin independent_pairEquality axiomEquality extract_by_obid isectElimination hypothesisEquality applyEquality lambdaEquality setEquality independent_isectElimination setElimination rename because_Cache lambdaFormation baseClosed isect_memberEquality equalityTransitivity equalitySymmetry functionEquality universeEquality dependent_functionElimination independent_functionElimination hyp_replacement applyLambdaEquality dependent_set_memberEquality voidElimination productEquality cumulativity

Latex:
\mforall{}[T:Type].  \mforall{}[P:T  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[L,L1,L2:T  List].
    (\{(L2  =  filter(P;L))  \mwedge{}  (L1  =  filter(\mlambda{}x.(\mneg{}\msubb{}(P  x));L))\})  supposing 
          ((filter(P;L1)  =  [])  and 
          (L2  =  filter(P;L2))  and 
          interleaving(T;L1;L2;L))



Date html generated: 2019_10_15-AM-10_56_52
Last ObjectModification: 2018_09_17-PM-07_00_26

Theory : list!


Home Index