Certification Problem

Input (COPS 112)

We consider the TRS containing the following rules:

nats :(0,inc(nats)) (1)
inc(:(x,y)) :(s(x),inc(y)) (2)
inc(tl(nats)) tl(inc(nats)) (3)
hd(:(x,y)) x (4)
tl(:(x,y)) y (5)
d(:(x,y)) :(x,:(x,d(y))) (6)

The underlying signature is as follows:

{nats/0, :/2, 0/0, inc/1, s/1, tl/1, hd/1, d/1}

Property / Task

Prove or disprove confluence.

Answer / Result

Yes.

Proof (by csi @ CoCo 2021)

1 Redundant Rules Transformation

To prove that the TRS is (non-)confluent, we show (non-)confluence of the following modified system:

nats :(0,inc(nats)) (1)
inc(:(x,y)) :(s(x),inc(y)) (2)
hd(:(x,y)) x (4)
tl(:(x,y)) y (5)
d(:(x,y)) :(x,:(x,d(y))) (6)

All redundant rules that were added or removed can be simulated in 4 steps .

1.1 Critical Pair Closing System

Confluence is proven using the following terminating critical-pair-closing-system R:

There are no rules.

1.1.1 R is empty

There are no rules in the TRS. Hence, it is terminating.