:: REWRITE1 semantic presentation
:: deftheorem Def1 defines $^ REWRITE1:def 1 :
theorem Th1: :: REWRITE1:1
theorem Th2: :: REWRITE1:2
theorem Th3: :: REWRITE1:3
theorem Th4: :: REWRITE1:4
theorem Th5: :: REWRITE1:5
:: deftheorem Def2 defines RedSequence REWRITE1:def 2 :
theorem Th6: :: REWRITE1:6
canceled;
theorem Th7: :: REWRITE1:7
theorem Th8: :: REWRITE1:8
theorem Th9: :: REWRITE1:9
theorem Th10: :: REWRITE1:10
theorem Th11: :: REWRITE1:11
:: deftheorem Def3 defines reduces REWRITE1:def 3 :
:: deftheorem Def4 defines are_convertible_wrt REWRITE1:def 4 :
theorem Th12: :: REWRITE1:12
theorem Th13: :: REWRITE1:13
theorem Th14: :: REWRITE1:14
theorem Th15: :: REWRITE1:15
theorem Th16: :: REWRITE1:16
theorem Th17: :: REWRITE1:17
theorem Th18: :: REWRITE1:18
theorem Th19: :: REWRITE1:19
theorem Th20: :: REWRITE1:20
theorem Th21: :: REWRITE1:21
theorem Th22: :: REWRITE1:22
theorem Th23: :: REWRITE1:23
theorem Th24: :: REWRITE1:24
theorem Th25: :: REWRITE1:25
Lemma28:
for b1 being Relation
for b2, b3 being set holds
( b2,b3 are_convertible_wrt b1 implies b3,b2 are_convertible_wrt b1 )
theorem Th26: :: REWRITE1:26
theorem Th27: :: REWRITE1:27
theorem Th28: :: REWRITE1:28
theorem Th29: :: REWRITE1:29
theorem Th30: :: REWRITE1:30
theorem Th31: :: REWRITE1:31
theorem Th32: :: REWRITE1:32
theorem Th33: :: REWRITE1:33
:: deftheorem Def5 defines is_a_normal_form_wrt REWRITE1:def 5 :
theorem Th34: :: REWRITE1:34
theorem Th35: :: REWRITE1:35
definition
let c
1 be
Relation;
let c
2, c
3 be
set ;
pred c
3 is_a_normal_form_of c
2,c
1 means :
Def6:
:: REWRITE1:def 6
( a
3 is_a_normal_form_wrt a
1 & a
1 reduces a
2,a
3 );
pred c
2,c
3 are_convergent_wrt c
1 means :
Def7:
:: REWRITE1:def 7
ex b
1 being
set st
( a
1 reduces a
2,b
1 & a
1 reduces a
3,b
1 );
pred c
2,c
3 are_divergent_wrt c
1 means :
Def8:
:: REWRITE1:def 8
ex b
1 being
set st
( a
1 reduces b
1,a
2 & a
1 reduces b
1,a
3 );
pred c
2,c
3 are_convergent<=1_wrt c
1 means :
Def9:
:: REWRITE1:def 9
ex b
1 being
set st
( (
[a2,b1] in a
1 or a
2 = b
1 ) & (
[a3,b1] in a
1 or a
3 = b
1 ) );
pred c
2,c
3 are_divergent<=1_wrt c
1 means :
Def10:
:: REWRITE1:def 10
ex b
1 being
set st
( (
[b1,a2] in a
1 or a
2 = b
1 ) & (
[b1,a3] in a
1 or a
3 = b
1 ) );
end;
:: deftheorem Def6 defines is_a_normal_form_of REWRITE1:def 6 :
:: deftheorem Def7 defines are_convergent_wrt REWRITE1:def 7 :
:: deftheorem Def8 defines are_divergent_wrt REWRITE1:def 8 :
:: deftheorem Def9 defines are_convergent<=1_wrt REWRITE1:def 9 :
:: deftheorem Def10 defines are_divergent<=1_wrt REWRITE1:def 10 :
theorem Th36: :: REWRITE1:36
theorem Th37: :: REWRITE1:37
theorem Th38: :: REWRITE1:38
theorem Th39: :: REWRITE1:39
theorem Th40: :: REWRITE1:40
theorem Th41: :: REWRITE1:41
theorem Th42: :: REWRITE1:42
theorem Th43: :: REWRITE1:43
theorem Th44: :: REWRITE1:44
theorem Th45: :: REWRITE1:45
theorem Th46: :: REWRITE1:46
:: deftheorem Def11 defines has_a_normal_form_wrt REWRITE1:def 11 :
theorem Th47: :: REWRITE1:47
definition
let c
1 be
Relation;
let c
2 be
set ;
assume that E52:
c
2 has_a_normal_form_wrt c
1
and E53:
for b
1, b
2 being
set holds
( b
1 is_a_normal_form_of c
2,c
1 & b
2 is_a_normal_form_of c
2,c
1 implies b
1 = b
2 )
;
func nf c
2,c
1 -> set means :
Def12:
:: REWRITE1:def 12
a
3 is_a_normal_form_of a
2,a
1;
existence
ex b1 being set st b1 is_a_normal_form_of c2,c1
by E52, Def11;
uniqueness
for b1, b2 being set holds
( b1 is_a_normal_form_of c2,c1 & b2 is_a_normal_form_of c2,c1 implies b1 = b2 )
by E53;
end;
:: deftheorem Def12 defines nf REWRITE1:def 12 :
:: deftheorem Def13 defines co-well_founded REWRITE1:def 13 :
:: deftheorem Def14 defines weakly-normalizing REWRITE1:def 14 :
:: deftheorem Def15 defines strongly-normalizing REWRITE1:def 15 :
:: deftheorem Def16 defines co-well_founded REWRITE1:def 16 :
theorem Th48: :: REWRITE1:48
definition
let c
1, c
2 be
Relation;
pred c
1 commutes-weakly_with c
2 means :: REWRITE1:def 17
for b
1, b
2, b
3 being
set holds
not (
[b1,b2] in a
1 &
[b1,b3] in a
2 & ( for b
4 being
set holds
not ( a
2 reduces b
2,b
4 & a
1 reduces b
3,b
4 ) ) );
symmetry
for b1, b2 being Relation holds
( ( for b3, b4, b5 being set holds
not ( [b3,b4] in b1 & [b3,b5] in b2 & ( for b6 being set holds
not ( b2 reduces b4,b6 & b1 reduces b5,b6 ) ) ) ) implies for b3, b4, b5 being set holds
not ( [b3,b4] in b2 & [b3,b5] in b1 & ( for b6 being set holds
not ( b1 reduces b4,b6 & b2 reduces b5,b6 ) ) ) )
pred c
1 commutes_with c
2 means :
Def18:
:: REWRITE1:def 18
for b
1, b
2, b
3 being
set holds
not ( a
1 reduces b
1,b
2 & a
2 reduces b
1,b
3 & ( for b
4 being
set holds
not ( a
2 reduces b
2,b
4 & a
1 reduces b
3,b
4 ) ) );
symmetry
for b1, b2 being Relation holds
( ( for b3, b4, b5 being set holds
not ( b1 reduces b3,b4 & b2 reduces b3,b5 & ( for b6 being set holds
not ( b2 reduces b4,b6 & b1 reduces b5,b6 ) ) ) ) implies for b3, b4, b5 being set holds
not ( b2 reduces b3,b4 & b1 reduces b3,b5 & ( for b6 being set holds
not ( b1 reduces b4,b6 & b2 reduces b5,b6 ) ) ) )
end;
:: deftheorem Def17 defines commutes-weakly_with REWRITE1:def 17 :
:: deftheorem Def18 defines commutes_with REWRITE1:def 18 :
theorem Th49: :: REWRITE1:49
definition
let c
1 be
Relation;
attr a
1 is
with_UN_property means :
Def19:
:: REWRITE1:def 19
for b
1, b
2 being
set holds
( b
1 is_a_normal_form_wrt a
1 & b
2 is_a_normal_form_wrt a
1 & b
1,b
2 are_convertible_wrt a
1 implies b
1 = b
2 );
attr a
1 is
with_NF_property means :: REWRITE1:def 20
for b
1, b
2 being
set holds
( b
1 is_a_normal_form_wrt a
1 & b
1,b
2 are_convertible_wrt a
1 implies a
1 reduces b
2,b
1 );
attr a
1 is
subcommutative means :
Def21:
:: REWRITE1:def 21
for b
1, b
2, b
3 being
set holds
(
[b1,b2] in a
1 &
[b1,b3] in a
1 implies b
2,b
3 are_convergent<=1_wrt a
1 );
attr a
1 is
confluent means :
Def22:
:: REWRITE1:def 22
for b
1, b
2 being
set holds
( b
1,b
2 are_divergent_wrt a
1 implies b
1,b
2 are_convergent_wrt a
1 );
attr a
1 is
with_Church-Rosser_property means :
Def23:
:: REWRITE1:def 23
for b
1, b
2 being
set holds
( b
1,b
2 are_convertible_wrt a
1 implies b
1,b
2 are_convergent_wrt a
1 );
attr a
1 is
locally-confluent means :
Def24:
:: REWRITE1:def 24
for b
1, b
2, b
3 being
set holds
(
[b1,b2] in a
1 &
[b1,b3] in a
1 implies b
2,b
3 are_convergent_wrt a
1 );
end;
:: deftheorem Def19 defines with_UN_property REWRITE1:def 19 :
:: deftheorem Def20 defines with_NF_property REWRITE1:def 20 :
:: deftheorem Def21 defines subcommutative REWRITE1:def 21 :
:: deftheorem Def22 defines confluent REWRITE1:def 22 :
:: deftheorem Def23 defines with_Church-Rosser_property REWRITE1:def 23 :
:: deftheorem Def24 defines locally-confluent REWRITE1:def 24 :
theorem Th50: :: REWRITE1:50
theorem Th51: :: REWRITE1:51
theorem Th52: :: REWRITE1:52
theorem Th53: :: REWRITE1:53
theorem Th54: :: REWRITE1:54
theorem Th55: :: REWRITE1:55
theorem Th56: :: REWRITE1:56
:: deftheorem Def25 defines complete REWRITE1:def 25 :
theorem Th57: :: REWRITE1:57
theorem Th58: :: REWRITE1:58
theorem Th59: :: REWRITE1:59
definition
let c
1, c
2 be
Relation;
pred c
1,c
2 are_equivalent means :: REWRITE1:def 26
for b
1, b
2 being
set holds
( b
1,b
2 are_convertible_wrt a
1 iff b
1,b
2 are_convertible_wrt a
2 );
symmetry
for b1, b2 being Relation holds
( ( for b3, b4 being set holds
( b3,b4 are_convertible_wrt b1 iff b3,b4 are_convertible_wrt b2 ) ) implies for b3, b4 being set holds
( b3,b4 are_convertible_wrt b2 iff b3,b4 are_convertible_wrt b1 ) )
;
end;
:: deftheorem Def26 defines are_equivalent REWRITE1:def 26 :
:: deftheorem Def27 defines are_critical_wrt REWRITE1:def 27 :
theorem Th60: :: REWRITE1:60
theorem Th61: :: REWRITE1:61
theorem Th62: :: REWRITE1:62
theorem Th63: :: REWRITE1:63
:: deftheorem Def28 defines Completion REWRITE1:def 28 :
theorem Th64: :: REWRITE1:64
theorem Th65: :: REWRITE1:65
theorem Th66: :: REWRITE1:66