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