# HG changeset patch # User nipkow # Date 1739714728 -3600 # Node ID 4de658eaa94f9cf69eaf6cadda588a5eefd12de7 # Parent cd96b972d5d398940128f1b1dfef9f55777b6667 weakened type classes diff -r cd96b972d5d3 -r 4de658eaa94f src/HOL/Nat.thy --- a/src/HOL/Nat.thy Sat Feb 15 19:20:28 2025 +0100 +++ b/src/HOL/Nat.thy Sun Feb 16 15:05:28 2025 +0100 @@ -1625,7 +1625,7 @@ qed lemma mono_pow: "mono f \ mono (f ^^ n)" - for f :: "'a \ 'a::complete_lattice" + for f :: "'a \ 'a::order" by (induct n) (auto simp: mono_def) lemma lfp_funpow: @@ -2375,23 +2375,23 @@ subsection \Monotonicity of \funpow\\ lemma funpow_increasing: "m \ n \ mono f \ (f ^^ n) \ \ (f ^^ m) \" - for f :: "'a::{lattice,order_top} \ 'a" + for f :: "'a::order_top \ 'a" by (induct rule: inc_induct) (auto simp del: funpow.simps(2) simp add: funpow_Suc_right intro: order_trans[OF _ funpow_mono]) lemma funpow_decreasing: "m \ n \ mono f \ (f ^^ m) \ \ (f ^^ n) \" - for f :: "'a::{lattice,order_bot} \ 'a" + for f :: "'a::order_bot \ 'a" by (induct rule: dec_induct) (auto simp del: funpow.simps(2) simp add: funpow_Suc_right intro: order_trans[OF _ funpow_mono]) lemma mono_funpow: "mono Q \ mono (\i. (Q ^^ i) \)" - for Q :: "'a::{lattice,order_bot} \ 'a" + for Q :: "'a::order_bot \ 'a" by (auto intro!: funpow_decreasing simp: mono_def) lemma antimono_funpow: "mono Q \ antimono (\i. (Q ^^ i) \)" - for Q :: "'a::{lattice,order_top} \ 'a" + for Q :: "'a::order_top \ 'a" by (auto intro!: funpow_increasing simp: antimono_def)