# HG changeset patch # User paulson # Date 1597768731 -3600 # Node ID 721a05da8fe7d770bd51b84f3404b4f7ca1db551 # Parent e5765cfd4338b8caa8f1d72a4726ad30da2faccb lexicographic ordering: new simp setup to prioritise the simpler "less_than" case diff -r e5765cfd4338 -r 721a05da8fe7 src/HOL/Wellfounded.thy --- a/src/HOL/Wellfounded.thy Tue Aug 18 14:45:09 2020 +0100 +++ b/src/HOL/Wellfounded.thy Tue Aug 18 17:38:51 2020 +0100 @@ -768,7 +768,11 @@ (infixr "<*lex*>" 80) where "ra <*lex*> rb = {((a, b), (a', b')). a \ a' \ (a, a') \ ra \ a = a' \ (b, b') \ rb}" -lemma in_lex_prod[simp]: "((a, b), (a', b')) \ r <*lex*> s \ a \ a' \ (a, a') \ r \ a = a' \ (b, b') \ s" +lemma in_lex_prod[simp]: "NO_MATCH less_than r \ ((a, b), (a', b')) \ r <*lex*> s \ a \ a' \ (a, a') \ r \ a = a' \ (b, b') \ s" + by (auto simp:lex_prod_def) + +text\compared with @{thm[source]in_lex_prod} this yields simpler results\ +lemma in_lex_prod_less_than[simp]: "((a, b), (a', b')) \ less_than <*lex*> s \a a = a' \ (b, b') \ s" by (auto simp:lex_prod_def) lemma wf_lex_prod [intro!]: