Article REWRITE2, MML version 4.99.1005
:: REWRITE2:th 1
theorem
for b1 being natural set
for b2 being Relation-like Function-like FinSequence-like set
st not b1 in dom b2 & b1 + 1 in dom b2
holds b1 = 0;
:: REWRITE2:th 2
theorem
for b1 being natural set
for b2, b3 being Relation-like Function-like FinSequence-like set
st len b2 < b1 & b1 <= len (b2 ^ b3)
holds ex b4 being natural set st
b1 = (len b2) + b4 & 1 <= b4 & b4 <= len b3;
:: REWRITE2:th 3
theorem
for b1 being natural set
for b2 being Relation-like set
for b3 being RedSequence of b2
st 1 <= b1
holds b3 | b1 is RedSequence of b2;
:: REWRITE2:th 4
theorem
for b1 being natural set
for b2 being Relation-like set
for b3 being RedSequence of b2
st b1 in dom b3
holds ex b4 being RedSequence of b2 st
len b4 = b1 & b4 . 1 = b3 . 1 & b4 . len b4 = b3 . b1;
:: REWRITE2:attrnot 1 => REWRITE2:attr 1
definition
let a1 be Relation-like Function-like set;
attr a1 is XFinSequence-yielding means
for b1 being set
st b1 in proj1 a1
holds a1 . b1 is Relation-like Function-like T-Sequence-like finite set;
end;
:: REWRITE2:dfs 1
definiens
let a1 be Relation-like Function-like set;
To prove
a1 is XFinSequence-yielding
it is sufficient to prove
thus for b1 being set
st b1 in proj1 a1
holds a1 . b1 is Relation-like Function-like T-Sequence-like finite set;
:: REWRITE2:def 1
theorem
for b1 being Relation-like Function-like set holds
b1 is XFinSequence-yielding
iff
for b2 being set
st b2 in proj1 b1
holds b1 . b2 is Relation-like Function-like T-Sequence-like finite set;
:: REWRITE2:funcreg 1
registration
cluster {} -> XFinSequence-yielding;
end;
:: REWRITE2:funcreg 2
registration
let a1 be Relation-like Function-like T-Sequence-like finite set;
cluster <*a1*> -> XFinSequence-yielding;
end;
:: REWRITE2:exreg 1
registration
cluster Relation-like Function-like XFinSequence-yielding set;
end;
:: REWRITE2:funcnot 1 => REWRITE2:func 1
definition
let a1 be Relation-like Function-like XFinSequence-yielding set;
let a2 be set;
redefine func a1 . a2 -> Relation-like Function-like T-Sequence-like finite set;
end;
:: REWRITE2:exreg 2
registration
cluster Relation-like Function-like finite FinSequence-like XFinSequence-yielding set;
end;
:: REWRITE2:condreg 1
registration
let a1 be set;
cluster -> XFinSequence-yielding (FinSequence of a1 ^omega);
end;
:: REWRITE2:funcreg 3
registration
let a1, a2 be Relation-like Function-like FinSequence-like XFinSequence-yielding set;
cluster a1 ^ a2 -> Relation-like Function-like FinSequence-like XFinSequence-yielding;
end;
:: REWRITE2:funcnot 2 => REWRITE2:func 2
definition
let a1 be Relation-like Function-like T-Sequence-like finite set;
let a2 be Relation-like Function-like XFinSequence-yielding set;
func A1 ^+ A2 -> Relation-like Function-like XFinSequence-yielding set means
proj1 it = proj1 a2 &
(for b1 being set
st b1 in proj1 a2
holds it . b1 = a1 ^ (a2 . b1));
end;
:: REWRITE2:def 2
theorem
for b1 being Relation-like Function-like T-Sequence-like finite set
for b2, b3 being Relation-like Function-like XFinSequence-yielding set holds
b3 = b1 ^+ b2
iff
proj1 b3 = proj1 b2 &
(for b4 being set
st b4 in proj1 b2
holds b3 . b4 = b1 ^ (b2 . b4));
:: REWRITE2:funcnot 3 => REWRITE2:func 3
definition
let a1 be Relation-like Function-like T-Sequence-like finite set;
let a2 be Relation-like Function-like XFinSequence-yielding set;
func A2 +^ A1 -> Relation-like Function-like XFinSequence-yielding set means
proj1 it = proj1 a2 &
(for b1 being set
st b1 in proj1 a2
holds it . b1 = (a2 . b1) ^ a1);
end;
:: REWRITE2:def 3
theorem
for b1 being Relation-like Function-like T-Sequence-like finite set
for b2, b3 being Relation-like Function-like XFinSequence-yielding set holds
b3 = b2 +^ b1
iff
proj1 b3 = proj1 b2 &
(for b4 being set
st b4 in proj1 b2
holds b3 . b4 = (b2 . b4) ^ b1);
:: REWRITE2:funcreg 4
registration
let a1 be Relation-like Function-like T-Sequence-like finite set;
let a2 be Relation-like Function-like FinSequence-like XFinSequence-yielding set;
cluster a1 ^+ a2 -> Relation-like Function-like FinSequence-like XFinSequence-yielding;
end;
:: REWRITE2:funcreg 5
registration
let a1 be Relation-like Function-like T-Sequence-like finite set;
let a2 be Relation-like Function-like FinSequence-like XFinSequence-yielding set;
cluster a2 +^ a1 -> Relation-like Function-like FinSequence-like XFinSequence-yielding;
end;
:: REWRITE2:th 5
theorem
for b1 being Relation-like Function-like T-Sequence-like finite set
for b2 being Relation-like Function-like FinSequence-like XFinSequence-yielding set holds
len (b1 ^+ b2) = len b2 & len (b2 +^ b1) = len b2;
:: REWRITE2:th 6
theorem
for b1 being set
for b2 being Relation-like Function-like FinSequence-like XFinSequence-yielding set holds
(<%> b1) ^+ b2 = b2 & b2 +^ <%> b1 = b2;
:: REWRITE2:th 7
theorem
for b1, b2 being Relation-like Function-like T-Sequence-like finite set
for b3 being Relation-like Function-like FinSequence-like XFinSequence-yielding set holds
b1 ^+ (b2 ^+ b3) = (b1 ^ b2) ^+ b3 &
(b3 +^ b2) +^ b1 = b3 +^ (b2 ^ b1);
:: REWRITE2:th 8
theorem
for b1, b2 being Relation-like Function-like T-Sequence-like finite set
for b3 being Relation-like Function-like FinSequence-like XFinSequence-yielding set holds
b1 ^+ (b3 +^ b2) = (b1 ^+ b3) +^ b2;
:: REWRITE2:th 9
theorem
for b1 being Relation-like Function-like T-Sequence-like finite set
for b2, b3 being Relation-like Function-like FinSequence-like XFinSequence-yielding set holds
b1 ^+ (b2 ^ b3) = (b1 ^+ b2) ^ (b1 ^+ b3) &
(b2 ^ b3) +^ b1 = (b2 +^ b1) ^ (b3 +^ b1);
:: REWRITE2:funcnot 4 => REWRITE2:func 4
definition
let a1 be set;
let a2 be FinSequence of a1 ^omega;
let a3 be natural set;
redefine func a2 . a3 -> Element of a1 ^omega;
end;
:: REWRITE2:funcnot 5 => REWRITE2:func 5
definition
let a1 be set;
let a2 be natural set;
let a3 be Element of a1 ^omega;
redefine func a2 |-> a3 -> FinSequence of a1 ^omega;
end;
:: REWRITE2:funcnot 6 => REWRITE2:func 6
definition
let a1 be set;
let a2 be Element of a1 ^omega;
let a3 be FinSequence of a1 ^omega;
redefine func a2 ^+ a3 -> FinSequence of a1 ^omega;
end;
:: REWRITE2:funcnot 7 => REWRITE2:func 7
definition
let a1 be set;
let a2 be Element of a1 ^omega;
let a3 be FinSequence of a1 ^omega;
redefine func a3 +^ a2 -> FinSequence of a1 ^omega;
end;
:: REWRITE2:modenot 1
definition
let a1 be set;
mode semi-Thue-system of a1 is Relation of a1 ^omega,a1 ^omega;
end;
:: REWRITE2:funcreg 6
registration
let a1 be Relation-like set;
cluster a1 \/ (a1 ~) -> symmetric;
end;
:: REWRITE2:exreg 3
registration
let a1 be set;
cluster Relation-like symmetric Relation of a1 ^omega,a1 ^omega;
end;
:: REWRITE2:modenot 2
definition
let a1 be set;
mode Thue-system of a1 is symmetric Relation of a1 ^omega,a1 ^omega;
end;
:: REWRITE2:prednot 1 => REWRITE2:pred 1
definition
let a1 be set;
let a2 be Relation of a1 ^omega,a1 ^omega;
let a3, a4 be Element of a1 ^omega;
pred A3 -->. A4,A2 means
[a3,a4] in a2;
end;
:: REWRITE2:dfs 4
definiens
let a1 be set;
let a2 be Relation of a1 ^omega,a1 ^omega;
let a3, a4 be Element of a1 ^omega;
To prove
a3 -->. a4,a2
it is sufficient to prove
thus [a3,a4] in a2;
:: REWRITE2:def 4
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4 being Element of b1 ^omega holds
b3 -->. b4,b2
iff
[b3,b4] in b2;
:: REWRITE2:prednot 2 => REWRITE2:pred 2
definition
let a1 be set;
let a2 be Relation of a1 ^omega,a1 ^omega;
let a3, a4 be Element of a1 ^omega;
pred A3 ==>. A4,A2 means
ex b1, b2, b3, b4 being Element of a1 ^omega st
a3 = (b1 ^ b3) ^ b2 & a4 = (b1 ^ b4) ^ b2 & b3 -->. b4,a2;
end;
:: REWRITE2:dfs 5
definiens
let a1 be set;
let a2 be Relation of a1 ^omega,a1 ^omega;
let a3, a4 be Element of a1 ^omega;
To prove
a3 ==>. a4,a2
it is sufficient to prove
thus ex b1, b2, b3, b4 being Element of a1 ^omega st
a3 = (b1 ^ b3) ^ b2 & a4 = (b1 ^ b4) ^ b2 & b3 -->. b4,a2;
:: REWRITE2:def 5
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4 being Element of b1 ^omega holds
b3 ==>. b4,b2
iff
ex b5, b6, b7, b8 being Element of b1 ^omega st
b3 = (b5 ^ b7) ^ b6 & b4 = (b5 ^ b8) ^ b6 & b7 -->. b8,b2;
:: REWRITE2:th 10
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4 being Element of b1 ^omega
st b3 -->. b4,b2
holds b3 ==>. b4,b2;
:: REWRITE2:th 11
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3 being Element of b1 ^omega
st b3 ==>. b3,b2
holds ex b4, b5, b6 being Element of b1 ^omega st
b3 = (b4 ^ b6) ^ b5 & b6 -->. b6,b2;
:: REWRITE2:th 12
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4, b5 being Element of b1 ^omega
st b3 ==>. b4,b2
holds b5 ^ b3 ==>. b5 ^ b4,b2 & b3 ^ b5 ==>. b4 ^ b5,b2;
:: REWRITE2:th 13
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4, b5, b6 being Element of b1 ^omega
st b3 ==>. b4,b2
holds (b5 ^ b3) ^ b6 ==>. (b5 ^ b4) ^ b6,b2;
:: REWRITE2:th 14
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4, b5 being Element of b1 ^omega
st b3 -->. b4,b2
holds b5 ^ b3 ==>. b5 ^ b4,b2 & b3 ^ b5 ==>. b4 ^ b5,b2;
:: REWRITE2:th 15
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4, b5, b6 being Element of b1 ^omega
st b3 -->. b4,b2
holds (b5 ^ b3) ^ b6 ==>. (b5 ^ b4) ^ b6,b2;
:: REWRITE2:th 16
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4 being Element of b1 ^omega
st b2 is symmetric Relation of b1 ^omega,b1 ^omega & b3 -->. b4,b2
holds b4 -->. b3,b2;
:: REWRITE2:th 17
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4 being Element of b1 ^omega
st b2 is symmetric Relation of b1 ^omega,b1 ^omega & b3 ==>. b4,b2
holds b4 ==>. b3,b2;
:: REWRITE2:th 18
theorem
for b1 being set
for b2, b3 being Relation of b1 ^omega,b1 ^omega
for b4, b5 being Element of b1 ^omega
st b2 c= b3 & b4 -->. b5,b2
holds b4 -->. b5,b3;
:: REWRITE2:th 19
theorem
for b1 being set
for b2, b3 being Relation of b1 ^omega,b1 ^omega
for b4, b5 being Element of b1 ^omega
st b2 c= b3 & b4 ==>. b5,b2
holds b4 ==>. b5,b3;
:: REWRITE2:th 20
theorem
for b1 being set
for b2, b3 being Element of b1 ^omega holds
not b2 ==>. b3,{}(b1 ^omega,b1 ^omega);
:: REWRITE2:th 21
theorem
for b1 being set
for b2, b3 being Relation of b1 ^omega,b1 ^omega
for b4, b5 being Element of b1 ^omega
st b4 ==>. b5,b2 \/ b3 & not b4 ==>. b5,b2
holds b4 ==>. b5,b3;
:: REWRITE2:funcnot 8 => REWRITE2:func 8
definition
let a1 be set;
redefine func id a1 -> Relation of a1,a1;
end;
:: REWRITE2:funcnot 9 => REWRITE2:func 9
definition
let a1 be set;
let a2 be Relation of a1 ^omega,a1 ^omega;
func ==>.-relation A2 -> Relation of a1 ^omega,a1 ^omega means
for b1, b2 being Element of a1 ^omega holds
[b1,b2] in it
iff
b1 ==>. b2,a2;
end;
:: REWRITE2:def 6
theorem
for b1 being set
for b2, b3 being Relation of b1 ^omega,b1 ^omega holds
b3 = ==>.-relation b2
iff
for b4, b5 being Element of b1 ^omega holds
[b4,b5] in b3
iff
b4 ==>. b5,b2;
:: REWRITE2:th 22
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega holds
b2 c= ==>.-relation b2;
:: REWRITE2:th 23
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3 being Element of b1 ^omega
for b4 being FinSequence of b1 ^omega
st b4 is RedSequence of ==>.-relation b2
holds b4 +^ b3 is RedSequence of ==>.-relation b2 & b3 ^+ b4 is RedSequence of ==>.-relation b2;
:: REWRITE2:th 24
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4 being Element of b1 ^omega
for b5 being FinSequence of b1 ^omega
st b5 is RedSequence of ==>.-relation b2
holds (b3 ^+ b5) +^ b4 is RedSequence of ==>.-relation b2;
:: REWRITE2:th 25
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
st b2 is symmetric Relation of b1 ^omega,b1 ^omega
holds ==>.-relation b2 = (==>.-relation b2) ~;
:: REWRITE2:th 26
theorem
for b1 being set
for b2, b3 being Relation of b1 ^omega,b1 ^omega
st b2 c= b3
holds ==>.-relation b2 c= ==>.-relation b3;
:: REWRITE2:th 27
theorem
for b1 being set holds
==>.-relation id (b1 ^omega) = id (b1 ^omega);
:: REWRITE2:th 28
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega holds
==>.-relation (b2 \/ id (b1 ^omega)) = (==>.-relation b2) \/ id (b1 ^omega);
:: REWRITE2:th 29
theorem
for b1 being set holds
==>.-relation {}(b1 ^omega,b1 ^omega) = {}(b1 ^omega,b1 ^omega);
:: REWRITE2:th 30
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4 being Element of b1 ^omega
st b3 ==>. b4,==>.-relation b2
holds b3 ==>. b4,b2;
:: REWRITE2:th 31
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega holds
==>.-relation ==>.-relation b2 = ==>.-relation b2;
:: REWRITE2:prednot 3 => REWRITE2:pred 3
definition
let a1 be set;
let a2 be Relation of a1 ^omega,a1 ^omega;
let a3, a4 be Element of a1 ^omega;
pred A3 ==>* A4,A2 means
==>.-relation a2 reduces a3,a4;
end;
:: REWRITE2:dfs 7
definiens
let a1 be set;
let a2 be Relation of a1 ^omega,a1 ^omega;
let a3, a4 be Element of a1 ^omega;
To prove
a3 ==>* a4,a2
it is sufficient to prove
thus ==>.-relation a2 reduces a3,a4;
:: REWRITE2:def 7
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4 being Element of b1 ^omega holds
b3 ==>* b4,b2
iff
==>.-relation b2 reduces b3,b4;
:: REWRITE2:th 32
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3 being Element of b1 ^omega holds
b3 ==>* b3,b2;
:: REWRITE2:th 33
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4 being Element of b1 ^omega
st b3 ==>. b4,b2
holds b3 ==>* b4,b2;
:: REWRITE2:th 34
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4 being Element of b1 ^omega
st b3 -->. b4,b2
holds b3 ==>* b4,b2;
:: REWRITE2:th 35
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4, b5 being Element of b1 ^omega
st b3 ==>* b4,b2 & b4 ==>* b5,b2
holds b3 ==>* b5,b2;
:: REWRITE2:th 36
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4, b5 being Element of b1 ^omega
st b3 ==>* b4,b2
holds b3 ^ b5 ==>* b4 ^ b5,b2 & b5 ^ b3 ==>* b5 ^ b4,b2;
:: REWRITE2:th 37
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4, b5, b6 being Element of b1 ^omega
st b3 ==>* b4,b2
holds (b5 ^ b3) ^ b6 ==>* (b5 ^ b4) ^ b6,b2;
:: REWRITE2:th 38
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4, b5, b6 being Element of b1 ^omega
st b3 ==>* b4,b2 & b5 ==>* b6,b2
holds b3 ^ b5 ==>* b4 ^ b6,b2 & b5 ^ b3 ==>* b6 ^ b4,b2;
:: REWRITE2:th 39
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4 being Element of b1 ^omega
st b2 is symmetric Relation of b1 ^omega,b1 ^omega & b3 ==>* b4,b2
holds b4 ==>* b3,b2;
:: REWRITE2:th 40
theorem
for b1 being set
for b2, b3 being Relation of b1 ^omega,b1 ^omega
for b4, b5 being Element of b1 ^omega
st b2 c= b3 & b4 ==>* b5,b2
holds b4 ==>* b5,b3;
:: REWRITE2:th 41
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4 being Element of b1 ^omega holds
b3 ==>* b4,b2
iff
b3 ==>* b4,b2 \/ id (b1 ^omega);
:: REWRITE2:th 42
theorem
for b1 being set
for b2, b3 being Element of b1 ^omega
st b2 ==>* b3,{}(b1 ^omega,b1 ^omega)
holds b2 = b3;
:: REWRITE2:th 43
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4 being Element of b1 ^omega
st b3 ==>* b4,==>.-relation b2
holds b3 ==>* b4,b2;
:: REWRITE2:th 44
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4, b5, b6 being Element of b1 ^omega
st b3 ==>* b4,b2 & b5 ==>. b6,{[b3,b4]}
holds b5 ==>* b6,b2;
:: REWRITE2:th 45
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4, b5, b6 being Element of b1 ^omega
st b3 ==>* b4,b2 &
b5 ==>* b6,b2 \/ {[b3,b4]}
holds b5 ==>* b6,b2;
:: REWRITE2:funcnot 10 => REWRITE2:func 10
definition
let a1 be set;
let a2 be Relation of a1 ^omega,a1 ^omega;
let a3 be Element of a1 ^omega;
func Lang(A3,A2) -> Element of bool (a1 ^omega) equals
{b1 where b1 is Element of a1 ^omega: a3 ==>* b1,a2};
end;
:: REWRITE2:def 8
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3 being Element of b1 ^omega holds
Lang(b3,b2) = {b4 where b4 is Element of b1 ^omega: b3 ==>* b4,b2};
:: REWRITE2:th 46
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4 being Element of b1 ^omega holds
b3 in Lang(b4,b2)
iff
b4 ==>* b3,b2;
:: REWRITE2:th 47
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3 being Element of b1 ^omega holds
b3 in Lang(b3,b2);
:: REWRITE2:funcreg 7
registration
let a1 be non empty set;
let a2 be Relation of a1 ^omega,a1 ^omega;
let a3 be Element of a1 ^omega;
cluster Lang(a3,a2) -> non empty;
end;
:: REWRITE2:th 48
theorem
for b1 being set
for b2, b3 being Relation of b1 ^omega,b1 ^omega
for b4 being Element of b1 ^omega
st b2 c= b3
holds Lang(b4,b2) c= Lang(b4,b3);
:: REWRITE2:th 49
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3 being Element of b1 ^omega holds
Lang(b3,b2) = Lang(b3,b2 \/ id (b1 ^omega));
:: REWRITE2:th 50
theorem
for b1 being set
for b2 being Element of b1 ^omega holds
Lang(b2,{}(b1 ^omega,b1 ^omega)) = {b2};
:: REWRITE2:th 51
theorem
for b1 being set
for b2 being Element of b1 ^omega holds
Lang(b2,id (b1 ^omega)) = {b2};
:: REWRITE2:prednot 4 => REWRITE2:pred 4
definition
let a1 be set;
let a2, a3 be Relation of a1 ^omega,a1 ^omega;
let a4 be Element of a1 ^omega;
pred A2,A3 are_equivalent_wrt A4 means
Lang(a4,a2) = Lang(a4,a3);
end;
:: REWRITE2:dfs 9
definiens
let a1 be set;
let a2, a3 be Relation of a1 ^omega,a1 ^omega;
let a4 be Element of a1 ^omega;
To prove
a2,a3 are_equivalent_wrt a4
it is sufficient to prove
thus Lang(a4,a2) = Lang(a4,a3);
:: REWRITE2:def 9
theorem
for b1 being set
for b2, b3 being Relation of b1 ^omega,b1 ^omega
for b4 being Element of b1 ^omega holds
b2,b3 are_equivalent_wrt b4
iff
Lang(b4,b2) = Lang(b4,b3);
:: REWRITE2:th 52
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3 being Element of b1 ^omega holds
b2,b2 are_equivalent_wrt b3;
:: REWRITE2:th 53
theorem
for b1 being set
for b2, b3 being Relation of b1 ^omega,b1 ^omega
for b4 being Element of b1 ^omega
st b2,b3 are_equivalent_wrt b4
holds b3,b2 are_equivalent_wrt b4;
:: REWRITE2:th 54
theorem
for b1 being set
for b2, b3, b4 being Relation of b1 ^omega,b1 ^omega
for b5 being Element of b1 ^omega
st b2,b3 are_equivalent_wrt b5 & b3,b4 are_equivalent_wrt b5
holds b2,b4 are_equivalent_wrt b5;
:: REWRITE2:th 55
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3 being Element of b1 ^omega holds
b2,b2 \/ id (b1 ^omega) are_equivalent_wrt b3;
:: REWRITE2:th 56
theorem
for b1 being set
for b2, b3, b4 being Relation of b1 ^omega,b1 ^omega
for b5 being Element of b1 ^omega
st b2,b3 are_equivalent_wrt b5 & b2 c= b4 & b4 c= b3
holds b2,b4 are_equivalent_wrt b5 & b4,b3 are_equivalent_wrt b5;
:: REWRITE2:th 57
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3 being Element of b1 ^omega holds
b2,==>.-relation b2 are_equivalent_wrt b3;
:: REWRITE2:th 58
theorem
for b1 being set
for b2, b3 being Relation of b1 ^omega,b1 ^omega
for b4, b5 being Element of b1 ^omega
st b2,b3 are_equivalent_wrt b4 & ==>.-relation (b2 \/ b3) reduces b4,b5
holds ==>.-relation b2 reduces b4,b5;
:: REWRITE2:th 59
theorem
for b1 being set
for b2, b3 being Relation of b1 ^omega,b1 ^omega
for b4, b5 being Element of b1 ^omega
st b2,b3 are_equivalent_wrt b4 & b4 ==>* b5,b2 \/ b3
holds b4 ==>* b5,b2;
:: REWRITE2:th 60
theorem
for b1 being set
for b2, b3 being Relation of b1 ^omega,b1 ^omega
for b4 being Element of b1 ^omega
st b2,b3 are_equivalent_wrt b4
holds b2,b2 \/ b3 are_equivalent_wrt b4;
:: REWRITE2:th 61
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4, b5 being Element of b1 ^omega
st b3 ==>. b4,b2
holds b2,b2 \/ {[b3,b4]} are_equivalent_wrt b5;
:: REWRITE2:th 62
theorem
for b1 being set
for b2 being Relation of b1 ^omega,b1 ^omega
for b3, b4, b5 being Element of b1 ^omega
st b3 ==>* b4,b2
holds b2,b2 \/ {[b3,b4]} are_equivalent_wrt b5;