Nuprl Lemma : int-decr-map-add-prop
∀[Value:Type]. ∀[m:int-decr-map-type(Value)]. ∀[k1,k2:ℤ]. ∀[v:Value].
  (int-decr-map-find(k1;int-decr-map-add(k2;v;m))
  = if (k1 =z k2) ∧b (¬bint-decr-map-inDom(k2;m)) then inl v else int-decr-map-find(k1;m) fi 
  ∈ (Value?))
Proof
Definitions occuring in Statement : 
int-decr-map-add: int-decr-map-add(k;v;m), 
int-decr-map-inDom: int-decr-map-inDom(k;m), 
int-decr-map-find: int-decr-map-find(k;m), 
int-decr-map-type: int-decr-map-type(Value), 
band: p ∧b q, 
bnot: ¬bb, 
ifthenelse: if b then t else f fi , 
eq_int: (i =z j), 
uall: ∀[x:A]. B[x], 
unit: Unit, 
inl: inl x, 
union: left + right, 
int: ℤ, 
universe: Type, 
equal: s = 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: P ⇒ Q, 
false: False, 
ge: i ≥ j , 
uimplies: b supposing a, 
satisfiable_int_formula: satisfiable_int_formula(fmla), 
exists: ∃x:A. B[x], 
not: ¬A, 
top: Top, 
and: P ∧ Q, 
prop: ℙ, 
so_lambda: λ2x y.t[x; y], 
pi1: fst(t), 
so_apply: x[s1;s2], 
gt: i > j, 
subtype_rel: A ⊆r B, 
or: P ∨ Q, 
cons: [a / b], 
colength: colength(L), 
guard: {T}, 
decidable: Dec(P), 
nil: [], 
it: ⋅, 
so_lambda: λ2x.t[x], 
so_apply: x[s], 
sq_type: SQType(T), 
less_than: a < b, 
squash: ↓T, 
less_than': less_than'(a;b), 
int-decr-map-find: int-decr-map-find(k;m), 
int-decr-map-add: int-decr-map-add(k;v;m), 
find-combine: find-combine(cmp;l), 
list_ind: list_ind, 
insert-combine: insert-combine(cmp;f;x;l), 
so_lambda: so_lambda(x,y,z.t[x; y; z]), 
so_apply: x[s1;s2;s3], 
has-value: (a)↓, 
ifthenelse: if b then t else f fi , 
btrue: tt, 
pi2: snd(t), 
uiff: uiff(P;Q), 
band: p ∧b q, 
bnot: ¬bb, 
int-decr-map-inDom: int-decr-map-inDom(k;m), 
isl: isl(x), 
bfalse: ff, 
nequal: a ≠ b ∈ T , 
int-minus-comparison: int-minus-comparison(f), 
iff: P ⇐⇒ Q, 
rev_implies: P ⇐ Q, 
assert: ↑b, 
true: True, 
le: A ≤ B, 
bool: 𝔹, 
unit: Unit
Latex:
\mforall{}[Value:Type].  \mforall{}[m:int-decr-map-type(Value)].  \mforall{}[k1,k2:\mBbbZ{}].  \mforall{}[v:Value].
    (int-decr-map-find(k1;int-decr-map-add(k2;v;m))
    =  if  (k1  =\msubz{}  k2)  \mwedge{}\msubb{}  (\mneg{}\msubb{}int-decr-map-inDom(k2;m))  then  inl  v  else  int-decr-map-find(k1;m)  fi  )
Date html generated:
2016_05_17-PM-01_49_51
Last ObjectModification:
2016_01_17-AM-11_38_06
Theory : datatype-signatures
Home
Index