[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [tlaplus] Where to put proofs on a SetSum?
The idea [1] was to add at least some theorems to the CommunityModules.
Markus
[1] https://github.com/tlaplus/CommunityModules/issues/60#issuecomment-1015689013
> On Jan 14, 2024, at 10:36 AM, Karolis Petrauskas <k.petrauskas@xxxxxxxxx> wrote:
>
> I have proved several properties on a function similar to SumSet from the community modules [1].
>
> SetSum(S, op(_)) ==
> LET iter[s \in SUBSET S] ==
> IF s = {} THEN 0
> ELSE LET e == CHOOSE e \in s : TRUE
> IN iter[s \ {e}] + op(e)
> IN iter[S]
>
> E.g., the following and similar.
> THEOREM SetSumAddElem ==
> ASSUME
> NEW S, IsFiniteSet(S),
> NEW op(_), \A s \in S : op(s) \in Nat,
> NEW e, e \notin S, op(e) \in Nat
> PROVE SetSum(S \cup {e}, op) = SetSum(S, op) + op(e)
>
> Where should I put these proofs to make them reusable?
> - The community modules repo [2] currently doesn't contain any proofs.
> - The examples repo [3] contains proofs but doesn't sound like a library of reusable modules.
>
> [1] https://github.com/tlaplus/CommunityModules/blob/243fa679bfa80fc5099f9911cf99fa0f029d9b2b/modules/FiniteSetsExt.tla#L16
> [2] https://github.com/tlaplus/CommunityModules
> [3] https://github.com/tlaplus/Examples
>
> Karolis
--
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/A67ED15F-5CB5-42A9-8B4D-5F10C5422EF8%40lemmster.de.