Article HEYTING2, MML version 4.99.1005
:: HEYTING2:th 1
theorem
for b1, b2 being non empty set holds
ex b3 being Element of PFuncs(b1,b2) st
b3 <> {};
:: HEYTING2:th 2
theorem
for b1, b2, b3, b4 being set
st b4 in SubstitutionSet(b1,b2) & b3 in b4
holds b3 is Relation-like Function-like finite set;
:: HEYTING2:th 3
theorem
for b1, b2 being set
for b3 being Element of PFuncs(b1,b2)
for b4 being set
st b4 c= b3
holds b4 in PFuncs(b1,b2);
:: HEYTING2:th 4
theorem
for b1, b2 being set holds
PFuncs(b1,b2) c= bool [:b1,b2:];
:: HEYTING2:th 5
theorem
for b1, b2 being set
st b1 is finite & b2 is finite
holds PFuncs(b1,b2) is finite;
:: HEYTING2:exreg 1
registration
cluster non empty functional finite set;
end;
:: HEYTING2:th 6
theorem
for b1, b2 being set
for b3 being finite Element of PFuncs(b1,b2) holds
{b3} in SubstitutionSet(b1,b2);
:: HEYTING2:th 7
theorem
for b1, b2 being set
for b3, b4 being Element of SubstitutionSet(b1,b2)
st b3 ^ b4 = b3
for b5 being set
st b5 in b3
holds ex b6 being set st
b6 in b4 & b6 c= b5;
:: HEYTING2:th 8
theorem
for b1, b2 being set
for b3, b4 being Element of SubstitutionSet(b1,b2)
st mi (b3 ^ b4) = b3
for b5 being set
st b5 in b3
holds ex b6 being set st
b6 in b4 & b6 c= b5;
:: HEYTING2:th 9
theorem
for b1, b2 being set
for b3, b4 being Element of SubstitutionSet(b1,b2)
st for b5 being set
st b5 in b3
holds ex b6 being set st
b6 in b4 & b6 c= b5
holds mi (b3 ^ b4) = b3;
:: HEYTING2:funcnot 1 => HEYTING2:func 1
definition
let a1 be set;
let a2 be finite set;
let a3 be Element of Fin PFuncs(a1,a2);
func Involved A3 -> set means
for b1 being set holds
b1 in it
iff
ex b2 being Relation-like Function-like finite set st
b2 in a3 & b1 in proj1 b2;
end;
:: HEYTING2:def 1
theorem
for b1 being set
for b2 being finite set
for b3 being Element of Fin PFuncs(b1,b2)
for b4 being set holds
b4 = Involved b3
iff
for b5 being set holds
b5 in b4
iff
ex b6 being Relation-like Function-like finite set st
b6 in b3 & b5 in proj1 b6;
:: HEYTING2:th 10
theorem
for b1 being set
for b2 being finite set
for b3 being Element of Fin PFuncs(b1,b2) holds
Involved b3 c= b1;
:: HEYTING2:th 11
theorem
for b1 being set
for b2 being finite set
for b3 being Element of Fin PFuncs(b1,b2)
st b3 = {}
holds Involved b3 = {};
:: HEYTING2:th 12
theorem
for b1 being set
for b2 being finite set
for b3 being Element of Fin PFuncs(b1,b2) holds
Involved b3 is finite;
:: HEYTING2:th 13
theorem
for b1 being finite set
for b2 being Element of Fin PFuncs({},b1) holds
Involved b2 = {};
:: HEYTING2:funcnot 2 => HEYTING2:func 2
definition
let a1 be set;
let a2 be finite set;
let a3 be Element of Fin PFuncs(a1,a2);
func - A3 -> Element of Fin PFuncs(a1,a2) equals
{b1 where b1 is Element of PFuncs(Involved a3,a2): for b2 being Element of PFuncs(a1,a2)
st b2 in a3
holds not b1 tolerates b2};
end;
:: HEYTING2:def 2
theorem
for b1 being set
for b2 being finite set
for b3 being Element of Fin PFuncs(b1,b2) holds
- b3 = {b4 where b4 is Element of PFuncs(Involved b3,b2): for b5 being Element of PFuncs(b1,b2)
st b5 in b3
holds not b4 tolerates b5};
:: HEYTING2:th 14
theorem
for b1 being set
for b2 being finite set
for b3 being Element of SubstitutionSet(b1,b2) holds
b3 ^ - b3 = {};
:: HEYTING2:th 15
theorem
for b1 being set
for b2 being finite set
for b3 being Element of SubstitutionSet(b1,b2)
st b3 = {}
holds - b3 = {{}};
:: HEYTING2:th 16
theorem
for b1 being set
for b2 being finite set
for b3 being Element of SubstitutionSet(b1,b2)
st b3 = {{}}
holds - b3 = {};
:: HEYTING2:th 17
theorem
for b1 being set
for b2 being finite set
for b3 being Element of SubstitutionSet(b1,b2) holds
mi (b3 ^ - b3) = Bottom SubstLatt(b1,b2);
:: HEYTING2:th 18
theorem
for b1 being non empty set
for b2 being non empty finite set
for b3 being Element of SubstitutionSet(b1,b2)
st b3 = {}
holds mi - b3 = Top SubstLatt(b1,b2);
:: HEYTING2:th 19
theorem
for b1 being set
for b2 being finite set
for b3 being Element of SubstitutionSet(b1,b2)
for b4 being Element of PFuncs(b1,b2)
for b5 being Element of SubstitutionSet(b1,b2)
st b5 = {b4} & b3 ^ b5 = {}
holds ex b6 being finite set st
b6 in - b3 & b6 c= b4;
:: HEYTING2:funcnot 3 => HEYTING2:func 3
definition
let a1 be set;
let a2 be finite set;
let a3, a4 be Element of Fin PFuncs(a1,a2);
func A3 =>> A4 -> Element of Fin PFuncs(a1,a2) equals
(PFuncs(a1,a2)) /\ {union {(b1 . b2) \ b2 where b2 is Element of PFuncs(a1,a2): b2 in a3} where b1 is Element of PFuncs(a3,a4): proj1 b1 = a3};
end;
:: HEYTING2:def 3
theorem
for b1 being set
for b2 being finite set
for b3, b4 being Element of Fin PFuncs(b1,b2) holds
b3 =>> b4 = (PFuncs(b1,b2)) /\ {union {(b5 . b6) \ b6 where b6 is Element of PFuncs(b1,b2): b6 in b3} where b5 is Element of PFuncs(b3,b4): proj1 b5 = b3};
:: HEYTING2:th 20
theorem
for b1 being set
for b2 being finite set
for b3, b4 being Element of Fin PFuncs(b1,b2)
for b5 being set
st b5 in b3 =>> b4
holds ex b6 being Function-like Relation of b3,b4 st
b5 = union {(b6 . b7) \ b7 where b7 is Element of PFuncs(b1,b2): b7 in b3} &
dom b6 = b3;
:: HEYTING2:th 21
theorem
for b1 being set
for b2 being finite set
for b3 being Element of Fin PFuncs(b1,b2)
st b3 = {}
holds b3 =>> b3 = {{}};
:: HEYTING2:th 22
theorem
for b1 being set
for b2 being finite set
for b3 being Element of the carrier of SubstLatt(b1,b2)
for b4 being set
st b4 c= b3
holds b4 is Element of the carrier of SubstLatt(b1,b2);
:: HEYTING2:funcnot 4 => HEYTING2:func 4
definition
let a1 be set;
let a2 be finite set;
func pseudo_compl(A1,A2) -> Function-like quasi_total Relation of the carrier of SubstLatt(a1,a2),the carrier of SubstLatt(a1,a2) means
for b1 being Element of the carrier of SubstLatt(a1,a2)
for b2 being Element of SubstitutionSet(a1,a2)
st b2 = b1
holds it . b1 = mi - b2;
end;
:: HEYTING2:def 4
theorem
for b1 being set
for b2 being finite set
for b3 being Function-like quasi_total Relation of the carrier of SubstLatt(b1,b2),the carrier of SubstLatt(b1,b2) holds
b3 = pseudo_compl(b1,b2)
iff
for b4 being Element of the carrier of SubstLatt(b1,b2)
for b5 being Element of SubstitutionSet(b1,b2)
st b5 = b4
holds b3 . b4 = mi - b5;
:: HEYTING2:funcnot 5 => HEYTING2:func 5
definition
let a1 be set;
let a2 be finite set;
func StrongImpl(A1,A2) -> Function-like quasi_total Relation of [:the carrier of SubstLatt(a1,a2),the carrier of SubstLatt(a1,a2):],the carrier of SubstLatt(a1,a2) means
for b1, b2 being Element of the carrier of SubstLatt(a1,a2)
for b3, b4 being Element of SubstitutionSet(a1,a2)
st b3 = b1 & b4 = b2
holds it .(b1,b2) = mi (b3 =>> b4);
end;
:: HEYTING2:def 5
theorem
for b1 being set
for b2 being finite set
for b3 being Function-like quasi_total Relation of [:the carrier of SubstLatt(b1,b2),the carrier of SubstLatt(b1,b2):],the carrier of SubstLatt(b1,b2) holds
b3 = StrongImpl(b1,b2)
iff
for b4, b5 being Element of the carrier of SubstLatt(b1,b2)
for b6, b7 being Element of SubstitutionSet(b1,b2)
st b6 = b4 & b7 = b5
holds b3 .(b4,b5) = mi (b6 =>> b7);
:: HEYTING2:funcnot 6 => HEYTING2:func 6
definition
let a1 be set;
let a2 be finite set;
let a3 be Element of the carrier of SubstLatt(a1,a2);
func SUB A3 -> Element of Fin the carrier of SubstLatt(a1,a2) equals
bool a3;
end;
:: HEYTING2:def 6
theorem
for b1 being set
for b2 being finite set
for b3 being Element of the carrier of SubstLatt(b1,b2) holds
SUB b3 = bool b3;
:: HEYTING2:funcnot 7 => HEYTING2:func 7
definition
let a1 be set;
let a2 be finite set;
let a3 be Element of the carrier of SubstLatt(a1,a2);
func diff A3 -> Function-like quasi_total Relation of the carrier of SubstLatt(a1,a2),the carrier of SubstLatt(a1,a2) means
for b1 being Element of the carrier of SubstLatt(a1,a2) holds
it . b1 = a3 \ b1;
end;
:: HEYTING2:def 7
theorem
for b1 being set
for b2 being finite set
for b3 being Element of the carrier of SubstLatt(b1,b2)
for b4 being Function-like quasi_total Relation of the carrier of SubstLatt(b1,b2),the carrier of SubstLatt(b1,b2) holds
b4 = diff b3
iff
for b5 being Element of the carrier of SubstLatt(b1,b2) holds
b4 . b5 = b3 \ b5;
:: HEYTING2:funcnot 8 => HEYTING2:func 8
definition
let a1 be set;
let a2 be finite set;
func Atom(A1,A2) -> Function-like quasi_total Relation of PFuncs(a1,a2),the carrier of SubstLatt(a1,a2) means
for b1 being Element of PFuncs(a1,a2) holds
it . b1 = mi {.b1.};
end;
:: HEYTING2:def 8
theorem
for b1 being set
for b2 being finite set
for b3 being Function-like quasi_total Relation of PFuncs(b1,b2),the carrier of SubstLatt(b1,b2) holds
b3 = Atom(b1,b2)
iff
for b4 being Element of PFuncs(b1,b2) holds
b3 . b4 = mi {.b4.};
:: HEYTING2:th 23
theorem
for b1 being set
for b2 being finite set
for b3 being Element of SubstitutionSet(b1,b2) holds
FinJoin(b3,Atom(b1,b2)) = FinUnion(b3,singleton PFuncs(b1,b2));
:: HEYTING2:th 24
theorem
for b1 being set
for b2 being finite set
for b3 being Element of SubstitutionSet(b1,b2) holds
b3 = FinJoin(b3,Atom(b1,b2));
:: HEYTING2:th 25
theorem
for b1 being set
for b2 being finite set
for b3, b4 being Element of the carrier of SubstLatt(b1,b2) holds
(diff b3) . b4 [= b3;
:: HEYTING2:th 26
theorem
for b1 being set
for b2 being finite set
for b3 being Element of PFuncs(b1,b2)
st b3 is finite
for b4 being set
st b4 in (Atom(b1,b2)) . b3
holds b4 = b3;
:: HEYTING2:th 27
theorem
for b1 being set
for b2 being finite set
for b3 being Element of the carrier of SubstLatt(b1,b2)
for b4, b5 being Element of SubstitutionSet(b1,b2)
for b6 being Element of PFuncs(b1,b2)
st b4 = {b6} & b5 = b3 & b5 ^ b4 = {}
holds (Atom(b1,b2)) . b6 [= (pseudo_compl(b1,b2)) . b3;
:: HEYTING2:th 28
theorem
for b1 being set
for b2 being finite set
for b3 being finite Element of PFuncs(b1,b2) holds
b3 in (Atom(b1,b2)) . b3;
:: HEYTING2:th 29
theorem
for b1 being set
for b2 being finite set
for b3 being Element of PFuncs(b1,b2)
for b4, b5 being Element of SubstitutionSet(b1,b2)
st for b6 being set
st b6 in b4
holds ex b7 being set st
b7 in b5 & b7 c= b6 \/ b3
holds ex b6 being set st
b6 in b4 =>> b5 & b6 c= b3;
:: HEYTING2:th 30
theorem
for b1 being set
for b2 being finite set
for b3, b4 being Element of the carrier of SubstLatt(b1,b2)
for b5 being finite Element of PFuncs(b1,b2)
st (for b6 being Element of PFuncs(b1,b2)
st b6 in b3
holds b6 tolerates b5) &
b3 "/\" ((Atom(b1,b2)) . b5) [= b4
holds (Atom(b1,b2)) . b5 [= (StrongImpl(b1,b2)) .(b3,b4);
:: HEYTING2:th 31
theorem
for b1 being set
for b2 being finite set
for b3 being Element of the carrier of SubstLatt(b1,b2) holds
b3 "/\" ((pseudo_compl(b1,b2)) . b3) = Bottom SubstLatt(b1,b2);
:: HEYTING2:th 32
theorem
for b1 being set
for b2 being finite set
for b3, b4 being Element of the carrier of SubstLatt(b1,b2) holds
b3 "/\" ((StrongImpl(b1,b2)) .(b3,b4)) [= b4;
:: HEYTING2:funcreg 1
registration
let a1 be set;
let a2 be finite set;
cluster SubstLatt(a1,a2) -> strict implicative;
end;
:: HEYTING2:th 33
theorem
for b1 being set
for b2 being finite set
for b3, b4 being Element of the carrier of SubstLatt(b1,b2) holds
b3 => b4 = FinJoin(SUB b3,(the L_meet of SubstLatt(b1,b2)) .:(pseudo_compl(b1,b2),(StrongImpl(b1,b2)) [:](diff b3,b4)));