Confluence Competition

Format

The syntax of the TRS format is specified as follows:

 TRS ::= ( format TRS ) fun* rule*
 fun ::= ( fun identifier number )
rule ::= ( rule term term )
Function symbols and their arities are declared by (fun f n). Function symbols must be declared once. Undeclared identifiers are regarded as variables. In terms, function symbols must be used with the same number of arguments as specified in their arities. So with (fun f 1) and (fun a 0) the rules (rule (f a) (f a a)) and (rule a f) are ill-formed. Moreover, rules should respect the usual variable conditions: left-hand sides cannot be variables and variables occurring in right-hand sides must occur in the corresponding left-hand sides. So (rule x (f a)) and (rule (f x) y) are ill-formed rules.

Examples

; @author Christina Kohl
; @cops 1655
; secret problem 2022
(format TRS)
(fun f 2)
(fun g 1)
(fun a 0)
(fun b 0)
(rule (f x1 (g x2)) (f x1 (g x1)))
(rule (f (g y1) y2) (f (g y1) (g y1)))
(rule (g a) (g b))
(rule b a)
Here x1, x2, y1 and y2 are variables.

; @author Franziska Rapp
; @cops 557
(format TRS)
(fun f 2)
(fun a 0)
(fun b 0)
(fun c 0)
(rule a b)
(rule (f x a) (f b b))
(rule (f b x) (f b b))
(rule (f (f x y) z) (f b b))
Note that the contant c does not appear in the rewrite rules.