Nuprl Lemma : simple-swap-test_wf

∀[n:ℕ]. ∀[AType:array{i:l}(ℤ;n)].
  let AModel = array-model(AType) in
      ∀[prog:A-map Unit]. ∀[i,j:ℕn].  (simple-swap-test(AModel;prog;i;j) ∈ A-map 𝔹)


Proof




Definitions occuring in Statement :  simple-swap-test: simple-swap-test(AModel;prog;i;j),  A-map: A-map,  array-model: array-model(AType),  array: array{i:l}(Val;n),  int_seg: {i..j-},  nat: ℕ,  bool: 𝔹,  let: let,  uall: ∀[x:A]. B[x],  unit: Unit,  member: t ∈ T,  apply: f a,  natural_number: $n,  int: ℤ
Definitions unfolded in proof :  nat: ℕ,  simple-swap-test: simple-swap-test(AModel;prog;i;j),  member: t ∈ T,  let: let,  uall: ∀[x:A]. B[x],  subtype_rel: A ⊆r B
Lemmas referenced :  A-fetch'_wf,  A-coerce_wf,  A-bind_wf,  A-return_wf,  bool_wf,  band_wf,  eq_int_wf,  int_seg_wf,  A-map_wf,  unit_wf2,  array_wf,  nat_wf
Rules used in proof :  intEquality,  applyEquality,  because_Cache,  isect_memberEquality,  hypothesisEquality,  rename,  setElimination,  natural_numberEquality,  thin,  isectElimination,  lemma_by_obid,  equalitySymmetry,  equalityTransitivity,  axiomEquality,  hypothesis,  sqequalHypSubstitution,  cut,  introduction,  sqequalRule,  isect_memberFormation,  sqequalReflexivity,  computationStep,  sqequalTransitivity,  sqequalSubstitution,  extract_by_obid,  lambdaEquality_alt,  inhabitedIsType,  lambdaEquality,  functionEquality,  cumulativity,  universeEquality,  isectEquality

Latex:
\mforall{}[n:\mBbbN{}].  \mforall{}[AType:array\{i:l\}(\mBbbZ{};n)].
    let  AModel  =  array-model(AType)  in
            \mforall{}[prog:A-map  Unit].  \mforall{}[i,j:\mBbbN{}n].    (simple-swap-test(AModel;prog;i;j)  \mmember{}  A-map  \mBbbB{})



Date html generated: 2020_05_20-AM-08_00_21
Last ObjectModification: 2020_01_17-AM-07_45_34

Theory : monads


Home Index