Nuprl Lemma : remove-repeats-length-no-repeats-iff

`∀[T:Type]. ∀[eq:EqDecider(T)]. ∀[L:T List].  uiff(no_repeats(T;L);||remove-repeats(eq;L)|| = ||L|| ∈ ℤ)`

Proof

Definitions occuring in Statement :  remove-repeats: `remove-repeats(eq;L)` no_repeats: `no_repeats(T;l)` length: `||as||` list: `T List` deq: `EqDecider(T)` uiff: `uiff(P;Q)` uall: `∀[x:A]. B[x]` int: `ℤ` universe: `Type` equal: `s = t ∈ T`
Definitions unfolded in proof :  uiff: `uiff(P;Q)` and: `P ∧ Q` member: `t ∈ T` uall: `∀[x:A]. B[x]` uimplies: `b supposing a` prop: `ℙ` implies: `P `` Q` squash: `↓T` true: `True` subtype_rel: `A ⊆r B` guard: `{T}` iff: `P `⇐⇒` Q` rev_implies: `P `` Q` so_lambda: `λ2x.t[x]` so_apply: `x[s]` all: `∀x:A. B[x]` top: `Top` cand: `A c∧ B` append: `as @ bs` so_lambda: `so_lambda(x,y,z.t[x; y; z])` so_apply: `x[s1;s2;s3]` or: `P ∨ Q` le: `A ≤ B` satisfiable_int_formula: `satisfiable_int_formula(fmla)` exists: `∃x:A. B[x]` false: `False` not: `¬A` decidable: `Dec(P)`
Lemmas referenced :  no_repeats_wf equal_wf length_wf remove-repeats_wf list_wf deq_wf no_repeats_witness squash_wf true_wf remove-repeats-length-no-repeats iff_weakening_equal list_induction remove_repeats_nil_lemma length_of_nil_lemma no_repeats_nil equal-wf-base no_repeats_cons list_ind_cons_lemma list_ind_nil_lemma remove-repeats-append cons_wf nil_wf length-append length_of_cons_lemma remove-repeats-append-one-member remove-repeats-set-equal set-equal-remove-repeats remove-repeats-length-leq satisfiable-full-omega-tt intformand_wf intformle_wf itermVar_wf intformeq_wf itermAdd_wf itermConstant_wf int_formula_prop_and_lemma int_formula_prop_le_lemma int_term_value_var_lemma int_formula_prop_eq_lemma int_term_value_add_lemma int_term_value_constant_lemma int_formula_prop_wf decidable__equal_int add-is-int-iff intformnot_wf int_formula_prop_not_lemma false_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity independent_pairFormation cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin cumulativity hypothesisEquality hypothesis intEquality because_Cache universeEquality isect_memberFormation sqequalRule productElimination independent_pairEquality isect_memberEquality axiomEquality equalityTransitivity equalitySymmetry independent_functionElimination applyEquality lambdaEquality imageElimination independent_isectElimination natural_numberEquality imageMemberEquality baseClosed functionEquality lambdaFormation rename dependent_functionElimination voidElimination voidEquality equalityUniverse levelHypothesis unionElimination dependent_pairFormation int_eqEquality computeAll pointwiseFunctionality promote_hyp baseApply closedConclusion

Latex:
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[L:T  List].    uiff(no\_repeats(T;L);||remove-repeats(eq;L)||  =  ||L||)

Date html generated: 2017_04_17-AM-09_12_47
Last ObjectModification: 2017_02_27-PM-05_19_44

Theory : decidable!equality

Home Index