Article ZF_FUND1, MML version 4.99.1005
:: ZF_FUND1:funcnot 1 => ZF_FUND1:func 1
definition
let a1, a2 be set;
func A1 (#) A2 -> set means
for b1 being set holds
b1 in it
iff
ex b2, b3, b4 being set st
b1 = [b2,b4] & [b2,b3] in a1 & [b3,b4] in a2;
end;
:: ZF_FUND1:def 1
theorem
for b1, b2, b3 being set holds
b3 = b1 (#) b2
iff
for b4 being set holds
b4 in b3
iff
ex b5, b6, b7 being set st
b4 = [b5,b7] & [b5,b6] in b1 & [b6,b7] in b2;
:: ZF_FUND1:funcnot 2 => ZF_FUND1:func 2
definition
let a1 be non empty universal set;
let a2, a3 be Element of a1;
redefine func a2 (#) a3 -> Element of a1;
end;
:: ZF_FUND1:funcnot 3 => ZF_FUND1:func 3
definition
func decode -> Function-like quasi_total Relation of omega,VAR means
for b1 being Element of omega holds
it . b1 = x. card b1;
end;
:: ZF_FUND1:def 2
theorem
for b1 being Function-like quasi_total Relation of omega,VAR holds
b1 = decode
iff
for b2 being Element of omega holds
b1 . b2 = x. card b2;
:: ZF_FUND1:funcnot 4 => ZF_FUND1:func 4
definition
let a1 be Element of VAR;
func x". A1 -> Element of NAT means
x. it = a1;
end;
:: ZF_FUND1:def 3
theorem
for b1 being Element of VAR
for b2 being Element of NAT holds
b2 = x". b1
iff
x. b2 = b1;
:: ZF_FUND1:funcnot 5 => ZF_FUND1:func 5
definition
let a1 be finite Element of bool VAR;
func code A1 -> finite Element of bool omega equals
decode " .: a1;
end;
:: ZF_FUND1:def 4
theorem
for b1 being finite Element of bool VAR holds
code b1 = decode " .: b1;
:: ZF_FUND1:funcnot 6 => ZF_FUND1:func 6
definition
let a1 be ZF-formula-like FinSequence of NAT;
redefine func Free a1 -> finite Element of bool VAR;
end;
:: ZF_FUND1:funcnot 7 => ZF_FUND1:func 7
definition
let a1 be ZF-formula-like FinSequence of NAT;
let a2 be non empty set;
func Diagram(A1,A2) -> set means
for b1 being set holds
b1 in it
iff
ex b2 being Function-like quasi_total Relation of VAR,a2 st
b1 = (b2 * decode) | code Free a1 &
b2 in St(a1,a2);
end;
:: ZF_FUND1:def 5
theorem
for b1 being ZF-formula-like FinSequence of NAT
for b2 being non empty set
for b3 being set holds
b3 = Diagram(b1,b2)
iff
for b4 being set holds
b4 in b3
iff
ex b5 being Function-like quasi_total Relation of VAR,b2 st
b4 = (b5 * decode) | code Free b1 &
b5 in St(b1,b2);
:: ZF_FUND1:attrnot 1 => ZF_FUND1:attr 1
definition
let a1 be non empty universal set;
let a2 be non empty Element of bool a1;
attr a2 is closed_wrt_A1 means
for b1 being Element of a1
st b1 in a2
holds {{[0-element_of a1,b2],[1-element_of a1,b3]} where b2 is Element of a1, b3 is Element of a1: b2 in b3 & b2 in b1 & b3 in b1} in a2;
end;
:: ZF_FUND1:dfs 6
definiens
let a1 be non empty universal set;
let a2 be non empty Element of bool a1;
To prove
a2 is closed_wrt_A1
it is sufficient to prove
thus for b1 being Element of a1
st b1 in a2
holds {{[0-element_of a1,b2],[1-element_of a1,b3]} where b2 is Element of a1, b3 is Element of a1: b2 in b3 & b2 in b1 & b3 in b1} in a2;
:: ZF_FUND1:def 6
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1 holds
b2 is closed_wrt_A1(b1)
iff
for b3 being Element of b1
st b3 in b2
holds {{[0-element_of b1,b4],[1-element_of b1,b5]} where b4 is Element of b1, b5 is Element of b1: b4 in b5 & b4 in b3 & b5 in b3} in b2;
:: ZF_FUND1:attrnot 2 => ZF_FUND1:attr 2
definition
let a1 be non empty universal set;
let a2 be non empty Element of bool a1;
attr a2 is closed_wrt_A2 means
for b1, b2 being Element of a1
st b1 in a2 & b2 in a2
holds {b1,b2} in a2;
end;
:: ZF_FUND1:dfs 7
definiens
let a1 be non empty universal set;
let a2 be non empty Element of bool a1;
To prove
a2 is closed_wrt_A2
it is sufficient to prove
thus for b1, b2 being Element of a1
st b1 in a2 & b2 in a2
holds {b1,b2} in a2;
:: ZF_FUND1:def 7
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1 holds
b2 is closed_wrt_A2(b1)
iff
for b3, b4 being Element of b1
st b3 in b2 & b4 in b2
holds {b3,b4} in b2;
:: ZF_FUND1:attrnot 3 => ZF_FUND1:attr 3
definition
let a1 be non empty universal set;
let a2 be non empty Element of bool a1;
attr a2 is closed_wrt_A3 means
for b1 being Element of a1
st b1 in a2
holds union b1 in a2;
end;
:: ZF_FUND1:dfs 8
definiens
let a1 be non empty universal set;
let a2 be non empty Element of bool a1;
To prove
a2 is closed_wrt_A3
it is sufficient to prove
thus for b1 being Element of a1
st b1 in a2
holds union b1 in a2;
:: ZF_FUND1:def 8
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1 holds
b2 is closed_wrt_A3(b1)
iff
for b3 being Element of b1
st b3 in b2
holds union b3 in b2;
:: ZF_FUND1:attrnot 4 => ZF_FUND1:attr 4
definition
let a1 be non empty universal set;
let a2 be non empty Element of bool a1;
attr a2 is closed_wrt_A4 means
for b1, b2 being Element of a1
st b1 in a2 & b2 in a2
holds {{[b3,b4]} where b3 is Element of a1, b4 is Element of a1: b3 in b1 & b4 in b2} in a2;
end;
:: ZF_FUND1:dfs 9
definiens
let a1 be non empty universal set;
let a2 be non empty Element of bool a1;
To prove
a2 is closed_wrt_A4
it is sufficient to prove
thus for b1, b2 being Element of a1
st b1 in a2 & b2 in a2
holds {{[b3,b4]} where b3 is Element of a1, b4 is Element of a1: b3 in b1 & b4 in b2} in a2;
:: ZF_FUND1:def 9
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1 holds
b2 is closed_wrt_A4(b1)
iff
for b3, b4 being Element of b1
st b3 in b2 & b4 in b2
holds {{[b5,b6]} where b5 is Element of b1, b6 is Element of b1: b5 in b3 & b6 in b4} in b2;
:: ZF_FUND1:attrnot 5 => ZF_FUND1:attr 5
definition
let a1 be non empty universal set;
let a2 be non empty Element of bool a1;
attr a2 is closed_wrt_A5 means
for b1, b2 being Element of a1
st b1 in a2 & b2 in a2
holds {b3 \/ b4 where b3 is Element of a1, b4 is Element of a1: b3 in b1 & b4 in b2} in a2;
end;
:: ZF_FUND1:dfs 10
definiens
let a1 be non empty universal set;
let a2 be non empty Element of bool a1;
To prove
a2 is closed_wrt_A5
it is sufficient to prove
thus for b1, b2 being Element of a1
st b1 in a2 & b2 in a2
holds {b3 \/ b4 where b3 is Element of a1, b4 is Element of a1: b3 in b1 & b4 in b2} in a2;
:: ZF_FUND1:def 10
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1 holds
b2 is closed_wrt_A5(b1)
iff
for b3, b4 being Element of b1
st b3 in b2 & b4 in b2
holds {b5 \/ b6 where b5 is Element of b1, b6 is Element of b1: b5 in b3 & b6 in b4} in b2;
:: ZF_FUND1:attrnot 6 => ZF_FUND1:attr 6
definition
let a1 be non empty universal set;
let a2 be non empty Element of bool a1;
attr a2 is closed_wrt_A6 means
for b1, b2 being Element of a1
st b1 in a2 & b2 in a2
holds {b3 \ b4 where b3 is Element of a1, b4 is Element of a1: b3 in b1 & b4 in b2} in a2;
end;
:: ZF_FUND1:dfs 11
definiens
let a1 be non empty universal set;
let a2 be non empty Element of bool a1;
To prove
a2 is closed_wrt_A6
it is sufficient to prove
thus for b1, b2 being Element of a1
st b1 in a2 & b2 in a2
holds {b3 \ b4 where b3 is Element of a1, b4 is Element of a1: b3 in b1 & b4 in b2} in a2;
:: ZF_FUND1:def 11
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1 holds
b2 is closed_wrt_A6(b1)
iff
for b3, b4 being Element of b1
st b3 in b2 & b4 in b2
holds {b5 \ b6 where b5 is Element of b1, b6 is Element of b1: b5 in b3 & b6 in b4} in b2;
:: ZF_FUND1:attrnot 7 => ZF_FUND1:attr 7
definition
let a1 be non empty universal set;
let a2 be non empty Element of bool a1;
attr a2 is closed_wrt_A7 means
for b1, b2 being Element of a1
st b1 in a2 & b2 in a2
holds {b3 (#) b4 where b3 is Element of a1, b4 is Element of a1: b3 in b1 & b4 in b2} in a2;
end;
:: ZF_FUND1:dfs 12
definiens
let a1 be non empty universal set;
let a2 be non empty Element of bool a1;
To prove
a2 is closed_wrt_A7
it is sufficient to prove
thus for b1, b2 being Element of a1
st b1 in a2 & b2 in a2
holds {b3 (#) b4 where b3 is Element of a1, b4 is Element of a1: b3 in b1 & b4 in b2} in a2;
:: ZF_FUND1:def 12
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1 holds
b2 is closed_wrt_A7(b1)
iff
for b3, b4 being Element of b1
st b3 in b2 & b4 in b2
holds {b5 (#) b6 where b5 is Element of b1, b6 is Element of b1: b5 in b3 & b6 in b4} in b2;
:: ZF_FUND1:attrnot 8 => ZF_FUND1:attr 8
definition
let a1 be non empty universal set;
let a2 be non empty Element of bool a1;
attr a2 is closed_wrt_A1-A7 means
a2 is closed_wrt_A1(a1) & a2 is closed_wrt_A2(a1) & a2 is closed_wrt_A3(a1) & a2 is closed_wrt_A4(a1) & a2 is closed_wrt_A5(a1) & a2 is closed_wrt_A6(a1) & a2 is closed_wrt_A7(a1);
end;
:: ZF_FUND1:dfs 13
definiens
let a1 be non empty universal set;
let a2 be non empty Element of bool a1;
To prove
a2 is closed_wrt_A1-
it is sufficient to prove
thus a2 is closed_wrt_A1(a1) & a2 is closed_wrt_A2(a1) & a2 is closed_wrt_A3(a1) & a2 is closed_wrt_A4(a1) & a2 is closed_wrt_A5(a1) & a2 is closed_wrt_A6(a1) & a2 is closed_wrt_A7(a1);
:: ZF_FUND1:def 13
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1 holds
b2 is closed_wrt_A1-(b1)
iff
b2 is closed_wrt_A1(b1) & b2 is closed_wrt_A2(b1) & b2 is closed_wrt_A3(b1) & b2 is closed_wrt_A4(b1) & b2 is closed_wrt_A5(b1) & b2 is closed_wrt_A6(b1) & b2 is closed_wrt_A7(b1);
:: ZF_FUND1:th 1
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1
for b3, b4 being set holds
b2 c= b1 & (b3 in b2 implies b3 is Element of b1) & (b3 in b4 & b4 in b2 implies b3 is Element of b1);
:: ZF_FUND1:th 2
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1
for b3, b4 being set
st b2 is closed_wrt_A1-(b1)
holds (b3 in b2 implies {b3} in b2) & ({b3} in b2 implies b3 in b2) & (b4 in b2 implies union b4 in b2);
:: ZF_FUND1:th 3
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1
st b2 is closed_wrt_A1-(b1)
holds {} in b2;
:: ZF_FUND1:th 4
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1
for b3, b4 being set
st b2 is closed_wrt_A1-(b1) & b3 in b2 & b4 in b2
holds b3 \/ b4 in b2 & b3 \ b4 in b2 & b3 (#) b4 in b2;
:: ZF_FUND1:th 5
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1
for b3, b4 being set
st b2 is closed_wrt_A1-(b1) & b3 in b2 & b4 in b2
holds b3 /\ b4 in b2;
:: ZF_FUND1:th 6
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1
for b3, b4 being set
st b2 is closed_wrt_A1-(b1) & b3 in b2 & b4 in b2
holds {b3,b4} in b2 & [b3,b4] in b2;
:: ZF_FUND1:th 7
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1
st b2 is closed_wrt_A1-(b1)
holds omega c= b2;
:: ZF_FUND1:th 8
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1
for b3 being finite Element of bool omega
st b2 is closed_wrt_A1-(b1)
holds Funcs(b3,omega) c= b2;
:: ZF_FUND1:th 9
theorem
for b1 being non empty universal set
for b2 being Element of b1
for b3 being non empty Element of bool b1
for b4 being finite Element of bool omega
st b3 is closed_wrt_A1-(b1) & b2 in b3
holds Funcs(b4,b2) in b3;
:: ZF_FUND1:th 10
theorem
for b1 being non empty universal set
for b2, b3 being Element of b1
for b4 being non empty Element of bool b1
for b5 being finite Element of bool omega
st b4 is closed_wrt_A1-(b1) & b2 in Funcs(b5,omega) & b3 in b4
holds {b2 (#) b6 where b6 is Element of b1: b6 in b3} in b4;
:: ZF_FUND1:th 11
theorem
for b1 being non empty universal set
for b2, b3 being Element of b1
for b4 being non empty Element of bool b1
for b5 being Element of omega
for b6 being finite Element of bool omega
st b4 is closed_wrt_A1-(b1) & b5 in b6 & b2 in b4 & b3 in b4 & b3 c= Funcs(b6,b2)
holds {b7 where b7 is Element of b1: b7 in Funcs(b6 \ {b5},b2) &
(ex b8 being set st
{[b5,b8]} \/ b7 in b3)} in b4;
:: ZF_FUND1:th 12
theorem
for b1 being non empty universal set
for b2, b3 being Element of b1
for b4 being non empty Element of bool b1
for b5 being Element of omega
for b6 being finite Element of bool omega
st b4 is closed_wrt_A1-(b1) & not b5 in b6 & b2 in b4 & b3 in b4 & b3 c= Funcs(b6,b2)
holds {{[b5,b7]} \/ b8 where b7 is Element of b1, b8 is Element of b1: b7 in b2 & b8 in b3} in b4;
:: ZF_FUND1:th 13
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1
for b3 being set
st b2 is closed_wrt_A1-(b1) &
b3 is finite &
(for b4 being set
st b4 in b3
holds b4 in b2)
holds b3 in b2;
:: ZF_FUND1:th 14
theorem
for b1 being non empty universal set
for b2 being Element of b1
for b3 being non empty Element of bool b1
for b4 being set
for b5 being finite Element of bool omega
st b3 is closed_wrt_A1-(b1) & b4 c= b3 & b2 in Funcs(b5,b4)
holds b2 in b3;
:: ZF_FUND1:th 15
theorem
for b1 being non empty universal set
for b2, b3 being Element of b1
for b4 being non empty Element of bool b1
for b5 being Element of omega
for b6 being finite Element of bool omega
st b4 is closed_wrt_A1-(b1) & not b5 in b6 & b2 in b4 & b2 c= b4 & b3 in Funcs(b6,b2)
holds {{[b5,b7]} \/ b3 where b7 is Element of b1: b7 in b2} in b4;
:: ZF_FUND1:th 16
theorem
for b1 being non empty universal set
for b2, b3, b4 being Element of b1
for b5 being non empty Element of bool b1
for b6 being Element of omega
for b7 being finite Element of bool omega
st b5 is closed_wrt_A1-(b1) & not b6 in b7 & b2 in b5 & b2 c= b5 & b3 in Funcs(b7,b2) & b4 c= Funcs(b7 \/ {b6},b2) & b4 in b5
holds {b8 where b8 is Element of b1: b8 in b2 &
{[b6,b8]} \/ b3 in b4} in b5;
:: ZF_FUND1:th 17
theorem
for b1 being non empty universal set
for b2 being Element of b1
for b3 being non empty Element of bool b1
st b3 is closed_wrt_A1-(b1) & b2 in b3
holds {{[0-element_of b1,b4],[1-element_of b1,b4]} where b4 is Element of b1: b4 in b2} in b3;
:: ZF_FUND1:th 18
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1
for b3 being non empty set
st b2 is closed_wrt_A1-(b1) & b3 in b2
for b4, b5 being Element of VAR holds
Diagram(b4 '=' b5,b3) in b2 & Diagram(b4 'in' b5,b3) in b2;
:: ZF_FUND1:th 19
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1
for b3 being non empty set
st b2 is closed_wrt_A1-(b1) & b3 in b2
for b4 being ZF-formula-like FinSequence of NAT
st Diagram(b4,b3) in b2
holds Diagram('not' b4,b3) in b2;
:: ZF_FUND1:th 20
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1
for b3 being non empty set
st b2 is closed_wrt_A1-(b1) & b3 in b2
for b4, b5 being ZF-formula-like FinSequence of NAT
st Diagram(b4,b3) in b2 & Diagram(b5,b3) in b2
holds Diagram(b4 '&' b5,b3) in b2;
:: ZF_FUND1:th 21
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1
for b3 being non empty set
st b2 is closed_wrt_A1-(b1) & b3 in b2
for b4 being ZF-formula-like FinSequence of NAT
for b5 being Element of VAR
st Diagram(b4,b3) in b2
holds Diagram(All(b5,b4),b3) in b2;
:: ZF_FUND1:th 22
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1
for b3 being non empty set
for b4 being ZF-formula-like FinSequence of NAT
st b2 is closed_wrt_A1-(b1) & b3 in b2
holds Diagram(b4,b3) in b2;
:: ZF_FUND1:th 23
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1
for b3 being Element of omega
st b2 is closed_wrt_A1-(b1)
holds b3 in b2 & 0-element_of b1 in b2 & 1-element_of b1 in b2;
:: ZF_FUND1:th 24
theorem
for b1, b2, b3 being set holds
{[b1,b2],[b2,b2]} (#) {[b2,b3]} = {[b1,b3],[b2,b3]};
:: ZF_FUND1:th 25
theorem
for b1, b2, b3, b4, b5, b6 being set
st b1 <> b2
holds {[b3,b1],[b4,b2]} (#) {[b1,b5],[b2,b6]} = {[b3,b5],[b4,b6]};
:: ZF_FUND1:th 27
theorem
for b1, b2 being Element of VAR holds
code {b1} = {x". b1} &
code {b1,b2} = {x". b1,x". b2};
:: ZF_FUND1:th 28
theorem
for b1, b2 being set
for b3 being Relation-like Function-like set holds
proj1 b3 = {b1,b2}
iff
b3 = {[b1,b3 . b1],[b2,b3 . b2]};
:: ZF_FUND1:th 29
theorem
dom decode = omega & rng decode = VAR & decode is one-to-one & decode " is one-to-one & proj1 (decode ") = VAR & proj2 (decode ") = omega;
:: ZF_FUND1:th 30
theorem
for b1 being finite Element of bool VAR holds
b1,code b1 are_equipotent;
:: ZF_FUND1:th 31
theorem
for b1 being Element of omega holds
b1 = x". x. card b1;
:: ZF_FUND1:th 32
theorem
for b1 being finite Element of bool omega
for b2 being non empty set
for b3 being Function-like quasi_total Relation of VAR,b2 holds
dom ((b3 * decode) | b1) = b1 & rng ((b3 * decode) | b1) c= b2 & (b3 * decode) | b1 in Funcs(b1,b2) & dom (b3 * decode) = omega;
:: ZF_FUND1:th 33
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of VAR,b1
for b3 being Element of VAR holds
decode . x". b3 = b3 &
decode " . b3 = x". b3 &
(b2 * decode) . x". b3 = b2 . b3;
:: ZF_FUND1:th 34
theorem
for b1 being set
for b2 being finite Element of bool VAR holds
b1 in code b2
iff
ex b3 being Element of VAR st
b3 in b2 & b1 = x". b3;
:: ZF_FUND1:th 35
theorem
for b1, b2 being finite Element of bool VAR holds
code (b1 \/ b2) = (code b1) \/ code b2 &
code (b1 \ b2) = (code b1) \ code b2;
:: ZF_FUND1:th 36
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of VAR,b1
for b3 being Element of VAR
for b4 being ZF-formula-like FinSequence of NAT
st b3 in Free b4
holds ((b2 * decode) | code Free b4) . x". b3 = b2 . b3;
:: ZF_FUND1:th 37
theorem
for b1 being non empty set
for b2 being ZF-formula-like FinSequence of NAT
for b3, b4 being Function-like quasi_total Relation of VAR,b1
st (b3 * decode) | code Free b2 = (b4 * decode) | code Free b2 &
b3 in St(b2,b1)
holds b4 in St(b2,b1);
:: ZF_FUND1:th 38
theorem
for b1 being set
for b2 being finite Element of bool omega
for b3 being non empty set
st b1 in Funcs(b2,b3)
holds ex b4 being Function-like quasi_total Relation of VAR,b3 st
b1 = (b4 * decode) | b2;