Nuprl Lemma : interleaved_split

∀[T:Type]
  ∀L:T List
    ∀[P:T ⟶ ℙ]
      ((∀x:T. Dec(P[x]))
      ⇒ (∃L1,L2:T List
           (interleaving(T;L1;L2;L)
           ∧ (∀x:T. ((x ∈ L1) ⇐⇒ (x ∈ L) ∧ P[x]))
           ∧ (∀x:T. ((x ∈ L2) ⇐⇒ (x ∈ L) ∧ (¬P[x]))))))


Proof




Definitions occuring in Statement :  interleaving: interleaving(T;L1;L2;L),  l_member: (x ∈ l),  list: T List,  decidable: Dec(P),  uall: ∀[x:A]. B[x],  prop: ℙ,  so_apply: x[s],  all: ∀x:A. B[x],  exists: ∃x:A. B[x],  iff: P ⇐⇒ Q,  not: ¬A,  implies: P ⇒ Q,  and: P ∧ Q,  function: x:A ⟶ B[x],  universe: Type
Definitions unfolded in proof :  rev_implies: P ⇐ Q,  iff: P ⇐⇒ Q,  subtype_rel: A ⊆r B,  and: P ∧ Q,  so_apply: x[s],  implies: P ⇒ Q,  prop: ℙ,  so_lambda: λ2x.t[x],  member: t ∈ T,  all: ∀x:A. B[x],  uall: ∀[x:A]. B[x],  cand: A c∧ B,  false: False,  not: ¬A,  exists: ∃x:A. B[x],  decidable: Dec(P),  or: P ∨ Q,  guard: {T}
Lemmas referenced :  not_wf,  subtype_rel_self,  l_member_wf,  iff_wf,  interleaving_wf,  list_wf,  exists_wf,  decidable_wf,  all_wf,  uall_wf,  list_induction,  nil_wf,  false_wf,  nil_member,  interleaving_of_nil,  cons_wf,  equal_wf,  and_wf,  or_wf,  cons_member,  cons_interleaving,  interleaving_symmetry
Rules used in proof :  universeIsType,  dependent_functionElimination,  because_Cache,  rename,  independent_functionElimination,  productEquality,  hypothesis,  applyEquality,  universeEquality,  functionEquality,  lambdaEquality,  sqequalRule,  hypothesisEquality,  cumulativity,  isectElimination,  sqequalHypSubstitution,  extract_by_obid,  introduction,  instantiate,  thin,  cut,  lambdaFormation,  isect_memberFormation_alt,  sqequalReflexivity,  computationStep,  sqequalTransitivity,  sqequalSubstitution,  independent_pairFormation,  voidElimination,  productElimination,  independent_pairEquality,  dependent_pairFormation,  functionIsType,  promote_hyp,  unionElimination,  inhabitedIsType,  inlFormation,  inrFormation,  hyp_replacement,  equalitySymmetry,  dependent_set_memberEquality,  applyLambdaEquality,  setElimination

Latex:
\mforall{}[T:Type]
    \mforall{}L:T  List
        \mforall{}[P:T  {}\mrightarrow{}  \mBbbP{}]
            ((\mforall{}x:T.  Dec(P[x]))
            {}\mRightarrow{}  (\mexists{}L1,L2:T  List
                      (interleaving(T;L1;L2;L)
                      \mwedge{}  (\mforall{}x:T.  ((x  \mmember{}  L1)  \mLeftarrow{}{}\mRightarrow{}  (x  \mmember{}  L)  \mwedge{}  P[x]))
                      \mwedge{}  (\mforall{}x:T.  ((x  \mmember{}  L2)  \mLeftarrow{}{}\mRightarrow{}  (x  \mmember{}  L)  \mwedge{}  (\mneg{}P[x]))))))



Date html generated: 2019_10_15-AM-10_57_03
Last ObjectModification: 2018_09_27-AM-10_28_26

Theory : list!


Home Index