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: List deq: EqDecider(T) uiff: uiff(P;Q) uall: [x:A]. B[x] int: universe: Type equal: t ∈ T
Definitions unfolded in proof :  uiff: uiff(P;Q) and: P ∧ Q member: t ∈ T uall: [x:A]. B[x] uimplies: supposing a prop: implies:  Q squash: T true: True subtype_rel: A ⊆B guard: {T} iff: ⇐⇒ Q rev_implies:  Q so_lambda: λ2x.t[x] so_apply: x[s] all: x:A. B[x] top: Top cand: 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