github.com/ari-anchor/sei-tendermint@v0.0.0-20230519144642-dc826b7b56bb/spec/light-client/accountability/MC_n4_f2_amnesia.tla (about) 1 ---------------------- MODULE MC_n4_f2_amnesia ------------------------------- 2 EXTENDS Sequences 3 4 CONSTANT 5 \* @type: ROUND -> PROCESS; 6 Proposer 7 8 \* the variables declared in TendermintAcc3 9 VARIABLES 10 \* @type: PROCESS -> ROUND; 11 round, 12 \* @type: PROCESS -> STEP; 13 step, 14 \* @type: PROCESS -> VALUE; 15 decision, 16 \* @type: PROCESS -> VALUE; 17 lockedValue, 18 \* @type: PROCESS -> ROUND; 19 lockedRound, 20 \* @type: PROCESS -> VALUE; 21 validValue, 22 \* @type: PROCESS -> ROUND; 23 validRound, 24 \* @type: ROUND -> Set(PROPMESSAGE); 25 msgsPropose, 26 \* @type: ROUND -> Set(PREMESSAGE); 27 msgsPrevote, 28 \* @type: ROUND -> Set(PREMESSAGE); 29 msgsPrecommit, 30 \* @type: Set(MESSAGE); 31 evidence, 32 \* @type: ACTION; 33 action 34 35 \* the variable declared in TendermintAccTrace3 36 VARIABLE 37 \* @type: TRACE; 38 toReplay 39 40 INSTANCE TendermintAccTrace_004_draft WITH 41 Corr <- {"c1", "c2"}, 42 Faulty <- {"f3", "f4"}, 43 N <- 4, 44 T <- 1, 45 ValidValues <- { "v0", "v1" }, 46 InvalidValues <- {"v2"}, 47 MaxRound <- 2, 48 Trace <- << 49 "UponProposalInPropose", 50 "UponProposalInPrevoteOrCommitAndPrevote", 51 "UponProposalInPrecommitNoDecision", 52 "OnRoundCatchup", 53 "UponProposalInPropose", 54 "UponProposalInPrevoteOrCommitAndPrevote", 55 "UponProposalInPrecommitNoDecision" 56 >> 57 58 \* run Apalache with --cinit=ConstInit 59 ConstInit == \* the proposer is arbitrary -- works for safety 60 Proposer \in [Rounds -> AllProcs] 61 62 =============================================================================