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

*From*: JosEdu Solsona <josedusolsona@xxxxxxxxx>*Date*: Sun, 14 Jun 2020 16:05:00 -0700 (PDT)*References*: <49d1f151-10fe-449d-9fd9-fa7abbf2a4e5@googlegroups.com> <F30C5582-E77D-4405-A68A-5214D9FA50CA@gmail.com> <b8d0a69a-8f72-4834-bbc0-d40d6c61587bo@googlegroups.com> <6FD26A6D-8D05-4C50-ADE6-130CD2B17A82@gmail.com> <f53fac1a-36a6-45dc-a1d8-d3f16ab0f59eo@googlegroups.com>

Well, just to correct myself after trying to do the proof of my own example, the following alternative

currification of sum is needed to match the theorem form:

On Sunday, June 14, 2020 at 7:33:57 PM UTC-3, JosEdu Solsona wrote:

-- currification of sum is needed to match the theorem form:

`Sum[n \in Nat] ==`

IF n = 0

THEN [m \in Nat |-> m]

ELSE [m \in Nat |-> Sum[n-1][m] + 1 ]

On Sunday, June 14, 2020 at 7:33:57 PM UTC-3, JosEdu Solsona wrote:

Ok, i see. Instead of writing something like

Sum[n, m \in Nat] ==

IF n = 0

THEN m

ELSE Sum[n-1,m] + 1we write it as:

Sum[n \in Nat] ==

[m \in Nat |-> IF n = 0

THEN m

ELSE Sum[n-1][m] + 1 ]

which has type [Nat -> [Nat -> Nat]] and apply the same theorems to prove is well defined.Thank you.On Sunday, June 14, 2020 at 9:58:54 AM UTC-3, Stephan Merz wrote:Hello,I guess that these useful theorems need adapted versions to be used for recursive functions defined on multiple parameters (e.g. Sum[n, m \in Nat]where recursion is done on one parameter having the other fixed) because key theorems/definitions like RecursiveFcnOfNat andNatInductiveDefConclusion are written assuming single parameter functions. I'm right?.I recommend "currying" such functions, i.e. using functions of type [Nat -> [Nat -> S]] instead of [Nat \X Nat -> S] for TLAPS. Functions with several arguments are not or very badly supported at the moment (and this limitation has existed for far too long).Sorry,Stephan

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/5d522541-e980-40b5-845a-6e321bd57ad6o%40googlegroups.com.

**References**:**[tlaplus] Proof by induction invoking the SequencesInductionTail theorem***From:*JosEdu Solsona

**Re: [tlaplus] Proof by induction invoking the SequencesInductionTail theorem***From:*Stephan Merz

**Re: [tlaplus] Proof by induction invoking the SequencesInductionTail theorem***From:*JosEdu Solsona

**Re: [tlaplus] Proof by induction invoking the SequencesInductionTail theorem***From:*Stephan Merz

**Re: [tlaplus] Proof by induction invoking the SequencesInductionTail theorem***From:*JosEdu Solsona

- Prev by Date:
**Re: [tlaplus] Proof by induction invoking the SequencesInductionTail theorem** - Next by Date:
**Re: [tlaplus] How to Specify a Broadcast Channel** - Previous by thread:
**Re: [tlaplus] Proof by induction invoking the SequencesInductionTail theorem** - Next by thread:
**[tlaplus] how to input an array constant in TLA+ toolbox?** - Index(es):