Article RELSET_1, MML version 4.99.1005
:: RELSET_1:modenot 1 => RELSET_1:mode 1
definition
let a1, a2 be set;
mode Relation of A1,A2 means
it c= [:a1,a2:];
end;
:: RELSET_1:dfs 1
definiens
let a1, a2, a3 be set;
To prove
a3 is Relation of a1,a2
it is sufficient to prove
thus a3 c= [:a1,a2:];
:: RELSET_1:def 1
theorem
for b1, b2, b3 being set holds
b3 is Relation of b1,b2
iff
b3 c= [:b1,b2:];
:: RELSET_1:modenot 2 => RELSET_1:mode 2
definition
let a1, a2 be set;
redefine mode Relation of a1,a2 -> Element of bool [:a1,a2:];
end;
:: RELSET_1:condreg 1
registration
let a1, a2 be set;
cluster -> Relation-like (Element of bool [:a1,a2:]);
end;
:: RELSET_1:prednot 1 => RELSET_1:pred 1
definition
let a1, a2 be set;
let a3 be Relation of a1,a2;
let a4 be set;
redefine pred A3 c= A4 means
for b1 being Element of a1
for b2 being Element of a2
st [b1,b2] in a3
holds [b1,b2] in a4;
reflexivity;
:: for a1, a2 being set
:: for a3 being Relation of a1,a2 holds
:: a3 c= a3;
end;
:: RELSET_1:dfs 2
definiens
let a1, a2 be set;
let a3 be Relation of a1,a2;
let a4 be set;
To prove
a3 c= a4
it is sufficient to prove
thus for b1 being Element of a1
for b2 being Element of a2
st [b1,b2] in a3
holds [b1,b2] in a4;
:: RELSET_1:def 2
theorem
for b1, b2 being set
for b3 being Relation of b1,b2
for b4 being set holds
b3 c= b4
iff
for b5 being Element of b1
for b6 being Element of b2
st [b5,b6] in b3
holds [b5,b6] in b4;
:: RELSET_1:prednot 2 => RELSET_1:pred 2
definition
let a1, a2 be set;
let a3, a4 be Relation of a1,a2;
redefine pred A3 = A4 means
for b1 being Element of a1
for b2 being Element of a2 holds
[b1,b2] in a3
iff
[b1,b2] in a4;
symmetry;
:: for a1, a2 being set
:: for a3, a4 being Relation of a1,a2
:: st a3 = a4
:: holds a4 = a3;
reflexivity;
:: for a1, a2 being set
:: for a3 being Relation of a1,a2 holds
:: a3 = a3;
end;
:: RELSET_1:dfs 3
definiens
let a1, a2 be set;
let a3, a4 be Relation of a1,a2;
To prove
a3 = a4
it is sufficient to prove
thus for b1 being Element of a1
for b2 being Element of a2 holds
[b1,b2] in a3
iff
[b1,b2] in a4;
:: RELSET_1:def 3
theorem
for b1, b2 being set
for b3, b4 being Relation of b1,b2 holds
b3 = b4
iff
for b5 being Element of b1
for b6 being Element of b2 holds
[b5,b6] in b3
iff
[b5,b6] in b4;
:: RELSET_1:th 4
theorem
for b1, b2, b3 being set
for b4 being Relation of b2,b3
st b1 c= b4
holds b1 is Relation of b2,b3;
:: RELSET_1:th 6
theorem
for b1, b2, b3 being set
for b4 being Relation of b2,b3
st b1 in b4
holds ex b5, b6 being set st
b1 = [b5,b6] & b5 in b2 & b6 in b3;
:: RELSET_1:th 8
theorem
for b1, b2, b3, b4 being set
st b1 in b2 & b3 in b4
holds {[b1,b3]} is Relation of b2,b4;
:: RELSET_1:th 9
theorem
for b1 being set
for b2 being Relation-like set
st proj1 b2 c= b1
holds b2 is Relation of b1,proj2 b2;
:: RELSET_1:th 10
theorem
for b1 being set
for b2 being Relation-like set
st proj2 b2 c= b1
holds b2 is Relation of proj1 b2,b1;
:: RELSET_1:th 11
theorem
for b1, b2 being set
for b3 being Relation-like set
st proj1 b3 c= b1 & proj2 b3 c= b2
holds b3 is Relation of b1,b2;
:: RELSET_1:th 12
theorem
for b1, b2 being set
for b3 being Relation of b1,b2 holds
proj1 b3 c= b1 & proj2 b3 c= b2;
:: RELSET_1:th 13
theorem
for b1, b2, b3 being set
for b4 being Relation of b1,b3
st proj1 b4 c= b2
holds b4 is Relation of b2,b3;
:: RELSET_1:th 14
theorem
for b1, b2, b3 being set
for b4 being Relation of b3,b1
st proj2 b4 c= b2
holds b4 is Relation of b3,b2;
:: RELSET_1:th 15
theorem
for b1, b2, b3 being set
for b4 being Relation of b1,b3
st b1 c= b2
holds b4 is Relation of b2,b3;
:: RELSET_1:th 16
theorem
for b1, b2, b3 being set
for b4 being Relation of b3,b1
st b1 c= b2
holds b4 is Relation of b3,b2;
:: RELSET_1:th 17
theorem
for b1, b2, b3, b4 being set
for b5 being Relation of b1,b3
st b1 c= b2 & b3 c= b4
holds b5 is Relation of b2,b4;
:: RELSET_1:funcnot 1 => RELSET_1:func 1
definition
let a1, a2 be set;
let a3, a4 be Relation of a1,a2;
redefine func a3 \/ a4 -> Relation of a1,a2;
commutativity;
:: for a1, a2 being set
:: for a3, a4 being Relation of a1,a2 holds
:: a3 \/ a4 = a4 \/ a3;
idempotence;
:: for a1, a2 being set
:: for a3 being Relation of a1,a2 holds
:: a3 \/ a3 = a3;
end;
:: RELSET_1:funcnot 2 => RELSET_1:func 2
definition
let a1, a2 be set;
let a3, a4 be Relation of a1,a2;
redefine func a3 /\ a4 -> Relation of a1,a2;
commutativity;
:: for a1, a2 being set
:: for a3, a4 being Relation of a1,a2 holds
:: a3 /\ a4 = a4 /\ a3;
idempotence;
:: for a1, a2 being set
:: for a3 being Relation of a1,a2 holds
:: a3 /\ a3 = a3;
end;
:: RELSET_1:funcnot 3 => RELSET_1:func 3
definition
let a1, a2 be set;
let a3, a4 be Relation of a1,a2;
redefine func a3 \ a4 -> Relation of a1,a2;
end;
:: RELSET_1:funcnot 4 => RELSET_1:func 4
definition
let a1, a2 be set;
let a3 be Relation of a1,a2;
redefine func dom a3 -> Element of bool a1;
end;
:: RELSET_1:funcnot 5 => RELSET_1:func 5
definition
let a1, a2 be set;
let a3 be Relation of a1,a2;
redefine func rng a3 -> Element of bool a2;
end;
:: RELSET_1:th 19
theorem
for b1, b2 being set
for b3 being Relation of b1,b2 holds
field b3 c= b1 \/ b2;
:: RELSET_1:th 22
theorem
for b1, b2 being set
for b3 being Relation of b2,b1 holds
for b4 being set
st b4 in b2
holds ex b5 being set st
[b4,b5] in b3
iff
dom b3 = b2;
:: RELSET_1:th 23
theorem
for b1, b2 being set
for b3 being Relation of b1,b2 holds
for b4 being set
st b4 in b2
holds ex b5 being set st
[b5,b4] in b3
iff
rng b3 = b2;
:: RELSET_1:funcnot 6 => RELSET_1:func 6
definition
let a1, a2 be set;
let a3 be Relation of a1,a2;
redefine func a3 ~ -> Relation of a2,a1;
involutiveness;
:: for a1, a2 being set
:: for a3 being Relation of a1,a2 holds
:: a3 ~ ~ = a3;
end;
:: RELSET_1:funcnot 7 => RELSET_1:func 7
definition
let a1, a2, a3, a4 be set;
let a5 be Relation of a1,a2;
let a6 be Relation of a3,a4;
redefine func a5 * a6 -> Relation of a1,a4;
end;
:: RELSET_1:th 24
theorem
for b1, b2 being set
for b3 being Relation of b1,b2 holds
dom (b3 ~) = rng b3 & rng (b3 ~) = dom b3;
:: RELSET_1:th 25
theorem
for b1, b2 being set holds
{} is Relation of b1,b2;
:: RELSET_1:th 26
theorem
for b1, b2 being set
for b3 being Relation of b1,b2
st b3 is Relation of {},b2
holds b3 = {};
:: RELSET_1:th 27
theorem
for b1, b2 being set
for b3 being Relation of b2,b1
st b3 is Relation of b2,{}
holds b3 = {};
:: RELSET_1:th 28
theorem
for b1 being set holds
id b1 c= [:b1,b1:];
:: RELSET_1:th 29
theorem
for b1 being set holds
id b1 is Relation of b1,b1;
:: RELSET_1:th 30
theorem
for b1, b2, b3 being set
for b4 being Relation of b1,b2
st id b3 c= b4
holds b3 c= dom b4 & b3 c= rng b4;
:: RELSET_1:th 31
theorem
for b1, b2 being set
for b3 being Relation of b2,b1
st id b2 c= b3
holds b2 = dom b3 & b2 c= rng b3;
:: RELSET_1:th 32
theorem
for b1, b2 being set
for b3 being Relation of b1,b2
st id b2 c= b3
holds b2 c= dom b3 & b2 = rng b3;
:: RELSET_1:funcnot 8 => RELSET_1:func 8
definition
let a1, a2 be set;
let a3 be Relation of a1,a2;
let a4 be set;
redefine func a3 | a4 -> Relation of a1,a2;
end;
:: RELSET_1:funcnot 9 => RELSET_1:func 9
definition
let a1, a2, a3 be set;
let a4 be Relation of a1,a2;
redefine func a3 | a4 -> Relation of a1,a2;
end;
:: RELSET_1:th 33
theorem
for b1, b2, b3 being set
for b4 being Relation of b1,b3 holds
b4 | b2 is Relation of b2,b3;
:: RELSET_1:th 34
theorem
for b1, b2, b3 being set
for b4 being Relation of b2,b1
st b2 c= b3
holds b4 | b3 = b4;
:: RELSET_1:th 35
theorem
for b1, b2, b3 being set
for b4 being Relation of b3,b1 holds
b2 | b4 is Relation of b3,b2;
:: RELSET_1:th 36
theorem
for b1, b2, b3 being set
for b4 being Relation of b1,b2
st b2 c= b3
holds b3 | b4 = b4;
:: RELSET_1:funcnot 10 => RELSET_1:func 10
definition
let a1, a2 be set;
let a3 be Relation of a1,a2;
let a4 be set;
redefine func a3 .: a4 -> Element of bool a2;
end;
:: RELSET_1:funcnot 11 => RELSET_1:func 11
definition
let a1, a2 be set;
let a3 be Relation of a1,a2;
let a4 be set;
redefine func a3 " a4 -> Element of bool a1;
end;
:: RELSET_1:th 38
theorem
for b1, b2 being set
for b3 being Relation of b1,b2 holds
b3 .: b1 = rng b3 & b3 " b2 = dom b3;
:: RELSET_1:th 39
theorem
for b1, b2 being set
for b3 being Relation of b2,b1 holds
b3 .: (b3 " b1) = rng b3 & b3 " (b3 .: b2) = dom b3;
:: RELSET_1:sch 1
scheme RELSET_1:sch 1
{F1 -> set,
F2 -> set}:
ex b1 being Relation of F1(),F2() st
for b2, b3 being set holds
[b2,b3] in b1
iff
b2 in F1() & b3 in F2() & P1[b2, b3]
:: RELSET_1:modenot 3
definition
let a1 be set;
mode Relation of a1 is Relation of a1,a1;
end;
:: RELSET_1:th 46
theorem
for b1 being non empty set holds
id b1 <> {};
:: RELSET_1:funcreg 1
registration
let a1 be non empty set;
cluster id a1 -> non empty Relation-like;
end;
:: RELSET_1:th 47
theorem
for b1, b2 being non empty set
for b3 being Relation of b1,b2
for b4 being Element of b1 holds
b4 in dom b3
iff
ex b5 being Element of b2 st
[b4,b5] in b3;
:: RELSET_1:th 48
theorem
for b1, b2 being non empty set
for b3 being Relation of b2,b1
for b4 being set holds
b4 in rng b3
iff
ex b5 being Element of b2 st
[b5,b4] in b3;
:: RELSET_1:th 49
theorem
for b1, b2 being non empty set
for b3 being Relation of b1,b2
st dom b3 <> {}
holds ex b4 being Element of b2 st
b4 in rng b3;
:: RELSET_1:th 50
theorem
for b1, b2 being non empty set
for b3 being Relation of b2,b1
st rng b3 <> {}
holds ex b4 being Element of b2 st
b4 in dom b3;
:: RELSET_1:th 51
theorem
for b1, b2, b3 being non empty set
for b4 being Relation of b1,b2
for b5 being Relation of b2,b3
for b6, b7 being set holds
[b6,b7] in b4 * b5
iff
ex b8 being Element of b2 st
[b6,b8] in b4 & [b8,b7] in b5;
:: RELSET_1:th 52
theorem
for b1, b2, b3 being non empty set
for b4 being Relation of b3,b1
for b5 being Element of b1 holds
b5 in b4 .: b2
iff
ex b6 being Element of b3 st
[b6,b5] in b4 & b6 in b2;
:: RELSET_1:th 53
theorem
for b1, b2, b3 being non empty set
for b4 being Relation of b1,b3
for b5 being Element of b1 holds
b5 in b4 " b2
iff
ex b6 being Element of b3 st
[b5,b6] in b4 & b6 in b2;
:: RELSET_1:sch 2
scheme RELSET_1:sch 2
{F1 -> non empty set,
F2 -> non empty set}:
ex b1 being Relation of F1(),F2() st
for b2 being Element of F1()
for b3 being Element of F2() holds
[b2,b3] in b1
iff
P1[b2, b3]
:: RELSET_1:sch 3
scheme RELSET_1:sch 3
{F1 -> set,
F2 -> Element of bool F1(),
F3 -> set}:
ex b1 being Relation of F2(),F2() st
for b2 being Element of F1()
st b2 in F2()
holds Im(b1,b2) = F3(b2)
provided
for b1 being Element of F1()
st b1 in F2()
holds F3(b1) c= F2();
:: RELSET_1:th 54
theorem
for b1 being set
for b2, b3 being Relation of b1,b1
st for b4 being set
st b4 in b1
holds Im(b2,b4) = Im(b3,b4)
holds b2 = b3;
:: RELSET_1:sch 4
scheme RELSET_1:sch 4
{F1 -> set,
F2 -> set,
F3 -> Relation of F1(),F2(),
F4 -> Relation of F1(),F2()}:
F3() = F4()
provided
for b1 being Element of F1()
for b2 being Element of F2() holds
[b1,b2] in F3()
iff
P1[b1, b2]
and
for b1 being Element of F1()
for b2 being Element of F2() holds
[b1,b2] in F4()
iff
P1[b1, b2];
:: RELSET_1:funcreg 2
registration
let a1, a2, a3 be set;
let a4 be Relation of [:a1,a2:],a3;
cluster proj1 a4 -> Relation-like;
end;
:: RELSET_1:funcreg 3
registration
let a1, a2, a3 be set;
let a4 be Relation of a1,[:a2,a3:];
cluster proj2 a4 -> Relation-like;
end;