At: rel mng lemma 1 2 1 2 1 1 1
1. ds: Collection(dec())
2. da: Collection(dec())
3. de: sig()
4. rho: Decl
5. st1: Collection(SimpleType)
6. e1: {1of([[de]] rho)}
7. s: {[[ds]] rho}
8. a: [[st1]] rho
9. tr: trace_env([[da]] rho)
10. l: Term List
11. u: Term
12. v: Term List
13.
i:
(||v||+1). trace_consistent(rho;da;tr.proj;[u / v][i])
14. ls: SimpleType List
15. f: reduce(
s,m. [[s]] rho
m;Prop;ls)
16. ||ls|| = ||v||+1

17.
i:
. i < ||v||+1 
ls[i]
term_types(ds;st1;de;[u / v][i])
18.
ls:SimpleType List, f:reduce(
s,m. [[s]] rho
m;Prop;ls).
||ls|| = ||v||
& (
i:
. i < ||v|| 
ls[i]
term_types(ds;st1;de;v[i])) 
list_accum(x,t.x([[t]] e1 s a tr);f;v)
Prop
19.
f:reduce(
s,m. [[s]] rho
m;Prop;tl(ls)).
||tl(ls)|| = ||v||
& (
i:
. i < ||v|| 
tl(ls)[i]
term_types(ds;st1;de;v[i])) 
list_accum(x,t.x([[t]] e1 s a tr);f;v)
Prop
ls ~ [hd(ls) / tl(ls)]
By: BackThru
Thm*
L:T List. 0 < ||L|| 
(L ~ [hd(L) / tl(L)])
Generated subgoals:None
About: