$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [Concepts] Definition. Was [GSoC] [Boost.Hana] Formal review request
From: Mostafa (mostafa_working_away_at_[hidden])
Date: 2014-08-05 09:17:55
On Tue, 05 Aug 2014 04:58:35 -0700, Roland Bock <rbock_at_[hidden]> wrote:
> On 2014-08-05 12:13, Mostafa wrote:
>> On Tue, 05 Aug 2014 00:07:42 -0700, Roland Bock <rbock_at_[hidden]>
>> wrote:
>>
>>> On 2014-08-05 02:08, Mostafa wrote:
>>>> On Mon, 04 Aug 2014 08:39:36 -0700, Roland Bock <rbock_at_[hidden]>
>>>> wrote:
>>
>> [snip]
>>
>>>> Additionally, if concepts were sets of type requirements than the
>>>> phrase "T is DefaultConstructible" reads awkwardly, it almost sounds
>>>> as if T were a type requirement itself, when we actually mean to say
>>>> that T satisfies the requirements of default constructibility. And the
>>>> language "x satisfies abc" usually connotates set membership.
>>> Sure, that type is a member of T(DefaultConstructible).
>>>
>>> I don't get your argument at all. If you say "this car is green", you
>>> say both "this car is a member of the set of green things" and "this
>>> car
>>> meets the requirements of being green". It does neither imply that
>>> "green is the set of green things" (endless recursion) nor does it say
>>> that "green is a set of being-green-requirements" (also endless
>>> recursion). Still, everyone knows what is meant without feeling awkward
>>> about it.
>>
>> Unfortunately English can be ambiguous, so let's be more precise. When
>> one says "this car is green" one actually means "this car is a green
>> thing" (green is being used as a noun, not as an adjective like "green
>> balloon"). That means "this car is a member of GreenThings". If
>> GreenThings were a set of requirements then that means "this car" is
>> also a requirement, which obviously it's not.
>
> You're only ever seeing your view :-)
> Another option is: When one says "this car is green", one actually means
> "this car emits light with a wavelength around 510nm". So the concept
> "green" is not a set of green things, it is a set of requirements (in
> this case with one element, namely "emits light with a wavelength around
> 510nm").
No, I see your pov, I just claim you're view is logically flawed. I find
this topic interesting, so if I may, I shall try to prove the flaw.
1) I claim that when one says "this car is green" one means "this car is a
green thing", that's because by the rules of English syntax "green" in the
original sentence has to be a noun, and because "green" is neither a
person nor a place, it must be a thing.
2) So the question becomes what is a "green thing"? I claim that a "green
thing" is any thing that satisfies being "green".
3) Let's assume for the sake of argument that "green" is a set of
requirements. What is a requirement? It's a logical predicate, which is
itself a boolean-valued function. So the "green" concept can be defined as
follows:
green := { p = { (x, p(x)) | p(x) = "does x emit light at ...} }
4) How does a thing satisfy being "green"? Since "green" is a set, the
thing in question satisfies being "green" by being a member of that set.
Since "green" as defined above has only one member, the thing in question
satisfies being "green" by being the predicate p.
5) Hence, a green thing can only be the predicate p and, ergo, the car is
the predicate p.
6) Reductio ad absurdum. Our intent was not to say that the car is the
predicate p, rather that the car was a truth value for p, that is it
satisfied the predicate/requirement p.
Hence my original assertion that the English construct "T is
DefaultConstructible" reads awkwardly if DefaultConstructible is defined
as a set of requirements.
(Note, I'll tried to do was symbolize in the language of logic and set
theory the sentence "this car is green", or "T is DefaultConstructible".)
Mostafa