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