# HG changeset patch # User nipkow # Date 1739721969 -3600 # Node ID 17e900a4a438c8ca73a0c121435c98a4c48278ae # Parent fa2c960fb232baf56e9590c4edc000a8cc55acab# Parent 4de658eaa94f9cf69eaf6cadda588a5eefd12de7 merged diff -r fa2c960fb232 -r 17e900a4a438 src/HOL/Nat.thy --- a/src/HOL/Nat.thy Sun Feb 16 11:57:41 2025 +0000 +++ b/src/HOL/Nat.thy Sun Feb 16 17:06:09 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)