Nuprl Lemma : spread_to_pi12

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


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),  function: x:A ⟶ B[x],  spread: spread def,  product: x:A × B[x],  universe: Type,  equal: s = t ∈ T
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  member: t ∈ T,  pi1: fst(t),  pi2: snd(t),  so_apply: x[s1;s2],  so_apply: x[s]
Lemmas referenced :  istype-universe
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  Error :isect_memberFormation_alt,  introduction,  cut,  productElimination,  thin,  sqequalRule,  applyEquality,  hypothesisEquality,  hypothesis,  Error :functionIsType,  extract_by_obid,  sqequalHypSubstitution,  isectElimination,  Error :universeIsType,  Error :isect_memberEquality_alt,  axiomEquality,  Error :inhabitedIsType,  because_Cache,  Error :productIsType,  universeEquality

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



Date html generated: 2019_06_20-AM-11_18_01
Last ObjectModification: 2018_10_06-AM-09_00_16

Theory : core_2


Home Index