Boost logo

Boost :

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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk