Nuprl Lemma : A-null-property
∀[Val:Type]. ∀[n:ℕ]. ∀[AType:array{i:l}(Val;n)].
  ∀A:Arr(AType). ∀k:ℕn.  (A-post-val(AType;A-null(AType);A;k) = A-pre-val(AType;A;k) ∈ Val)
Proof
Definitions occuring in Statement : 
A-null: A-null(AType)
, 
A-post-val: A-post-val(AType;prog;A;i)
, 
Arr: Arr(AType)
, 
array: array{i:l}(Val;n)
, 
A-pre-val: A-pre-val(AType;A;i)
, 
int_seg: {i..j-}
, 
nat: ℕ
, 
uall: ∀[x:A]. B[x]
, 
all: ∀x:A. B[x]
, 
natural_number: $n
, 
universe: Type
, 
equal: s = t ∈ T
Definitions unfolded in proof : 
uall: ∀[x:A]. B[x]
, 
member: t ∈ T
, 
all: ∀x:A. B[x]
, 
A-pre-val: A-pre-val(AType;A;i)
, 
A-null: A-null(AType)
, 
A-post-val: A-post-val(AType;prog;A;i)
, 
nat: ℕ
, 
array: array{i:l}(Val;n)
, 
Arr: Arr(AType)
, 
pi1: fst(t)
, 
idx: idx(AType)
, 
array-model: array-model(AType)
, 
A-fetch': A-fetch'(AModel)
, 
A-coerce: A-coerce(AModel)
, 
A-return: A-return(AModel)
, 
A-bind: A-bind(AModel)
, 
A-eval: A-eval(AModel)
, 
pi2: snd(t)
, 
array-monad: array-monad(AType)
, 
M-return: M-return(Mnd)
, 
M-bind: M-bind(Mnd)
, 
let: let, 
mk_monad: mk_monad(M;return;bind)
Lemmas referenced : 
int_seg_wf, 
Arr_wf, 
array_wf, 
nat_wf
Rules used in proof : 
sqequalSubstitution, 
sqequalTransitivity, 
computationStep, 
sqequalReflexivity, 
isect_memberFormation, 
introduction, 
cut, 
lambdaFormation, 
hypothesis, 
lemma_by_obid, 
sqequalHypSubstitution, 
isectElimination, 
thin, 
natural_numberEquality, 
setElimination, 
rename, 
hypothesisEquality, 
sqequalRule, 
lambdaEquality, 
dependent_functionElimination, 
axiomEquality, 
because_Cache, 
isect_memberEquality, 
universeEquality, 
productElimination, 
applyEquality
Latex:
\mforall{}[Val:Type].  \mforall{}[n:\mBbbN{}].  \mforall{}[AType:array\{i:l\}(Val;n)].
    \mforall{}A:Arr(AType).  \mforall{}k:\mBbbN{}n.    (A-post-val(AType;A-null(AType);A;k)  =  A-pre-val(AType;A;k))
Date html generated:
2016_05_15-PM-02_19_19
Last ObjectModification:
2015_12_27-AM-08_58_19
Theory : monads
Home
Index