Nuprl Lemma : bag-splits-permutation1

∀T:Type. ∀L:T List. ∀a,b:T.  permutation(bag(T) × bag(T);bag-splits([a; [b / L]]);bag-splits([b; [a / L]]))


Proof




Definitions occuring in Statement :  bag-splits: bag-splits(b),  bag: bag(T),  permutation: permutation(T;L1;L2),  cons: [a / b],  list: T List,  all: ∀x:A. B[x],  product: x:A × B[x],  universe: Type
Definitions unfolded in proof :  all: ∀x:A. B[x],  bag-splits: bag-splits(b),  so_lambda: so_lambda(x,y,z.t[x; y; z]),  member: t ∈ T,  top: Top,  so_apply: x[s1;s2;s3],  uall: ∀[x:A]. B[x],  implies: P ⇒ Q,  bag-append: as + bs,  bag-map: bag-map(f;bs),  prop: ℙ,  so_lambda: λ2x.t[x],  so_apply: x[s],  uimplies: b supposing a,  compose: f o g,  pi1: fst(t),  pi2: snd(t),  squash: ↓T,  true: True,  subtype_rel: A ⊆r B,  guard: {T},  iff: P ⇐⇒ Q,  and: P ∧ Q,  rev_implies: P ⇐ Q
Lemmas referenced :  list_ind_cons_lemma,  bag-splits_wf_list,  list_wf,  bag_wf,  equal_wf,  append_assoc_sq,  map_append_sq,  bag-append_wf,  single-bag_wf,  pi1_wf,  pi2_wf,  append_functionality_wrt_permutation,  map_wf,  append_wf,  permutation_weakening,  bag-append-assoc-comm,  iff_weakening_equal,  map-map,  permutation_wf,  compose_wf,  squash_wf,  true_wf,  permutation-rotate
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  lambdaFormation,  sqequalRule,  cut,  introduction,  extract_by_obid,  sqequalHypSubstitution,  dependent_functionElimination,  thin,  isect_memberEquality,  voidElimination,  voidEquality,  hypothesis,  cumulativity,  hypothesisEquality,  isectElimination,  productEquality,  equalityTransitivity,  equalitySymmetry,  independent_functionElimination,  universeEquality,  comment,  lambdaEquality,  independent_pairEquality,  productElimination,  functionEquality,  because_Cache,  functionExtensionality,  applyEquality,  independent_isectElimination,  imageElimination,  natural_numberEquality,  imageMemberEquality,  baseClosed,  hyp_replacement,  applyLambdaEquality

Latex:
\mforall{}T:Type.  \mforall{}L:T  List.  \mforall{}a,b:T.
    permutation(bag(T)  \mtimes{}  bag(T);bag-splits([a;  [b  /  L]]);bag-splits([b;  [a  /  L]]))



Date html generated: 2017_10_01-AM-08_59_54
Last ObjectModification: 2017_07_26-PM-04_41_54

Theory : bags


Home Index