let R be Relation; ( R is confluent iff R [*] is subcommutative )
hereby ( R [*] is subcommutative implies R is confluent )
assume A1:
R is
confluent
;
R [*] is subcommutative thus
R [*] is
subcommutative
verumproof
let a,
b,
c be
object ;
REWRITE1:def 21 ( [a,b] in R [*] & [a,c] in R [*] implies b,c are_convergent<=1_wrt R [*] )
assume
(
[a,b] in R [*] &
[a,c] in R [*] )
;
b,c are_convergent<=1_wrt R [*]
then
(
R reduces a,
b &
R reduces a,
c )
by Th20;
then
b,
c are_divergent_wrt R
;
then
b,
c are_convergent_wrt R
by A1;
then consider d being
object such that A2:
(
R reduces b,
d &
R reduces c,
d )
;
take
d
;
REWRITE1:def 9 ( ( [b,d] in R [*] or b = d ) & ( [c,d] in R [*] or c = d ) )
thus
( (
[b,d] in R [*] or
b = d ) & (
[c,d] in R [*] or
c = d ) )
by A2, Th20;
verum
end;
end;
assume A3:
for a, b, c being object st [a,b] in R [*] & [a,c] in R [*] holds
b,c are_convergent<=1_wrt R [*]
; REWRITE1:def 21 R is confluent
let a, b be object ; REWRITE1:def 22 ( a,b are_divergent_wrt R implies a,b are_convergent_wrt R )
given c being object such that A4:
R reduces c,a
and
A5:
R reduces c,b
; REWRITE1:def 8 a,b are_convergent_wrt R
A6:
( [c,b] in R [*] or c = b )
by A5, Th20;
( [c,a] in R [*] or c = a )
by A4, Th20;
then
a,b are_convergent<=1_wrt R [*]
by A3, A6;
then
a,b are_convergent_wrt R [*]
by Th44;
then consider d being object such that
A7:
( R [*] reduces a,d & R [*] reduces b,d )
;
take
d
; REWRITE1:def 7 ( R reduces a,d & R reduces b,d )
thus
( R reduces a,d & R reduces b,d )
by A7, Th21; verum