Nuprl Lemma : list-partition-permutation

T:Type. ∀L:T List. ∀f:ℕ||L|| ⟶ 𝔹.  let as,bs list-partition(f;L) in permutation(T;L;as bs)


Proof




Definitions occuring in Statement :  list-partition: list-partition(f;L) permutation: permutation(T;L1;L2) length: ||as|| append: as bs list: List int_seg: {i..j-} bool: 𝔹 all: x:A. B[x] function: x:A ⟶ B[x] spread: spread def natural_number: $n universe: Type
Definitions unfolded in proof :  all: x:A. B[x] uall: [x:A]. B[x] member: t ∈ T so_lambda: λ2x.t[x] implies:  Q so_apply: x[s] list-partition: list-partition(f;L) list_ind: list_ind nil: [] it: append: as bs so_lambda: so_lambda(x,y,z.t[x; y; z]) top: Top so_apply: x[s1;s2;s3] int_seg: {i..j-} lelt: i ≤ j < k and: P ∧ Q uimplies: supposing a not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] false: False prop: subtype_rel: A ⊆B le: A ≤ B less_than': less_than'(a;b) decidable: Dec(P) or: P ∨ Q iff: ⇐⇒ Q rev_implies:  Q uiff: uiff(P;Q) subtract: m true: True ge: i ≥  bool: 𝔹 unit: Unit btrue: tt ifthenelse: if then else fi  bfalse: ff sq_type: SQType(T) guard: {T} bnot: ¬bb assert: b cand: c∧ B cons: [a b]
Lemmas referenced :  list_induction all_wf int_seg_wf length_wf bool_wf length_of_nil_lemma list_ind_nil_lemma istype-void permutation-nil int_seg_properties full-omega-unsat intformand_wf intformless_wf itermVar_wf itermConstant_wf intformle_wf istype-int int_formula_prop_and_lemma int_formula_prop_less_lemma int_term_value_var_lemma int_term_value_constant_lemma int_formula_prop_le_lemma int_formula_prop_wf length_of_cons_lemma list_ind_cons_lemma list-partition_wf permutation_wf append_wf list_wf istype-universe subtype_rel_function int_seg_subtype istype-false decidable__le not-le-2 condition-implies-le minus-add minus-one-mul add-swap minus-one-mul-top add-mul-special zero-mul add-zero add-associates add-commutes le-add-cancel subtype_rel_self non_neg_length intformnot_wf int_formula_prop_not_lemma decidable__lt itermAdd_wf int_term_value_add_lemma istype-le istype-less_than eqtt_to_assert permutation-cons cons_wf eqff_to_assert bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot length-append nil_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :lambdaFormation_alt,  cut thin introduction extract_by_obid sqequalHypSubstitution isectElimination hypothesisEquality sqequalRule Error :lambdaEquality_alt,  functionEquality closedConclusion natural_numberEquality hypothesis because_Cache Error :inhabitedIsType,  productElimination Error :equalityIstype,  equalityTransitivity equalitySymmetry dependent_functionElimination independent_functionElimination Error :functionIsType,  Error :universeIsType,  Error :isect_memberEquality_alt,  voidElimination setElimination rename independent_isectElimination approximateComputation Error :dependent_pairFormation_alt,  int_eqEquality independent_pairFormation addEquality instantiate universeEquality applyEquality unionElimination minusEquality multiplyEquality Error :dependent_set_memberEquality_alt,  Error :productIsType,  equalityElimination promote_hyp cumulativity applyLambdaEquality

Latex:
\mforall{}T:Type.  \mforall{}L:T  List.  \mforall{}f:\mBbbN{}||L||  {}\mrightarrow{}  \mBbbB{}.    let  as,bs  =  list-partition(f;L)  in  permutation(T;L;as  @  bs)



Date html generated: 2019_06_20-PM-01_48_26
Last ObjectModification: 2018_11_28-PM-01_11_59

Theory : list_1


Home Index