Skip to content

Benchmarks

two-hand control on a power press, Type II (ST twin)

suite id st_two_hand
domain manufacturing
language ST
difficulty easy
validation status candidate
origin authored
license CC-BY-4.0
syntax pair of g_two_hand

Structured Text rendering of g_two_hand, for cross-language comparison of the same machine

What is proved

From benchmarks/manufacturing/st_two_hand/props.yaml. What each kind claims, and what it becomes on either route, is on The properties we prove.

id kind claim requirement
P1 invariant !Stroke || (LH && RH) ISO 13851 requires the ram to descend only while both actuators are held. Releasing either one stops the stroke.

Variants

file expected verdict violates method
two_hand.st SAFE none expert

Files

file what it is size sha256
benchmark.yml benchmark metadata 0.5 KB 71c9b9447c7f
props.yaml property file 0.2 KB 01c905820f28
two_hand.st structured text 0.6 KB 9c98a8c369a0

Recorded runs

A task can carry two routes. ld is ESBMC's ladder front end reading the program directly. via C is the same solver reached through Beremiz and MatIEC, which is the only route that reaches ST, IL, FBD and SFC; see How ESBMC-PLC works.

  • st_two_hand__two_hand__viac via C (props.yaml, expected SAFE): master SAFE