Thm* as:(Label T) List, d:T, x:Label.
(x 1of(unzip(as)))  apply_alist(as;x;d) = d | [apply_alist_non_member] |
Thm* as:(Label T) List, d1,d2:T, x:Label.
(x 1of(unzip(as)))  apply_alist(as;x;d1) = apply_alist(as;x;d2) | [apply_alist_member2] |
Thm* as:(Label T) List, d:T, x:Label.
(x 1of(unzip(as)))  ( < x,apply_alist(as;x;d) > as) | [apply_alist_member] |
Thm* as:(Label T) List, p:(Label T), l:Label, d:T.
apply_alist([p / as];l;d) ~ if 1of(p) = l 2of(p) else apply_alist(as;l;d) fi | [apply_alist_cons] |
Thm* d:Top, l:Label. apply_alist(nil;l;d) ~ d | [apply_alist_nil] |
Thm* as:(Label T) List, d:T, x:Label.
(apply_alist(as;x;d) 2of(unzip(as))) apply_alist(as;x;d) = d | [apply_alist_property] |
Thm* u:Term, te:(Label Label  ), e,s,a:Top.
[[u]] e s a mk_trace_env(nil, te) ~ [[u]] e s a niltrace() | [term_mng_nil] |
Thm* d:Decl, t:trace_env(d). t.proj Label Label   | [trace_env_proj_wf] |
Thm* A:Type, v,op,f,p,t:(Label A), x:ts().
ts_case(x)var(a)= > v(a)var'(b)= > p(b)opr(f)= > op(f)fvar(y)= > f(y)trace(P)= > t(P)end_ts_case A | [ts_case_wf] |
Def trace_env(d) == (( d) List) (Label Label  ) | [trace_env] |
Def SimpleType == Tree(Label+Unit) | [st] |
Def ts() == Label+Label+Label+Label+Label | [ts] |