Discussion:
set inclusion (Oberon 07)
(too old to reply)
frrrstfn
2010-06-01 07:50:00 UTC
Permalink
According to Oberon 07 report the symbol <= and >= denote set
inclusion.

My question is an empty SET always included in a non empty SET ?

e.g. : {} <= {0} is TRUE?
Pascal J. Bourguignon
2010-06-01 08:32:03 UTC
Permalink
Post by frrrstfn
According to Oberon 07 report the symbol <= and >= denote set
inclusion.
My question is an empty SET always included in a non empty SET ?
Only if the set includes the empty set.

{} <= {{}}
Post by frrrstfn
e.g. : {} <= {0} is TRUE?
Inclusion is a relation between an element and a set.
Subset is a relation between two sets.

Some confusion may occur, because you may define set of sets
(mathematically), and a set may be an element of another set (of sets)
or a subset of another set.


I've not read the Oberon 07 report, so I don't know what terminology
it uses or how it defines <= and >= when one or both of the operands
are sets.


IIRC, in Modula-2, there were only sets of small integers, (so they
could be represented by a word of bits), and <= and => denoted the
subset ⊂ and superset ⊃ relations, not the element-of ∈, or contains ∋
relations.


So,

{} ⊂ {0} is true
{} ∈ {0} is false

{} <= {0} depends on the meaning of <=. Read the report again!
--
__Pascal Bourguignon__ http://www.informatimago.com/
August Karlstrom
2010-06-01 17:27:51 UTC
Permalink
According to Oberon 07 report the symbol<= and>= denote set
inclusion.
My question is an empty SET always included in a non empty SET ?
e.g. : {}<= {0} is TRUE?
Yes, the empty set is a subset of every set; even of the empty set itself.


August
Chris Burrows
2010-06-02 13:26:42 UTC
Permalink
Post by frrrstfn
According to Oberon 07 report the symbol <= and >= denote set
inclusion.
My question is an empty SET always included in a non empty SET ?
e.g. : {} <= {0} is TRUE?
Yes.

Wirth recently published a paper titled "SET: A neglected data type and its
compilation for the ARM"

http://www.inf.ethz.ch/personal/wirth/Articles/Oberon/SETs.pdf

If you read that you can see how the set inclusion operation is implemented
by looking at the ARM code generated. It uses the BIC (Bit Clear)
instruction which performs a bitwise AND of one value with the complement of
a second value. {} is represented by integer 0 and {0} is represented by
integer 1.

Regards,
Chris Burrows

Astrobe: ARM Oberon-07 Development System for Windows
http://www.astrobe.com

Loading...