removed cases_of;
renamed cases_tac to case_tac; tuned to work with basic HOL as well;
add_cases_induct: proper case names;
adapted to new PureThy.add_thms etc.;
Chain = List +
consts chain :: "('a => 'a => bool) * 'a list => bool"
recdef chain "measure (%(r,xs). length xs)"
"chain(r, []) = True"
"chain(r, [x]) = True"
"chain(r, x#y#zs) = (r x y & chain(r, y#zs))"
end