Where to put proofs on a SetSum?

30 views
Skip to first unread message

Karolis Petrauskas

unread,
Jan 14, 2024, 6:37:11 PM1/14/24
to tla...@googlegroups.com
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.


Karolis

Markus Kuppe

unread,
Jan 14, 2024, 6:49:34 PM1/14/24
to tla...@googlegroups.com
The idea [1] was to add at least some theorems to the CommunityModules.

Markus

[1] https://github.com/tlaplus/CommunityModules/issues/60#issuecomment-1015689013
Reply all
Reply to author
Forward
0 new messages