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