[System]
Name: IsDivisible

[Parameter]
A_VAL (enum) : [NORMAL], MINIMUM, MAXIMUM
B_VAL (enum) : [NORMAL], MINIMUM, MAXIMUM
A_SIGNED (enum) : POSITIVE, NEGATIVE, ZERO
B_SIGNED (enum) : POSITIVE, NEGATIVE, ZERO
DIVISABLE (bool) : TRUE, FALSE
a (int) : 0, 1, -1, 4, 5, 20, 21, 21474836, -21474836
b (int) : 1, -1, 4, 5, 20, 21, 21474836, -21474836 ; 0

[Constraint]
A_VAL = "MINIMUM" => a = -21474836
A_VAL = "MAXIMUM" => a = 21474836
B_VAL = "MINIMUM" => b = -21474836
B_VAL = "MAXIMUM" => b = 21474836

A_SIGNED = "POSITIVE" => a > 0
A_SIGNED = "NEGATIVE" => a < 0
A_SIGNED = "ZERO" => a = 0
B_SIGNED = "POSITIVE" => b > 0
B_SIGNED = "NEGATIVE" => b < 0
B_SIGNED = "ZERO" => b = 0

(DIVISABLE = true) => a % b = 0
(DIVISABLE = false) => a % b != 0
