Nuprl Lemma : permutation-mapfilter

∀[A:Type]
  ∀L1,L2:A List.
    (permutation(A;L1;L2)
    ⇒ (∀p:A ⟶ 𝔹. ∀[B:Type]. ∀f:{a:A| ↑(p a)}  ⟶ B. permutation(B;mapfilter(f;p;L1);mapfilter(f;p;L2))))


Proof




Definitions occuring in Statement :  permutation: permutation(T;L1;L2),  mapfilter: mapfilter(f;P;L),  list: T List,  assert: ↑b,  bool: 𝔹,  uall: ∀[x:A]. B[x],  all: ∀x:A. B[x],  implies: P ⇒ Q,  set: {x:A| B[x]} ,  apply: f a,  function: x:A ⟶ B[x],  universe: Type
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  all: ∀x:A. B[x],  implies: P ⇒ Q,  mapfilter: mapfilter(f;P;L),  member: t ∈ T,  prop: ℙ
Lemmas referenced :  permutation-map,  assert_wf,  filter_type,  permutation-filter,  bool_wf,  permutation_wf,  list_wf
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation,  lambdaFormation,  cut,  lemma_by_obid,  sqequalHypSubstitution,  isectElimination,  thin,  setEquality,  hypothesisEquality,  applyEquality,  hypothesis,  dependent_functionElimination,  cumulativity,  because_Cache,  independent_functionElimination,  functionEquality,  universeEquality

Latex:
\mforall{}[A:Type]
    \mforall{}L1,L2:A  List.
        (permutation(A;L1;L2)
        {}\mRightarrow{}  (\mforall{}p:A  {}\mrightarrow{}  \mBbbB{}
                    \mforall{}[B:Type].  \mforall{}f:\{a:A|  \muparrow{}(p  a)\}    {}\mrightarrow{}  B.  permutation(B;mapfilter(f;p;L1);mapfilter(f;p;L2))))



Date html generated: 2016_05_14-PM-02_34_05
Last ObjectModification: 2015_12_26-PM-04_20_28

Theory : list_1


Home Index