### Nuprl Lemma : apply-alist-no_repeats

`∀[A,T:Type]. ∀[eq:EqDecider(T)]. ∀[L:(T × A) List].`
`  ∀[x:T]. ∀[a:A].  apply-alist(eq;L;x) = (inl a) ∈ (A?) supposing (<x, a> ∈ L) `
`  supposing no_repeats(T;map(λp.(fst(p));L))`

Proof

Definitions occuring in Statement :  apply-alist: `apply-alist(eq;L;x)` no_repeats: `no_repeats(T;l)` l_member: `(x ∈ l)` map: `map(f;as)` list: `T List` deq: `EqDecider(T)` uimplies: `b supposing a` uall: `∀[x:A]. B[x]` pi1: `fst(t)` unit: `Unit` lambda: `λx.A[x]` pair: `<a, b>` product: `x:A × B[x]` inl: `inl x` union: `left + right` universe: `Type` equal: `s = t ∈ T`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` member: `t ∈ T` uimplies: `b supposing a` subtype_rel: `A ⊆r B` so_lambda: `λ2x.t[x]` so_apply: `x[s]` all: `∀x:A. B[x]` top: `Top` l_member: `(x ∈ l)` exists: `∃x:A. B[x]` cand: `A c∧ B` and: `P ∧ Q` nat: `ℕ` int_seg: `{i..j-}` lelt: `i ≤ j < k` le: `A ≤ B` prop: `ℙ` not: `¬A` implies: `P `` Q` false: `False` guard: `{T}` ge: `i ≥ j ` decidable: `Dec(P)` or: `P ∨ Q` satisfiable_int_formula: `satisfiable_int_formula(fmla)` less_than: `a < b` squash: `↓T` pi1: `fst(t)` no_repeats: `no_repeats(T;l)` less_than': `less_than'(a;b)` true: `True` iff: `P `⇐⇒` Q` pi2: `snd(t)`
Lemmas referenced :  apply-alist-cases subtype_rel_list top_wf subtype_rel_product lelt_wf length_wf equal_wf select_wf int_seg_properties nat_properties decidable__le satisfiable-full-omega-tt intformand_wf intformnot_wf intformle_wf itermConstant_wf itermVar_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_wf decidable__lt intformless_wf int_formula_prop_less_lemma pi1_wf int_seg_wf and_wf l_member_wf no_repeats_wf map_wf list_wf deq_wf int_seg_subtype_nat false_wf map-length intformeq_wf int_formula_prop_eq_lemma nat_wf not_wf squash_wf true_wf map_select iff_weakening_equal pi2_wf unit_wf2
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut extract_by_obid sqequalHypSubstitution isectElimination thin because_Cache hypothesisEquality applyEquality productEquality cumulativity hypothesis independent_isectElimination sqequalRule lambdaEquality lambdaFormation isect_memberEquality voidElimination voidEquality productElimination setElimination rename dependent_set_memberEquality independent_pairFormation independent_functionElimination dependent_functionElimination unionElimination natural_numberEquality dependent_pairFormation int_eqEquality intEquality computeAll imageElimination independent_pairEquality equalityTransitivity equalitySymmetry applyLambdaEquality axiomEquality universeEquality imageMemberEquality baseClosed hyp_replacement inlEquality

Latex:
\mforall{}[A,T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[L:(T  \mtimes{}  A)  List].
\mforall{}[x:T].  \mforall{}[a:A].    apply-alist(eq;L;x)  =  (inl  a)  supposing  (<x,  a>  \mmember{}  L)
supposing  no\_repeats(T;map(\mlambda{}p.(fst(p));L))

Date html generated: 2017_09_29-PM-06_04_26
Last ObjectModification: 2017_07_26-PM-02_53_04

Theory : decidable!equality

Home Index