### 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