Context-Sensitive Category
CoCo 2022 will feature a new competition category on context-sensitive problems.
Format
The input is a context-sensitive rewrite system, specified in the CSTRS format or the CSCTRS format.
The question to be answered is whether the context-sensitive rewrite system is confluent. The first line of the output must be
- 
YES, indicating that the input system is confluent, - 
NO, indicating that the input system is non-confluent, - 
any other answer (e.g., 
MAYBE) indicates that the tool could not determine the status of the input problem. 
In the first two cases, the output must be followed by justification that is understandable by a human expert.
Examples
- 
(VAR L X) (REPLACEMENT-MAP (cons 1) ) (RULES incr(nil) -> nil incr(cons(X,L)) -> cons(s(X),incr(L)) adx(nil) -> nil adx(cons(X,L)) -> incr(cons(X,adx(L))) nats -> adx(zeros) zeros -> cons(0,zeros) head(cons(X,L)) -> X tail(cons(X,L)) -> L )
The correct answer isYES. - 
(CONDITIONTYPE ORIENTED) (VAR l x y) (REPLACEMENT-MAP (cons 2) (le 1) ) (RULES le(0,s(x)) -> true le(x,0) -> false le(s(x),s(y)) -> le(x,y) min(cons(x,nil)) -> x min(cons(x,l)) -> x | le(x,min(l)) == true min(cons(x,l)) -> min(l) | le(x,min(l)) == false min(cons(x,l)) -> min(l) | min(l) == x )
The correct answer is currently unknown. 
Problem Selection
Problems are selected among those in COPS with the 'cstrs' or the 'csctrs' tag.