Nuprl Lemma : A-rightunit

∀Val:Type. ∀n:ℕ. ∀AType:array{i:l}(Val;n). ∀T:Type. ∀m:A-map T.
  ((A-bind(array-model(AType)) m A-return(array-model(AType))) = m ∈ (A-map T))


Proof




Definitions occuring in Statement :  A-bind: A-bind(AModel),  A-map: A-map,  array-model: array-model(AType),  array: array{i:l}(Val;n),  A-return: A-return(AModel),  nat: ℕ,  all: ∀x:A. B[x],  apply: f a,  universe: Type,  equal: s = t ∈ T
Definitions unfolded in proof :  array-model: array-model(AType),  A-return: A-return(AModel),  A-bind: A-bind(AModel),  A-map: A-map,  pi2: snd(t),  pi1: fst(t),  all: ∀x:A. B[x],  member: t ∈ T,  squash: ↓T,  uall: ∀[x:A]. B[x],  prop: ℙ,  true: True,  subtype_rel: A ⊆r B,  uimplies: b supposing a,  guard: {T},  iff: P ⇐⇒ Q,  and: P ∧ Q,  rev_implies: P ⇐ Q,  implies: P ⇒ Q
Lemmas referenced :  equal_wf,  squash_wf,  true_wf,  M-map_wf,  array-monad_wf,  M-rightunit,  iff_weakening_equal,  array_wf,  nat_wf
Rules used in proof :  sqequalSubstitution,  sqequalRule,  sqequalReflexivity,  sqequalTransitivity,  computationStep,  lambdaFormation,  cut,  applyEquality,  thin,  lambdaEquality,  sqequalHypSubstitution,  imageElimination,  introduction,  extract_by_obid,  isectElimination,  hypothesisEquality,  equalityTransitivity,  hypothesis,  equalitySymmetry,  universeEquality,  cumulativity,  because_Cache,  natural_numberEquality,  imageMemberEquality,  baseClosed,  independent_isectElimination,  productElimination,  independent_functionElimination

Latex:
\mforall{}Val:Type.  \mforall{}n:\mBbbN{}.  \mforall{}AType:array\{i:l\}(Val;n).  \mforall{}T:Type.  \mforall{}m:A-map  T.
    ((A-bind(array-model(AType))  m  A-return(array-model(AType)))  =  m)



Date html generated: 2017_10_01-AM-08_44_07
Last ObjectModification: 2017_07_26-PM-04_30_08

Theory : monads


Home Index