[isabelle-dev] Order Relations
Christian Sternagel
c.sternagel at gmail.com
Tue Feb 19 03:50:05 CET 2013
On 02/18/2013 11:31 PM, Tobias Nipkow wrote:
> Am 18/02/2013 15:10, schrieb Lawrence Paulson:
>> These definitions originate in Isabelle/ZF, where it is quite essential to have a condition such as "r <= A <*> A", because otherwise no reflexive r could exist. They aren't is obviously necessary in Isabelle/HOL, but nevertheless the idea that the domain type can be identified with the actual domain of a relation is inflexible in many applications, where it's essential to have a separate carrier set, a subset of the full type.
>
> I believe it was me who ported those definitions. I vaguley recall that I tried
> various alternatives but this one seemed to work best for the theory at hand,
> Zorn. I am completely open to a nicer definition but would not want to redo all
> the proofs that depend on it myself.
My main problem with the current definition is that it is not (just)
reflexivity, but rather reflexivity plus an additional property (that
ensures that a relation is only defined on a domain). Why not split
these in two separate predicates and use the second one only where
really necessary?
I'm not sure how much work it would be to use this new definition of
reflexivity. But if people think that what I say makes sense (or is more
natural as reflexivity), I would give it a try and report afterwards.
cheers
chris
>
> Tobias
>
>> And of course, even if they aren't ideal, I'm afraid that we are stuck with them; at least, I suspect that changing them now would be more trouble than it is worth.
>>
>> Larry
>>
>> On 18 Feb 2013, at 05:45, Christian Sternagel <c.sternagel at gmail.com> wrote:
>>
>>> Dear Larry, Stefan, Tobias, and Andrei (as authors of the relevant Isabelle/HOL theories),
>>>
>>> already several times I stumbled upon the definition of Relation.refl_on (and thus also Order_Relation.Refl) and was irritated.
>>>
>>> What is the reason for demanding "r <= A <*> A"? And why are other properties from Order_Relation, which indicate an explicit domain by their name, defined by means of corresponding properties with implicit domain?
>>>
>>> E.g., in the following definitions
>>>
>>> definition "preorder_on A r == refl_on A r ∧ trans r"
>>> definition "partial_order_on A r == preorder_on A r ∧ antisym r"
>>> definition "linear_order_on A r ==
>>> partial_order_on A r ∧ total_on A r"
>>> definition "strict_linear_order_on A r ==
>>> trans r ∧ irrefl r ∧ total_on A r"
>>> definition "well_order_on A r == linear_order_on A r ∧ wf(r - Id)"
>>>
>>> I would expect properties like "trans_on", "antisym_on", "irrefl_on", and "wf_on" with explicit domain (of course that would only make sense after dropping "r <= A <*> A" from the definition of "refl_on", since otherwise r will only ever relate elements of A in the above definitions).
>>>
>>> Now I saw that Andrei writes
>>>
>>> "Refl_on A r" requires in particular that "r <= A <*> A",
>>> and therefore whenever "Refl_on A r", we have that necessarily
>>> "A = Field r". This means that in a theory of orders the domain
>>> A would be redundant -- we decided not to include it explicitly
>>> for most of the tehory.
>>>
>>> in his README to the new Cardinal theories. So this (strange?) definition of reflexivity is here to stay and used by an ever growing body of theories.
>>>
>>> This occasionally causes me some headache when I start to think about how my definitions from the AFP entry Well_Quasi_Orders would fit in as standard definitions in Isabelle/HOL. ( do recall that the current definition of Relation.refl_on would not have worked for my proofs.)
>>>
>>> Any comments are appreciated.
>>>
>>> cheers
>>>
>>> chris
>>> _______________________________________________
>>> isabelle-dev mailing list
>>> isabelle-dev at in.tum.de
>>> https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev
>>
>> _______________________________________________
>> isabelle-dev mailing list
>> isabelle-dev at in.tum.de
>> https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev
>>
> _______________________________________________
> isabelle-dev mailing list
> isabelle-dev at in.tum.de
> https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev
>
More information about the isabelle-dev
mailing list