<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
You're right. I didn't put that precisely enough. But, the inverse of <i>any</i>
partial order is still a partial order.<br>
<br>
With the set of natural numbers, is it still reasonable to say that the
order that puts 2 ≤ 1 is "just as natural" as the conventional order?
Probably not.<br>
<br>
So, ⊆ is the <i>conventional</i> order for sets, ⇒ is the conventional
order for predicates, ≤ is the conventional order for numbers, and so
on. That still dictates that False < True is the conventional order
for booleans.<br>
<br>
Albert Y. C. Lai wrote:
<blockquote cite="mid4664F1BC.5020905@vex.net" type="cite">Scott
Brickner wrote:
<br>
<blockquote type="cite">It's actually not arbitrary.
<br>
</blockquote>
[...]
<br>
<blockquote type="cite">A ≤ B iff A ⊆ B
<br>
A ⊆ B iff (x ∊ A) ⇒ (x ∊ B)
<br>
</blockquote>
<br>
Alternatively and dually but equally naturally,
<br>
<br>
A ≥ B iff A ⊆ B iff (x ∊ A) ⇒ (x ∊ B)
<br>
<br>
and then we would have False > True.
<br>
<br>
Many of you are platonists rather than formalists; you have a strong
conviction in your intuition, and you call your intuition natural. You
think ∅≤U is more natural than ∅≥U because ∅ has fewer elements than U.
(Why else would you consider it unnatural to associate ≥ with ⊆?) But
that is only one of many natural intuitions.
<br>
<br>
There are two kinds of natural intuitions: disjunctive ones and
conjunctive ones. The elementwise intuition above is a disjunctive one.
<br>
It says, we should declare {0}≤{0,1} because {0} corresponds to the
predicate (x=0), {0,1} corresponds to the predicate (x=0 or x=1), you
see the latter has more disjuncts, so it should be a larger predicate.
<br>
<br>
However, {0} and {0,1} are toy, artificial sets, tractible to enumerate
individuals. As designers of programs and systems, we deal with real,
natural sets, intractible to enumerate individuals. For example, when
you design a data type to be a Num instance, you write down two
QuickCheck properties:
<br>
x + y = y + x
<br>
x * y = y * x
<br>
And lo, you have specified a conjunction of two predicates! The more
properties (conjuncts) you add, the closer you get to ∅ and further
from U, when you look at the set of legal behaviours. Therefore a
conjunctive intuition deduces ∅≥U to be more natural.
<br>
_______________________________________________
<br>
Haskell-Cafe mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a>
<br>
<a class="moz-txt-link-freetext" href="http://www.haskell.org/mailman/listinfo/haskell-cafe">http://www.haskell.org/mailman/listinfo/haskell-cafe</a>
<br>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
-----
What part of "ph'nglui bglw'nafh Cthulhu R'lyeh wagn'nagl fhtagn" don't you understand?
</pre>
</body>
</html>