Nuprl Lemma : spread-wf

∀[A:Type]. ∀[B:A ⟶ Type]. ∀[C:a:A ⟶ b:B[a] ⟶ Type]. ∀[p:a:A × B[a]]. ∀[F:a:A ⟶ b:B[a] ⟶ C[a;b]].
  (let x,y = p 
   in F[x;y] ∈ C[fst(p);snd(p)])


Proof




Definitions occuring in Statement :  uall: ∀[x:A]. B[x],  so_apply: x[s1;s2],  so_apply: x[s],  pi1: fst(t),  pi2: snd(t),  member: t ∈ T,  function: x:A ⟶ B[x],  spread: spread def,  product: x:A × B[x],  universe: Type
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  member: t ∈ T,  so_apply: x[s1;s2],  subtype_rel: A ⊆r B,  pi1: fst(t),  pi2: snd(t),  so_apply: x[s]
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation,  introduction,  cut,  spreadEquality,  hypothesisEquality,  applyEquality,  hypothesis,  lambdaEquality,  sqequalRule,  sqequalHypSubstitution,  axiomEquality,  equalityTransitivity,  equalitySymmetry,  functionEquality,  isect_memberEquality,  isectElimination,  thin,  because_Cache,  productEquality,  cumulativity,  universeEquality

Latex:
\mforall{}[A:Type].  \mforall{}[B:A  {}\mrightarrow{}  Type].  \mforall{}[C:a:A  {}\mrightarrow{}  b:B[a]  {}\mrightarrow{}  Type].  \mforall{}[p:a:A  \mtimes{}  B[a]].
\mforall{}[F:a:A  {}\mrightarrow{}  b:B[a]  {}\mrightarrow{}  C[a;b]].
    (let  x,y  =  p 
      in  F[x;y]  \mmember{}  C[fst(p);snd(p)])



Date html generated: 2016_05_15-PM-03_21_52
Last ObjectModification: 2015_12_27-PM-01_04_32

Theory : general


Home Index