[isabelle-dev] Missing generic predication for monotone function
Peter Lammich
lammich at in.tum.de
Tue May 17 16:16:09 CEST 2022
There is already Complete_Partial_Order.monotone, which you get via
HOL.Main.
Is that what you are looking for?
--
Peter
On 17/05/2022 13:55, Tobias Nipkow wrote:
>
>
> On 16/05/2022 17:02, Martin Desharnais wrote:
>> Dear Isabelle developers,
>>
>> the theory Orderings.thy defines the "mono" predicate in the context
>> of the "order" type class. However, in some situations, one cannot
>> use type classes and must resort to an arbitrary ordering predicate.
>> Some useful characterizing predicates (e.g. reflp, transp, antisymp,
>> inj) are already available in HOL, but there is nothing for
>> monotonicity.
>>
>> I would like to introduce said missing predicate to, e.g., the
>> Fun.thy theory. A concrete suggestion is attached at the end of this
>> email.
>
> I wonder if it should also go into Orderings.thy, just to keep the two
> versions closer together? Or does Orderings.thy not work because it
> does not include Fun.thy and thus misses some necessary material (eg
> Sets)?
>
> Tobias
>
>> Any opinion on the matter?
>>
>> Regards,
>> Martin
>>
>>
>>
>> subsubsection ‹Monotonicity›
>>
>> definition mono_wrt_on :: "('a ⇒ 'a) ⇒ ('a ⇒ 'a ⇒ bool) ⇒ 'a set ⇒
>> bool" where
>> "mono_wrt_on f R A ⟷ (∀x ∈ A. ∀y ∈ A. R x y ⟶ R (f x) (f y))"
>>
>> abbreviation mono_wrt :: "('a ⇒ 'a) ⇒ ('a ⇒ 'a ⇒ bool) ⇒ bool" where
>> "mono_wrt f R ≡ mono_wrt_on f R UNIV"
>>
>> lemma mono_wrt_onI:
>> "(⋀x y. x ∈ A ⟹ y ∈ A ⟹ R x y ⟹ R (f x) (f y)) ⟹ mono_wrt_on f R A"
>> by (simp add: mono_wrt_on_def)
>>
>> lemma mono_wrtI:
>> "(⋀x y. R x y ⟹ R (f x) (f y)) ⟹ mono_wrt f R"
>> by (simp add: mono_wrt_onI)
>>
>> lemma mono_wrt_onD: "mono_wrt_on f R A ⟹ x ∈ A ⟹ y ∈ A ⟹ R x y ⟹ R (f
>> x) (f y)"
>> by (simp add: mono_wrt_on_def)
>>
>> lemma mono_wrtD: "mono_wrt f R ⟹ R x y ⟹ R (f x) (f y)"
>> by (simp add: mono_wrt_onD)
>>
>> _______________________________________________
>> isabelle-dev mailing list
>> isabelle-dev at in.tum.de
>> https://mailman46.in.tum.de/mailman/listinfo/isabelle-dev
>
> _______________________________________________
> isabelle-dev mailing list
> isabelle-dev at in.tum.de
> https://mailman46.in.tum.de/mailman/listinfo/isabelle-dev
More information about the isabelle-dev
mailing list