var bool: BOOL____00002 :: is_defined_var :: var_is_introduced; var bool: John; var bool: Matt; var bool: Mr_Smith; var bool: Mrs_Smith; var bool: Tim = John; array [1..5] of var bool: x :: output_array([1..5]) = [Mr_Smith, Mrs_Smith, Matt, Tim, Tim]; constraint array_bool_and([Tim, Mr_Smith], BOOL____00002) :: defines_var(BOOL____00002); constraint array_bool_or([Matt, Tim], true); constraint bool_le(Matt, BOOL____00002); constraint bool_le(Mr_Smith, Mrs_Smith); constraint bool_not(Mrs_Smith, Tim); solve satisfy;