Nuprl Definition : type-functor
Functor ==
  {p:F:Type ⟶ Type × (⋂T,S:Type.  ((T ⟶ S) ⟶ (F T) ⟶ (F S)))| 
   let F,M = p 
   in (∀T:Type. ((M (λx.x)) = (λx.x) ∈ ((F T) ⟶ (F T))))
      ∧ (∀T,S,V:Type. ∀f:T ⟶ S. ∀g:S ⟶ V.  ((M (g o f)) = ((M g) o (M f)) ∈ ((F T) ⟶ (F V))))} 
Definitions occuring in Statement : 
compose: f o g
, 
all: ∀x:A. B[x]
, 
and: P ∧ Q
, 
set: {x:A| B[x]} 
, 
apply: f a
, 
lambda: λx.A[x]
, 
isect: ⋂x:A. B[x]
, 
function: x:A ⟶ B[x]
, 
spread: spread def, 
product: x:A × B[x]
, 
universe: Type
, 
equal: s = t ∈ T
Definitions occuring in definition : 
set: {x:A| B[x]} 
, 
product: x:A × B[x]
, 
isect: ⋂x:A. B[x]
, 
spread: spread def, 
and: P ∧ Q
, 
lambda: λx.A[x]
, 
universe: Type
, 
all: ∀x:A. B[x]
, 
equal: s = t ∈ T
, 
function: x:A ⟶ B[x]
, 
compose: f o g
, 
apply: f a
FDL editor aliases : 
type-functor
Latex:
Functor  ==
    \{p:F:Type  {}\mrightarrow{}  Type  \mtimes{}  (\mcap{}T,S:Type.    ((T  {}\mrightarrow{}  S)  {}\mrightarrow{}  (F  T)  {}\mrightarrow{}  (F  S)))| 
      let  F,M  =  p 
      in  (\mforall{}T:Type.  ((M  (\mlambda{}x.x))  =  (\mlambda{}x.x)))
            \mwedge{}  (\mforall{}T,S,V:Type.  \mforall{}f:T  {}\mrightarrow{}  S.  \mforall{}g:S  {}\mrightarrow{}  V.    ((M  (g  o  f))  =  ((M  g)  o  (M  f))))\} 
Date html generated:
2016_05_15-PM-01_44_37
Last ObjectModification:
2015_09_23-AM-07_36_59
Theory : basic
Home
Index