Nuprl Lemma : apply-alist-cases

[T:Type]. ∀[eq:EqDecider(T)]. ∀[x:T]. ∀[L:(T × Top) List].
  (apply-alist(eq;L;x) ff supposing ¬(x ∈ map(λp.(fst(p));L))
  ∧ (∀[i:ℕ||L||]
       (apply-alist(eq;L;x) inl (snd(L[i]))) supposing (((fst(L[i])) x ∈ T) and (∀j:ℕi. ((fst(L[j])) x ∈ T))))))


Proof




Definitions occuring in Statement :  apply-alist: apply-alist(eq;L;x) l_member: (x ∈ l) select: L[n] length: ||as|| map: map(f;as) list: List deq: EqDecider(T) int_seg: {i..j-} bfalse: ff uimplies: supposing a uall: [x:A]. B[x] top: Top pi1: fst(t) pi2: snd(t) all: x:A. B[x] not: ¬A and: P ∧ Q lambda: λx.A[x] product: x:A × B[x] inl: inl x natural_number: $n universe: Type sqequal: t equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T all: x:A. B[x] nat: implies:  Q false: False ge: i ≥  guard: {T} uimplies: supposing a prop: and: P ∧ Q so_lambda: λ2x.t[x] so_apply: x[s] top: Top le: A ≤ B int_seg: {i..j-} subtype_rel: A ⊆B or: P ∨ Q cons: [a b] colength: colength(L) so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] squash: T sq_stable: SqStable(P) uiff: uiff(P;Q) not: ¬A less_than': less_than'(a;b) true: True decidable: Dec(P) iff: ⇐⇒ Q rev_implies:  Q subtract: m lelt: i ≤ j < k nil: [] it: sq_type: SQType(T) less_than: a < b bool: 𝔹 assert: b ifthenelse: if then else fi  bfalse: ff apply-alist: apply-alist(eq;L;x) list_ind: list_ind nat_plus: + so_lambda: so_lambda(x,y,z.t[x; y; z]) so_apply: x[s1;s2;s3] deq: EqDecider(T) exists: x:A. B[x] unit: Unit btrue: tt eqof: eqof(d) select: L[n]
Lemmas referenced :  nat_properties less_than_transitivity1 less_than_irreflexivity ge_wf less_than_wf not_wf l_member_wf map_wf top_wf pi1_wf equal_wf select_wf all_wf int_seg_wf length_wf equal-wf-T-base nat_wf colength_wf_list list-cases product_subtype_list spread_cons_lemma sq_stable__le le_antisymmetry_iff add_functionality_wrt_le add-associates add-zero zero-add le-add-cancel decidable__le false_wf not-le-2 condition-implies-le minus-add minus-one-mul minus-one-mul-top add-commutes le_wf less_than_transitivity2 le_weakening2 subtract_wf not-ge-2 less-iff-le minus-minus add-swap subtype_base_sq set_subtype_base int_subtype_base list_wf deq_wf map_nil_lemma bool_wf bool_subtype_base iff_imp_equal_bool apply-alist_wf nil_wf subtype_rel_union unit_wf2 bfalse_wf assert_wf length_of_nil_lemma le_reflexive one-mul add-mul-special two-mul mul-distributes-right zero-mul minus-zero omega-shadow int_seg_properties map_cons_lemma list_ind_cons_lemma length_of_cons_lemma cons_wf non_neg_length length_wf_nat not-lt-2 mul-distributes mul-associates mul-commutes bnot_wf eqof_wf uiff_transitivity eqtt_to_assert safe-assert-deq iff_transitivity iff_weakening_uiff eqff_to_assert assert_of_bnot decidable__lt cons_member decidable__equal_int not-equal-2 lelt_wf subtract-add-cancel select_cons_tl_sq le-add-cancel2 squash_wf true_wf select_cons_tl iff_weakening_equal add-member-int_seg2 add-subtract-cancel
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut thin lambdaFormation extract_by_obid sqequalHypSubstitution isectElimination hypothesisEquality hypothesis setElimination rename intWeakElimination natural_numberEquality independent_isectElimination independent_functionElimination voidElimination sqequalRule lambdaEquality dependent_functionElimination productElimination independent_pairEquality isect_memberEquality sqequalAxiom cumulativity productEquality voidEquality equalityTransitivity equalitySymmetry because_Cache applyEquality unionElimination promote_hyp hypothesis_subsumption applyLambdaEquality imageMemberEquality baseClosed imageElimination addEquality dependent_set_memberEquality independent_pairFormation minusEquality intEquality instantiate universeEquality multiplyEquality dependent_pairFormation sqequalIntensionalEquality equalityElimination addLevel impliesFunctionality levelHypothesis inlFormation hyp_replacement inrFormation functionExtensionality functionEquality

Latex:
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[x:T].  \mforall{}[L:(T  \mtimes{}  Top)  List].
    (apply-alist(eq;L;x)  \msim{}  ff  supposing  \mneg{}(x  \mmember{}  map(\mlambda{}p.(fst(p));L))
    \mwedge{}  (\mforall{}[i:\mBbbN{}||L||]
              (apply-alist(eq;L;x)  \msim{}  inl  (snd(L[i])))  supposing 
                    (((fst(L[i]))  =  x)  and 
                    (\mforall{}j:\mBbbN{}i.  (\mneg{}((fst(L[j]))  =  x))))))



Date html generated: 2017_04_14-AM-08_47_21
Last ObjectModification: 2017_02_27-PM-03_35_51

Theory : list_0


Home Index