Nuprl Lemma : filter-fpf-vals

∀[A:Type]. ∀[eq:EqDecider(A)]. ∀[B:A ⟶ Type]. ∀[P,Q:A ⟶ 𝔹]. ∀[f:x:A fp-> B[x]].
  (filter(λpL.Q[fst(pL)];fpf-vals(eq;P;f)) ~ fpf-vals(eq;λa.((P a) ∧b (Q a));f))


Proof




Definitions occuring in Statement :  fpf-vals: fpf-vals(eq;P;f),  fpf: a:A fp-> B[a],  filter: filter(P;l),  deq: EqDecider(T),  band: p ∧b q,  bool: 𝔹,  uall: ∀[x:A]. B[x],  so_apply: x[s],  pi1: fst(t),  apply: f a,  lambda: λx.A[x],  function: x:A ⟶ B[x],  universe: Type,  sqequal: s ~ t
Definitions unfolded in proof :  member: t ∈ T,  uall: ∀[x:A]. B[x],  so_lambda: λ2x.t[x],  so_apply: x[s],  fpf-vals: fpf-vals(eq;P;f),  fpf: a:A fp-> B[a],  let: let,  pi1: fst(t),  pi2: snd(t),  prop: ℙ,  subtype_rel: A ⊆r B,  uimplies: b supposing a,  all: ∀x:A. B[x],  implies: P ⇒ Q,  nat: ℕ,  false: False,  ge: i ≥ j ,  satisfiable_int_formula: satisfiable_int_formula(fmla),  exists: ∃x:A. B[x],  not: ¬A,  top: Top,  and: P ∧ Q,  or: P ∨ Q,  cons: [a / b],  colength: colength(L),  so_lambda: λ2x y.t[x; y],  so_apply: x[s1;s2],  guard: {T},  decidable: Dec(P),  nil: [],  it: ⋅,  sq_type: SQType(T),  less_than: a < b,  squash: ↓T,  less_than': less_than'(a;b),  bool: 𝔹,  unit: Unit,  btrue: tt,  uiff: uiff(P;Q),  ifthenelse: if b then t else f fi ,  band: p ∧b q,  bfalse: ff,  bnot: ¬bb,  assert: ↑b

Latex:
\mforall{}[A:Type].  \mforall{}[eq:EqDecider(A)].  \mforall{}[B:A  {}\mrightarrow{}  Type].  \mforall{}[P,Q:A  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[f:x:A  fp->  B[x]].
    (filter(\mlambda{}pL.Q[fst(pL)];fpf-vals(eq;P;f))  \msim{}  fpf-vals(eq;\mlambda{}a.((P  a)  \mwedge{}\msubb{}  (Q  a));f))



Date html generated: 2016_05_16-AM-11_18_33
Last ObjectModification: 2016_01_17-PM-03_50_37

Theory : event-ordering


Home Index