Nuprl Lemma : int-decr-map-remove-prop

[Value:Type]. ∀[m:int-decr-map-type(Value)]. ∀[k1,k2:ℤ].
  (int-decr-map-find(k1;int-decr-map-remove(k2;m))
  if (k1 =z k2) then inr ⋅  else int-decr-map-find(k1;m) fi 
  ∈ (Value?))


Proof




Definitions occuring in Statement :  int-decr-map-remove: int-decr-map-remove(k;m) int-decr-map-find: int-decr-map-find(k;m) int-decr-map-type: int-decr-map-type(Value) ifthenelse: if then else fi  eq_int: (i =z j) it: uall: [x:A]. B[x] unit: Unit inr: inr  union: left right int: universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T int-decr-map-type: int-decr-map-type(Value) all: x:A. B[x] nat: implies:  Q false: False ge: i ≥  uimplies: supposing a satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] not: ¬A top: Top and: P ∧ Q prop: so_lambda: λ2y.t[x; y] pi1: fst(t) so_apply: x[s1;s2] gt: i > j subtype_rel: A ⊆B or: P ∨ Q exposed-bfalse: exposed-bfalse bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) ifthenelse: if then else fi  int-decr-map-find: int-decr-map-find(k;m) find-combine: find-combine(cmp;l) list_ind: list_ind int-decr-map-remove: int-decr-map-remove(k;m) remove-combine: remove-combine(cmp;l) nil: [] bfalse: ff sq_type: SQType(T) guard: {T} bnot: ¬bb assert: b cons: [a b] colength: colength(L) decidable: Dec(P) so_lambda: λ2x.t[x] so_apply: x[s] less_than: a < b squash: T less_than': less_than'(a;b) iff: ⇐⇒ Q rev_implies:  Q nequal: a ≠ b ∈  has-value: (a)↓

Latex:
\mforall{}[Value:Type].  \mforall{}[m:int-decr-map-type(Value)].  \mforall{}[k1,k2:\mBbbZ{}].
    (int-decr-map-find(k1;int-decr-map-remove(k2;m))
    =  if  (k1  =\msubz{}  k2)  then  inr  \mcdot{}    else  int-decr-map-find(k1;m)  fi  )



Date html generated: 2016_05_17-PM-01_50_25
Last ObjectModification: 2016_01_17-AM-11_38_15

Theory : datatype-signatures


Home Index