`∀[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