Thm* 'a,'b:S.
Thm* all
Thm* ( f:'a  'b. all
Thm* ( f:'a  'b. ( l1:hlist('a). all
Thm* ( f:'a  'b. ( l1:hlist('a). ( l2:hlist('a). equal
Thm* ( f:'a  'b. ( l1:hlist('a). ( l2:hlist('a). (map(f,append(l1,l2))
Thm* ( f:'a  'b. ( l1:hlist('a). ( l2:hlist('a). ,append
Thm* ( f:'a  'b. ( l1:hlist('a). ( l2:hlist('a). ,(map(f,l1)
Thm* ( f:'a  'b. ( l1:hlist('a). ( l2:hlist('a). ,,map(f,l2)))))) | [hmap_append_2] |