This commit is contained in:
2026-03-12 02:40:33 -04:00
parent f5820eb211
commit 6c55a8400b
21 changed files with 1473 additions and 1 deletions

4
tests/tcp/props/phi1.pml Normal file
View File

@@ -0,0 +1,4 @@
/* safety: half-open prevention */
ltl phi1 {
always ( leftClosed implies !rightEstablished )
}

5
tests/tcp/props/phi2.pml Normal file
View File

@@ -0,0 +1,5 @@
/* liveness: verifying connection establishment */
ltl phi2 {
( (always ( eventually ( state[0] == 1 && state[1] == 2 ) ) )
implies ( eventually ( state[0] == 4 ) ) )
}

22
tests/tcp/props/phi3.pml Normal file
View File

@@ -0,0 +1,22 @@
/* liveness: no infinite stalls/deadlocks */
ltl phi3 {
!(eventually (((always (state[0] == SynSentState)) ||
(always (state[0] == SynRecState)) ||
(always (state[0] == EstState)) ||
(always (state[0] == FinW1State)) ||
(always (state[0] == CloseWaitState)) ||
(always (state[0] == FinW2State)) ||
(always (state[0] == ClosingState)) ||
(always (state[0] == LastAckState)) ||
(always (state[0] == TimeWaitState)))
&&
((always (state[1] == SynSentState)) ||
(always (state[1] == SynRecState)) ||
(always (state[1] == EstState)) ||
(always (state[1] == FinW1State)) ||
(always (state[1] == CloseWaitState)) ||
(always (state[1] == FinW2State)) ||
(always (state[1] == ClosingState)) ||
(always (state[1] == LastAckState)) ||
(always (state[1] == TimeWaitState)))))
}

11
tests/tcp/props/phi4.pml Normal file
View File

@@ -0,0 +1,11 @@
/* liveness: simultanous open */
ltl phi4 {
always (
(state[0] == SynSentState &&
state[1] == SynSentState)
implies
((eventually state[0] == EstState) &&
(eventually state[1] == EstState)))
}

13
tests/tcp/props/phi5.pml Normal file
View File

@@ -0,0 +1,13 @@
/* liveness: SYN_RECEIVED resolution*/
ltl phi5 {
always (
(state[0] == SynRecState)
implies (
eventually (
(state[0] == EstState ||
state[0] == FinW1State ||
state[0] == ClosedState)
)
)
)
}

9
tests/tcp/props/phi6.pml Normal file
View File

@@ -0,0 +1,9 @@
/* safety: strict closing transitions */
ltl phi6 {
always (
(state[0] == ClosingState)
implies
(next (state[0] == ClosingState ||
state[0] == ClosedState))
)
}