Nuprl Lemma : simple-swap2_wf

∀[n:ℕ]. ∀[AType:array{i:l}(ℤ;n)]. ∀[i,j:ℕn].  (simple-swap2(array-model(AType);i;j) ∈ A-map Unit)


Proof




Definitions occuring in Statement :  simple-swap2: simple-swap2(AModel;i;j),  A-map: A-map,  array-model: array-model(AType),  array: array{i:l}(Val;n),  int_seg: {i..j-},  nat: ℕ,  uall: ∀[x:A]. B[x],  unit: Unit,  member: t ∈ T,  apply: f a,  natural_number: $n,  int: ℤ
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  member: t ∈ T,  simple-swap2: simple-swap2(AModel;i;j),  array-model: array-model(AType),  A-bind: A-bind(AModel),  A-fetch: A-fetch(AModel),  A-map: A-map,  pi2: snd(t),  pi1: fst(t),  M-map: M-map(mnd),  array-monad: array-monad(AType),  M-bind: M-bind(Mnd),  M-return: M-return(Mnd),  A-coerce: A-coerce(AModel),  let: let,  Arr: Arr(AType),  mk_monad: mk_monad(M;return;bind),  idx: idx(AType),  upd: upd(AType),  A-assign: A-assign(AModel),  A-fetch': A-fetch'(AModel),  array: array{i:l}(Val;n),  nat: ℕ
Lemmas referenced :  it_wf,  int_seg_wf,  array_wf,  nat_wf
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation,  introduction,  cut,  sqequalRule,  sqequalHypSubstitution,  productElimination,  thin,  lambdaEquality,  independent_pairEquality,  lemma_by_obid,  hypothesis,  applyEquality,  hypothesisEquality,  axiomEquality,  equalityTransitivity,  equalitySymmetry,  isectElimination,  natural_numberEquality,  setElimination,  rename,  isect_memberEquality,  because_Cache,  intEquality

Latex:
\mforall{}[n:\mBbbN{}].  \mforall{}[AType:array\{i:l\}(\mBbbZ{};n)].  \mforall{}[i,j:\mBbbN{}n].    (simple-swap2(array-model(AType);i;j)  \mmember{}  A-map  Unit)



Date html generated: 2016_05_15-PM-02_20_33
Last ObjectModification: 2015_12_27-AM-08_58_06

Theory : monads


Home Index