# Re: [tlaplus] Defining Cardinality with TLA

Ok, So I can define.  But just not with |

Is that right ?

On Saturday, April 27, 2024 at 4:19:34 AM UTC+12 Hillel Wayne wrote:

You can define S^#, though!

S^# == Cardinality(S)

H

On 4/26/2024 9:35 AM, Felipe Oliveira Carvalho wrote:
That's not currently possible because the TLA+ doesn't support
user-defined syntax constructs this advanced.

--
Felipe

On Fri, Apr 26, 2024 at 8:54 AM marta zhango <marta...@xxxxxxxxx> wrote:

How can I declare or define a symbol to mean Cardinality such as |S|

Something like this maybe, to say that |S| means or in equivalent to Cardinality(S)

|S| == Cardinality (S)

Does one also use the keyword LET or something else ?

On Friday, April 26, 2024 at 11:17:46 PM UTC+12 Lee wrote:

Hi Marta,

If you want to know more about Cardinality please see this page by Hillel Wayne (https://learntla.com/core/operators.html?highlight=cardinality) . Since you said you're new, I can also recommend reading his entire tutorial page and blog posts in addition to his book (https://www.amazon.se/-/en/Hillel-Wayne/dp/1484238281). Other resources when you're done working these are:

- Specifying Systems by Leslie Lamport (which is only TLA+)
- http://lamport.azurewebsites.net/tla/learning.html - great way to get into how to think about this

Regards
Lee

On Friday, April 26, 2024 at 10:11:55 AM UTC+2 marta zhango wrote:

That is what I needed to see as I am new to all this, with no idea where to start.

On Friday, April 26, 2024 at 4:39:07 PM UTC+12 Stephan Merz wrote:

P.S.: Proofs of these theorems checked by TLAPS are given in https://github.com/tlaplus/tlapm/blob/main/library/FiniteSetTheorems_proofs.tla.

On 26 Apr 2024, at 06:37, Stephan Merz <Stepha...@xxxxxxxxx> wrote:

As Markus pointed out, cardinality of finite sets is defined in a standard module of TLA+. A collection of lemmas about finite sets and cardinality, useful for actually reasoning about these notions, is available at https://github.com/tlaplus/tlapm/blob/main/library/FiniteSetTheorems.tla (included in the distribution of TLAPS).

Stephan

On 26 Apr 2024, at 02:22, marta zhango <marta...@xxxxxxxxx> wrote:

Is the line

IN  CS[S]

part of the definition of cardinality ?

On Friday, April 26, 2024 at 11:55:57 AM UTC+12 Markus Kuppe wrote:

https://github.com/tlaplus/tlaplus/blob/03c7bf4f35ccf1217ac2c53e5bf60d1220c8b0d8/tlatools/org.lamport.tlatools/src/tla2sany/StandardModules/FiniteSets.tla#L21-L27


On Apr 25, 2024, at 4:53 PM, marta zhango <marta...@xxxxxxxxx> wrote:

Have thought something like this too

Cardinality(set) == (+ e \in DOMAIN set: IF set[e] THEN 1 ELSE 0)

On Friday, April 26, 2024 at 9:17:00 AM UTC+12 marta zhango wrote:
Like this for instance ?

Cardinality (S) = |S| == Count ( e \in S )

On Friday, April 26, 2024 at 8:36:13 AM UTC+12 marta zhango wrote:
How can I define the cardinality of a set as the number of elements in a set S
using the notation |S| using TLA.


--
You received this message because you are subscribed to the Google Groups "tlaplus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tlaplus+u...@xxxxxxxxxxxxxxxx.
To view this discussion on the web visit https://groups.google.com/d/msgid/tlaplus/f2c82e65-92e1-4c06-b61a-dfd78d19a017n%40googlegroups.com.


--
You received this message because you are subscribed to the Google Groups "tlaplus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tlaplus+u...@xxxxxxxxxxxxxxxx.
To view this discussion on the web visit https://groups.google.com/d/msgid/tlaplus/a98df958-c39e-4597-bcab-f08e8b5040e9n%40googlegroups.com.


--
You received this message because you are subscribed to the Google Groups "tlaplus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tlaplus+unsubscribe@xxxxxxxxxxxxxxxx.
To view this discussion on the web visit https://groups.google.com/d/msgid/tlaplus/52320aa6-bcf6-4d20-8ddd-d852d2ca5eecn%40googlegroups.com.