Nuprl Lemma : remove-repeats_functionality_wrt_permutation

[T:Type]
  ∀eq:EqDecider(T). ∀L1,L2:T List.  (permutation(T;L1;L2)  permutation(T;remove-repeats(eq;L1);remove-repeats(eq;L2)))


Proof




Definitions occuring in Statement :  remove-repeats: remove-repeats(eq;L) permutation: permutation(T;L1;L2) list: List deq: EqDecider(T) uall: [x:A]. B[x] all: x:A. B[x] implies:  Q universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] all: x:A. B[x] member: t ∈ T int_seg: {i..j-} lelt: i ≤ j < k and: P ∧ Q uimplies: supposing a not: ¬A implies:  Q satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] false: False top: Top prop: decidable: Dec(P) or: P ∨ Q subtype_rel: A ⊆B so_lambda: λ2x.t[x] so_apply: x[s] guard: {T} sq_type: SQType(T) nat: ge: i ≥  le: A ≤ B less_than: a < b squash: T cons: [a b] iff: ⇐⇒ Q remove-repeats: remove-repeats(eq;L) list_ind: list_ind nil: [] it: deq: EqDecider(T) rev_implies:  Q append: as bs so_lambda: so_lambda(x,y,z.t[x; y; z]) so_apply: x[s1;s2;s3] cand: c∧ B label: ...$L... t permutation: permutation(T;L1;L2) bool: 𝔹 unit: Unit btrue: tt uiff: uiff(P;Q) bnot: ¬bb ifthenelse: if then else fi  bfalse: ff assert: b eqof: eqof(d) true: True
Lemmas referenced :  int_seg_properties full-omega-unsat intformand_wf intformless_wf itermVar_wf itermConstant_wf intformle_wf istype-int int_formula_prop_and_lemma istype-void int_formula_prop_less_lemma int_term_value_var_lemma int_term_value_constant_lemma int_formula_prop_le_lemma int_formula_prop_wf int_seg_wf decidable__equal_int subtract_wf subtype_base_sq set_subtype_base int_subtype_base intformnot_wf intformeq_wf itermSubtract_wf int_formula_prop_not_lemma int_formula_prop_eq_lemma int_term_value_subtract_lemma decidable__le decidable__lt istype-le istype-less_than subtype_rel_self non_neg_length nat_properties length_wf list-cases product_subtype_list permutation_wf list_wf le_wf remove-repeats_wf primrec-wf2 all_wf itermAdd_wf int_term_value_add_lemma istype-nat length_wf_nat deq_wf istype-universe permutation-nil-iff remove_repeats_nil_lemma permutation-nil nil_wf permutation-cons length_of_cons_lemma append_wf remove_repeats_cons_lemma cons_wf filter_wf5 l_member_wf bnot_wf list_ind_nil_lemma length-append permutation-filter subtype_rel_list assert_wf istype-assert equal_wf inject_wf permute_list_wf permutation-length length_append top_wf list_ind_cons_lemma filter_cons_lemma filter_append_sq swap-filter-filter deq-member_wf eqtt_to_assert assert-deq-member eqff_to_assert bool_cases_sqequal bool_wf bool_subtype_base assert-bnot remove-repeats-append-sq permutation_weakening append_functionality_wrt_permutation l_member_decomp length_of_nil_lemma less_than_wf permutation_functionality_wrt_permutation permutation-rotate cons_functionality_wrt_permutation filter_functionality_wrt_permutation safe-assert-deq iff_weakening_uiff member_wf band-idempotent filter-filter filter_trivial l_all_iff iff_transitivity eqof_wf not_wf assert_of_bnot member-remove-repeats permutation_transitivity
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  Error :lambdaFormation_alt,  cut thin introduction extract_by_obid sqequalHypSubstitution isectElimination natural_numberEquality hypothesisEquality hypothesis setElimination rename productElimination independent_isectElimination approximateComputation independent_functionElimination Error :dependent_pairFormation_alt,  Error :lambdaEquality_alt,  int_eqEquality dependent_functionElimination Error :isect_memberEquality_alt,  voidElimination sqequalRule independent_pairFormation Error :universeIsType,  unionElimination applyEquality instantiate because_Cache equalityTransitivity equalitySymmetry applyLambdaEquality Error :dependent_set_memberEquality_alt,  Error :productIsType,  hypothesis_subsumption imageElimination promote_hyp Error :functionIsType,  functionEquality Error :setIsType,  closedConclusion addEquality universeEquality Error :equalityIstype,  Error :inhabitedIsType,  intEquality sqequalBase hyp_replacement setEquality equalityElimination cumulativity imageMemberEquality baseClosed Error :functionExtensionality_alt

Latex:
\mforall{}[T:Type]
    \mforall{}eq:EqDecider(T).  \mforall{}L1,L2:T  List.
        (permutation(T;L1;L2)  {}\mRightarrow{}  permutation(T;remove-repeats(eq;L1);remove-repeats(eq;L2)))



Date html generated: 2019_06_20-PM-01_55_17
Last ObjectModification: 2018_11_28-PM-05_14_40

Theory : decidable!equality


Home Index