Article FRAENKEL, MML version 4.99.1005
:: FRAENKEL:sch 1
scheme FRAENKEL:sch 1
{F1 -> non empty set,
F2 -> set}:
{F2(b1) where b1 is Element of F1(): P1[b1]} c= {F2(b1) where b1 is Element of F1(): P2[b1]}
provided
for b1 being Element of F1()
st P1[b1]
holds P2[b1];
:: FRAENKEL:sch 2
scheme FRAENKEL:sch 2
{F1 -> non empty set,
F2 -> non empty set,
F3 -> set}:
{F3(b1, b2) where b1 is Element of F1(), b2 is Element of F2(): P1[b1, b2]} c= {F3(b1, b2) where b1 is Element of F1(), b2 is Element of F2(): P2[b1, b2]}
provided
for b1 being Element of F1()
for b2 being Element of F2()
st P1[b1, b2]
holds P2[b1, b2];
:: FRAENKEL:sch 3
scheme FRAENKEL:sch 3
{F1 -> non empty set,
F2 -> set}:
{F2(b1) where b1 is Element of F1(): P1[b1]} = {F2(b1) where b1 is Element of F1(): P2[b1]}
provided
for b1 being Element of F1() holds
P1[b1]
iff
P2[b1];
:: FRAENKEL:sch 4
scheme FRAENKEL:sch 4
{F1 -> non empty set,
F2 -> non empty set,
F3 -> set}:
{F3(b1, b2) where b1 is Element of F1(), b2 is Element of F2(): P1[b1, b2]} = {F3(b1, b2) where b1 is Element of F1(), b2 is Element of F2(): P2[b1, b2]}
provided
for b1 being Element of F1()
for b2 being Element of F2() holds
P1[b1, b2]
iff
P2[b1, b2];
:: FRAENKEL:sch 5
scheme FRAENKEL:sch 5
{F1 -> non empty set,
F2 -> set,
F3 -> set}:
{F2(b1) where b1 is Element of F1(): P1[b1]} = {F3(b1) where b1 is Element of F1(): P1[b1]}
provided
for b1 being Element of F1() holds
F2(b1) = F3(b1);
:: FRAENKEL:sch 6
scheme FRAENKEL:sch 6
{F1 -> non empty set,
F2 -> set,
F3 -> set}:
{F2(b1) where b1 is Element of F1(): P1[b1]} = {F3(b1) where b1 is Element of F1(): P1[b1]}
provided
for b1 being Element of F1()
st P1[b1]
holds F2(b1) = F3(b1);
:: FRAENKEL:sch 7
scheme FRAENKEL:sch 7
{F1 -> non empty set,
F2 -> non empty set,
F3 -> set,
F4 -> set}:
{F3(b1, b2) where b1 is Element of F1(), b2 is Element of F2(): P1[b1, b2]} = {F4(b1, b2) where b1 is Element of F1(), b2 is Element of F2(): P1[b1, b2]}
provided
for b1 being Element of F1()
for b2 being Element of F2() holds
F3(b1, b2) = F4(b1, b2);
:: FRAENKEL:sch 8
scheme FRAENKEL:sch 8
{F1 -> non empty set,
F2 -> non empty set,
F3 -> set}:
{F3(b1, b2) where b1 is Element of F1(), b2 is Element of F2(): P1[b1, b2]} = {F3(b2, b1) where b1 is Element of F1(), b2 is Element of F2(): P2[b1, b2]}
provided
for b1 being Element of F1()
for b2 being Element of F2() holds
P1[b1, b2]
iff
P2[b1, b2]
and
for b1 being Element of F1()
for b2 being Element of F2() holds
F3(b1, b2) = F3(b2, b1);
:: FRAENKEL:th 3
theorem
for b1, b2 being non empty set
for b3, b4 being Function-like quasi_total Relation of b1,b2
for b5 being set
st b3 | b5 = b4 | b5
for b6 being Element of b1
st b6 in b5
holds b3 . b6 = b4 . b6;
:: FRAENKEL:th 5
theorem
for b1, b2 being set holds
Funcs(b1,b2) c= bool [:b1,b2:];
:: FRAENKEL:th 6
theorem
for b1 being non empty set
for b2, b3, b4 being set
st Funcs(b3,b4) <> {} & b3 c= b2 & b4 c= b1
for b5 being Element of Funcs(b3,b4) holds
b5 is Function-like Relation of b2,b1;
:: FRAENKEL:sch 9
scheme FRAENKEL:sch 9
{F1 -> non empty set,
F2 -> non empty set,
F3 -> set,
F4 -> Function-like quasi_total Relation of F1(),F2(),
F5 -> Function-like quasi_total Relation of F1(),F2()}:
{F4() . b1 where b1 is Element of F1(): P1[b1] & b1 in F3()} = {F5() . b1 where b1 is Element of F1(): P2[b1] & b1 in F3()}
provided
F4() | F3() = F5() | F3()
and
for b1 being Element of F1()
st b1 in F3()
holds P1[b1]
iff
P2[b1];
:: FRAENKEL:sch 10
scheme FRAENKEL:sch 10
{F1 -> non empty set}:
{b1 where b1 is Element of F1(): P1[b1]} c= F1()
:: FRAENKEL:sch 11
scheme FRAENKEL:sch 11
{F1 -> non empty set,
F2 -> non empty set,
F3 -> set}:
for b1 being Element of F1()
for b2 being Element of F2()
st P1[b1, b2]
holds P2[F3(b1, b2)]
provided
for b1 being set
st b1 in {F3(b2, b3) where b2 is Element of F1(), b3 is Element of F2(): P1[b2, b3]}
holds P2[b1];
:: FRAENKEL:sch 12
scheme FRAENKEL:sch 12
{F1 -> non empty set,
F2 -> non empty set,
F3 -> set}:
for b1 being set
st b1 in {F3(b2, b3) where b2 is Element of F1(), b3 is Element of F2(): P1[b2, b3]}
holds P2[b1]
provided
for b1 being Element of F1()
for b2 being Element of F2()
st P1[b1, b2]
holds P2[F3(b1, b2)];
:: FRAENKEL:sch 13
scheme FRAENKEL:sch 13
{F1 -> non empty set,
F2 -> non empty set,
F3 -> non empty set,
F4 -> Element of F3()}:
{b1 where b1 is Element of F3(): b1 in {F4(b2, b3) where b2 is Element of F1(), b3 is Element of F2(): P1[b2, b3]} & P2[b1]} = {F4(b1, b2) where b1 is Element of F1(), b2 is Element of F2(): P1[b1, b2] & P2[F4(b1, b2)]}
:: FRAENKEL:sch 14
scheme FRAENKEL:sch 14
{F1 -> non empty set,
F2 -> set}:
{F2(b1) where b1 is Element of F1(): b1 in {b2 where b2 is Element of F1(): P2[b2]} & P1[b1]} = {F2(b1) where b1 is Element of F1(): P2[b1] & P1[b1]}
:: FRAENKEL:sch 15
scheme FRAENKEL:sch 15
{F1 -> non empty set,
F2 -> non empty set,
F3 -> set}:
{F3(b1, b2) where b1 is Element of F1(), b2 is Element of F2(): b1 in {b3 where b3 is Element of F1(): P2[b3]} & P1[b1, b2]} = {F3(b1, b2) where b1 is Element of F1(), b2 is Element of F2(): P2[b1] & P1[b1, b2]}
:: FRAENKEL:sch 16
scheme FRAENKEL:sch 16
{F1 -> non empty set,
F2 -> non empty set,
F3 -> set}:
{F3(b1, b2) where b1 is Element of F1(), b2 is Element of F2(): P1[b1, b2]} c= {F3(b1, b2) where b1 is Element of F1(), b2 is Element of F2(): P2[b1, b2]}
provided
for b1 being Element of F1()
for b2 being Element of F2()
st P1[b1, b2]
holds ex b3 being Element of F1() st
P2[b3, b2] & F3(b1, b2) = F3(b3, b2);
:: FRAENKEL:sch 17
scheme FRAENKEL:sch 17
{F1 -> non empty set,
F2 -> set,
F3 -> set}:
{F3(b1) where b1 is Element of F1(): F3(b1) in F2() & P1[b1]} c= F2()
:: FRAENKEL:sch 18
scheme FRAENKEL:sch 18
{F1 -> non empty set,
F2 -> set,
F3 -> set}:
{F3(b1) where b1 is Element of F1(): P1[b1] & not F3(b1) in F2()} misses F2()
:: FRAENKEL:sch 19
scheme FRAENKEL:sch 19
{F1 -> non empty set,
F2 -> non empty set,
F3 -> set,
F4 -> Element of F2()}:
{F3(b1, b2) where b1 is Element of F1(), b2 is Element of F2(): P2[b1, b2]} = {F3(b1, F4()) where b1 is Element of F1(): P1[b1, F4()]}
provided
for b1 being Element of F1()
for b2 being Element of F2() holds
P2[b1, b2]
iff
b2 = F4() & P1[b1, b2];
:: FRAENKEL:sch 20
scheme FRAENKEL:sch 20
{F1 -> non empty set,
F2 -> non empty set,
F3 -> set,
F4 -> Element of F2()}:
{F3(b1, b2) where b1 is Element of F1(), b2 is Element of F2(): b2 = F4() & P1[b1, b2]} = {F3(b1, F4()) where b1 is Element of F1(): P1[b1, F4()]}
:: FRAENKEL:attrnot 1 => FRAENKEL:attr 1
definition
let a1 be set;
attr a1 is functional means
for b1 being set
st b1 in a1
holds b1 is Relation-like Function-like set;
end;
:: FRAENKEL:dfs 1
definiens
let a1 be set;
To prove
a1 is functional
it is sufficient to prove
thus for b1 being set
st b1 in a1
holds b1 is Relation-like Function-like set;
:: FRAENKEL:def 1
theorem
for b1 being set holds
b1 is functional
iff
for b2 being set
st b2 in b1
holds b2 is Relation-like Function-like set;
:: FRAENKEL:exreg 1
registration
cluster non empty functional set;
end;
:: FRAENKEL:condreg 1
registration
let a1 be functional set;
cluster -> Relation-like Function-like (Element of a1);
end;
:: FRAENKEL:th 8
theorem
for b1 being Relation-like Function-like set holds
{b1} is functional;
:: FRAENKEL:funcreg 1
registration
let a1, a2 be set;
cluster Funcs(a1,a2) -> functional;
end;
:: FRAENKEL:modenot 1 => FRAENKEL:mode 1
definition
let a1, a2 be set;
mode FUNCTION_DOMAIN of A1,A2 -> non empty functional set means
for b1 being Element of it holds
b1 is Function-like quasi_total Relation of a1,a2;
end;
:: FRAENKEL:dfs 2
definiens
let a1, a2 be set;
let a3 be non empty functional set;
To prove
a3 is FUNCTION_DOMAIN of a1,a2
it is sufficient to prove
thus for b1 being Element of a3 holds
b1 is Function-like quasi_total Relation of a1,a2;
:: FRAENKEL:def 2
theorem
for b1, b2 being set
for b3 being non empty functional set holds
b3 is FUNCTION_DOMAIN of b1,b2
iff
for b4 being Element of b3 holds
b4 is Function-like quasi_total Relation of b1,b2;
:: FRAENKEL:th 10
theorem
for b1, b2 being set
for b3 being Function-like quasi_total Relation of b1,b2 holds
{b3} is FUNCTION_DOMAIN of b1,b2;
:: FRAENKEL:th 11
theorem
for b1 being non empty set
for b2 being set holds
Funcs(b2,b1) is FUNCTION_DOMAIN of b2,b1;
:: FRAENKEL:funcnot 1 => FRAENKEL:func 1
definition
let a1 be set;
let a2 be non empty set;
redefine func Funcs(a1,a2) -> FUNCTION_DOMAIN of a1,a2;
end;
:: FRAENKEL:modenot 2 => FRAENKEL:mode 2
definition
let a1 be set;
let a2 be non empty set;
let a3 be FUNCTION_DOMAIN of a1,a2;
redefine mode Element of a3 -> Function-like quasi_total Relation of a1,a2;
end;
:: FRAENKEL:th 14
theorem
for b1 being non empty set
for b2, b3, b4 being set
st Funcs(b3,b4) <> {} & b3 c= b2 & b4 c= b1
for b5 being Element of Funcs(b3,b4) holds
ex b6 being Element of Funcs(b2,b1) st
b6 | b3 = b5;
:: FRAENKEL:th 15
theorem
for b1 being non empty set
for b2, b3 being set
for b4 being Element of Funcs(b2,b1) holds
b4 | b3 = b4 | (b2 /\ b3);
:: FRAENKEL:sch 21
scheme FRAENKEL:sch 21
{F1 -> non empty set,
F2 -> set,
F3 -> set}:
{F3(b1) where b1 is Element of F1(): b1 in F2()} is finite
provided
F2() is finite;
:: FRAENKEL:sch 22
scheme FRAENKEL:sch 22
{F1 -> non empty set,
F2 -> non empty set,
F3 -> set,
F4 -> set,
F5 -> set}:
{F5(b1, b2) where b1 is Element of F1(), b2 is Element of F2(): b1 in F3() & b2 in F4()} is finite
provided
F3() is finite
and
F4() is finite;
:: FRAENKEL:sch 23
scheme FRAENKEL:sch 23
{F1 -> non empty set,
F2 -> Element of Fin F1()}:
for b1 being Element of F1()
st b1 in F2()
holds ex b2 being Element of F1() st
b2 in F2() &
P1[b2, b1] &
(for b3 being Element of F1()
st b3 in F2() & P1[b3, b2]
holds P1[b2, b3])
provided
for b1 being Element of F1() holds
P1[b1, b1]
and
for b1, b2, b3 being Element of F1()
st P1[b1, b2] & P1[b2, b3]
holds P1[b1, b3];
:: FRAENKEL:sch 24
scheme FRAENKEL:sch 24
{F1 -> non empty set,
F2 -> non empty set,
F3 -> Element of Fin F2(),
F4 -> Element of F1()}:
ex b1 being Element of Fin F1() st
for b2 being Element of F1() holds
b2 in b1
iff
ex b3 being Element of F2() st
b3 in F3() & b2 = F4(b3) & P1[b2, b3]
:: FRAENKEL:th 16
theorem
for b1, b2 being set
st b1 is finite & b2 is finite
holds Funcs(b1,b2) is finite;
:: FRAENKEL:funcreg 2
registration
let a1, a2 be finite set;
cluster Funcs(a1,a2) -> finite;
end;
:: FRAENKEL:sch 25
scheme FRAENKEL:sch 25
{F1 -> non empty set,
F2 -> non empty set,
F3 -> set,
F4 -> set,
F5 -> set}:
{F5(b1) where b1 is Element of Funcs(F1(),F2()): b1 .: F3() c= F4()} is finite
provided
F3() is finite
and
F4() is finite
and
for b1, b2 being Element of Funcs(F1(),F2())
st b1 | F3() = b2 | F3()
holds F5(b1) = F5(b2);
:: FRAENKEL:sch 26
scheme FRAENKEL:sch 26
{F1 -> non empty set,
F2 -> non empty set,
F3 -> Element of Fin F1()}:
ex b1 being Function-like quasi_total Relation of F1(),F2() st
for b2 being Element of F1()
st b2 in F3()
holds P1[b2, b1 . b2]
provided
for b1 being Element of F1()
st b1 in F3()
holds ex b2 being Element of F2() st
P1[b1, b2];
:: FRAENKEL:sch 27
scheme FRAENKEL:sch 27
{F1 -> non empty set,
F2 -> non empty set,
F3 -> Element of Fin F1()}:
ex b1 being Element of Funcs(F1(),F2()) st
for b2 being Element of F1()
st b2 in F3()
holds P1[b2, b1 . b2]
provided
for b1 being Element of F1()
st b1 in F3()
holds ex b2 being Element of F2() st
P1[b1, b2];
:: FRAENKEL:th 17
theorem
for b1 being functional set
for b2 being set
st b2 c= b1
holds b2 is functional;
:: FRAENKEL:funcreg 3
registration
let a1, a2 be set;
cluster PFuncs(a1,a2) -> functional;
end;
:: FRAENKEL:sch 28
scheme FRAENKEL:sch 28
{F1 -> non empty set,
F2 -> non empty set,
F3 -> set}:
{b1 where b1 is Element of F2(): ex b2 being Element of F1() st
P1[b2, b1] & b2 in F3()} is finite
provided
F3() is finite
and
for b1 being Element of F1()
for b2, b3 being Element of F2()
st P1[b1, b2] & P1[b1, b3]
holds b2 = b3;