[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

*From*: Stephan Merz <stephan.merz@xxxxxxxxx>*Date*: Fri, 30 Apr 2021 06:46:46 -0700 (PDT)*Ironport-hdrordr*: A9a23:3UYupK8uID0XNQ3qoQduk+F3db1zdoIgy1knxilNYDZSddGVkN3roeQD2XbP+UoscVwDufTFAqmPRnvA6YV4iLN6UIuKcQH6tAKTXeVfxKT4xTmIIVyYysd80uNaf7F6GJnMCzFB/L7HySy5Cctl6MKM8aC2iY7lvgFQZCRrcbwlzgt9E2+gYzpLbSxHH4d8NLf03Ls1mxOEeW4LKv28HGRtZZm2m/TvlIj6JSIAHQIt8gOUjTilgYSKWiSw+jc7f3dxzaw58W7D+jaJm5mLl/m6zx/a2SvX745K8eGRuudrIMCXkMAaJnHNh2+TFf1ccoSYsDo4re2p4lpCqqi8nz4aM85+62zccwiOyHOHqmvd+Q0j5HP4xViTjWGLm72DeBsAB9NFlcZldHLimjQdletx169GxAui2KZ/Nw/Knyj2+rHzJmtXv3ezyEBS99I7vjh1XYcYVb5ctoB3xjI3LL4wWAz/rKQqCvNnAs2Z3utfbF/yVR7kl1gq7tqrUHE+WjqlYmxHgMya1DBKgGt0pnF1+OUv2lkH8pw5R91r/OLZK+BJmdh1P7orRJM4KuEGT866TlbIXAuJCmSPOl7qfZtnB1v977jt4Ls04+muPKYFy5Y/g/36ISxlnF93QE7lBc2Q0JAjyHC9JVmVbHDW08lbo7J5trf/SLeuESrGZkspj9LImYRsPvHm*References*: <f06df008-8efa-4942-bb93-a2ebbbfe7984n@googlegroups.com> <09E12A1A-7A9E-4A1D-9B43-7048C57AE425@gmail.com> <80bd4635-9dcb-4604-a8fa-30fecd75baedn@googlegroups.com> <7E9E767C-4AA9-4068-8353-64B525E2F886@gmail.com>

P.S.: I realize that I was imprecise in my answer. If you want to check that your action formula holds at all transitions of a system whose variables are contained in the tuple vars, you should write

[][(y=0 /\ y' = 0) \/ (y # 0 /\ y' = y-1)]_vars

However, if you want to check that the formula is true for all transitions that change y, you should write

[][(y=0 /\ y' = 0) \/ (y # 0 /\ y' = y-1)]_y

Stephan

On Friday, April 30, 2021 at 3:17:44 PM UTC+2 Stephan Merz wrote:

As I wrote, this is an action formula, not a temporal formula expected for properties. If you want to check that this action formula holds at all transitions, you can write[][(y=0 /\ y' = 0) \/ (y # 0 /\ y' = y-1)]_y(you may also use the tuple "vars" as the subscript if it includes y).StephanOn 30 Apr 2021, at 15:09, c.burge...@gmail.com <c.burge...@xxxxxxxxx> wrote:Thanks, clearly it doesn't help when I get my logical syntaxes confused!

I now have:(y=0 /\ y' = 0) \/ (y # 0 /\ y' = y-1)

But when I put this as a property in TLC, I get the error:

"The property ... is not correctly defined."On Friday, April 30, 2021 at 1:48:03 PM UTC+1 Stephan Merz wrote:Hello,1. "not equal" is written # in TLA+ (or /=), "~" is Boolean negation.2. I believe "->" represents implication in your formula, but it is written "=>" in TLA+.3. The expressions on both sides of an implication should be Boolean, but the _expression_ on the right-hand side is y-1.4. The (action) formula corresponding to your informal statement can be written as\/ y' = 0\/ y # 0 /\ y' = y-1A similar formula (but with a slightly different meaning) isy' = IF y # 0 THEN y-1 ELSE 0StephanHi again!

I have the following temporal formula:y'= 0 \/ y ~0 -> y-1

Which I hope says that the next value of y is zero or y-1 if y is not zero.

However, when I put this as a property in TLC, I get the error:

Was expecting ===== or more module body, encountered '~' in Properties at line 1 and token 'y'.

Obviously it's not happy with the ~ (equally unhappy with \lnot), but I'm not sure how to proceed from here!--

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/f06df008-8efa-4942-bb93-a2ebbbfe7984n%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/80bd4635-9dcb-4604-a8fa-30fecd75baedn%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/4aff7107-898f-426e-a3a2-5c49e2583302n%40googlegroups.com.

**Follow-Ups**:**Re: [tlaplus] What's wrong with this temporal formula?***From:*c.burge...@xxxxxxxxx

**References**:**[tlaplus] What's wrong with this temporal formula?***From:*c.burge...@xxxxxxxxx

**Re: [tlaplus] What's wrong with this temporal formula?***From:*Stephan Merz

**Re: [tlaplus] What's wrong with this temporal formula?***From:*c.burge...@xxxxxxxxx

**Re: [tlaplus] What's wrong with this temporal formula?***From:*Stephan Merz

- Prev by Date:
**Re: [tlaplus] What's wrong with this temporal formula?** - Next by Date:
**Re: [tlaplus] What's wrong with this temporal formula?** - Previous by thread:
**Re: [tlaplus] What's wrong with this temporal formula?** - Next by thread:
**Re: [tlaplus] What's wrong with this temporal formula?** - Index(es):