### Nuprl Lemma : member-union-list2

`∀[T:Type]. ∀eq:EqDecider(T). ∀ll:T List List. ∀x:T.  ((x ∈ union-list2(eq;ll)) `⇐⇒` ∃l:T List. ((l ∈ ll) ∧ (x ∈ l)))`

Proof

Definitions occuring in Statement :  union-list2: `union-list2(eq;ll)` l_member: `(x ∈ l)` list: `T List` deq: `EqDecider(T)` uall: `∀[x:A]. B[x]` all: `∀x:A. B[x]` exists: `∃x:A. B[x]` iff: `P `⇐⇒` Q` and: `P ∧ Q` universe: `Type`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` all: `∀x:A. B[x]` member: `t ∈ T` so_lambda: `λ2x.t[x]` prop: `ℙ` and: `P ∧ Q` so_apply: `x[s]` implies: `P `` Q` union-list2: `union-list2(eq;ll)` so_lambda: `so_lambda(x,y,z.t[x; y; z])` top: `Top` so_apply: `x[s1;s2;s3]` iff: `P `⇐⇒` Q` uimplies: `b supposing a` not: `¬A` false: `False` rev_implies: `P `` Q` exists: `∃x:A. B[x]` bool: `𝔹` unit: `Unit` it: `⋅` btrue: `tt` uiff: `uiff(P;Q)` ifthenelse: `if b then t else f fi ` cand: `A c∧ B` or: `P ∨ Q` bfalse: `ff` sq_type: `SQType(T)` guard: `{T}` bnot: `¬bb` assert: `↑b`
Lemmas referenced :  list_induction list_wf all_wf iff_wf l_member_wf union-list2_wf exists_wf list_ind_nil_lemma list_ind_cons_lemma deq_wf null_nil_lemma btrue_wf member-implies-null-eq-bfalse nil_wf btrue_neq_bfalse null_wf bool_wf eqtt_to_assert assert_of_null or_wf equal_wf and_wf cons_member cons_wf eqff_to_assert bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot equal-wf-T-base member-union l-union_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation lambdaFormation cut thin introduction extract_by_obid sqequalHypSubstitution isectElimination cumulativity hypothesisEquality hypothesis sqequalRule lambdaEquality productEquality independent_functionElimination dependent_functionElimination isect_memberEquality voidElimination voidEquality rename because_Cache universeEquality independent_pairFormation independent_isectElimination equalityTransitivity equalitySymmetry productElimination unionElimination equalityElimination dependent_pairFormation inlFormation addLevel hyp_replacement dependent_set_memberEquality applyLambdaEquality setElimination levelHypothesis impliesFunctionality existsFunctionality andLevelFunctionality existsLevelFunctionality promote_hyp instantiate baseClosed inrFormation

Latex:
\mforall{}[T:Type]
\mforall{}eq:EqDecider(T).  \mforall{}ll:T  List  List.  \mforall{}x:T.
((x  \mmember{}  union-list2(eq;ll))  \mLeftarrow{}{}\mRightarrow{}  \mexists{}l:T  List.  ((l  \mmember{}  ll)  \mwedge{}  (x  \mmember{}  l)))

Date html generated: 2017_04_17-AM-09_10_01
Last ObjectModification: 2017_02_27-PM-05_18_53

Theory : decidable!equality

Home Index