Article LATTICE2, MML version 4.99.1005
:: LATTICE2:th 2
theorem
for b1 being set
for b2 being non empty set
for b3 being Element of bool b1
for b4 being Function-like quasi_total Relation of b1,b2 holds
proj1 (b4 | b3) = b3;
:: LATTICE2:th 5
theorem
for b1 being set
for b2 being non empty set
for b3 being Element of bool b1
for b4, b5 being Function-like quasi_total Relation of b1,b2 holds
b4 | b3 = b5 | b3
iff
for b6 being Element of b1
st b6 in b3
holds b5 . b6 = b4 . b6;
:: LATTICE2:th 6
theorem
for b1 being set
for b2 being non empty set
for b3, b4 being Function-like quasi_total Relation of b1,b2
for b5 being set holds
b3 +* (b4 | b5) is Function-like quasi_total Relation of b1,b2;
:: LATTICE2:th 7
theorem
for b1 being set
for b2 being non empty set
for b3 being Element of bool b1
for b4, b5 being Function-like quasi_total Relation of b1,b2 holds
(b4 | b3) +* b5 = b5;
:: LATTICE2:th 8
theorem
for b1, b2 being Relation-like Function-like set
st b2 c= b1
holds b1 +* b2 = b1;
:: LATTICE2:th 9
theorem
for b1 being set
for b2 being non empty set
for b3 being Element of bool b1
for b4 being Function-like quasi_total Relation of b1,b2 holds
b4 +* (b4 | b3) = b4;
:: LATTICE2:th 10
theorem
for b1 being set
for b2 being non empty set
for b3 being Element of bool b1
for b4, b5 being Function-like quasi_total Relation of b1,b2
st for b6 being Element of b1
st b6 in b3
holds b4 . b6 = b5 . b6
holds b5 +* (b4 | b3) = b5;
:: LATTICE2:th 12
theorem
for b1 being set
for b2 being non empty set
for b3, b4 being Function-like quasi_total Relation of b1,b2
for b5 being Element of Fin b1 holds
(b3 | b5) +* b4 = b4;
:: LATTICE2:th 13
theorem
for b1 being set
for b2 being non empty set
for b3 being Function-like quasi_total Relation of b1,b2
for b4 being Element of Fin b1 holds
proj1 (b3 | b4) = b4;
:: LATTICE2:th 14
theorem
for b1 being set
for b2 being non empty set
for b3, b4 being Function-like quasi_total Relation of b1,b2
for b5 being Element of Fin b1
st for b6 being Element of b1
st b6 in b5
holds b3 . b6 = b4 . b6
holds b4 +* (b3 | b5) = b4;
:: LATTICE2:th 16
theorem
for b1 being set
for b2 being non empty set
for b3, b4 being Function-like quasi_total Relation of b1,b2
for b5 being Element of Fin b1
st b3 | b5 = b4 | b5
holds b3 .: b5 = b4 .: b5;
:: LATTICE2:prednot 1 => LATTICE2:pred 1
definition
let a1 be non empty set;
let a2, a3 be Function-like quasi_total Relation of [:a1,a1:],a1;
pred A2 absorbs A3 means
for b1, b2 being Element of a1 holds
a2 .(b1,a3 .(b1,b2)) = b1;
end;
:: LATTICE2:dfs 1
definiens
let a1 be non empty set;
let a2, a3 be Function-like quasi_total Relation of [:a1,a1:],a1;
To prove
a2 absorbs a3
it is sufficient to prove
thus for b1, b2 being Element of a1 holds
a2 .(b1,a3 .(b1,b2)) = b1;
:: LATTICE2:def 1
theorem
for b1 being non empty set
for b2, b3 being Function-like quasi_total Relation of [:b1,b1:],b1 holds
b2 absorbs b3
iff
for b4, b5 being Element of b1 holds
b2 .(b4,b3 .(b4,b5)) = b4;
:: LATTICE2:prednot 2 => not LATTICE2:pred 1
notation
let a1 be non empty set;
let a2, a3 be Function-like quasi_total Relation of [:a1,a1:],a1;
antonym a2 doesn't_absorb a3 for a2 absorbs a3;
end;
:: LATTICE2:th 17
theorem
for b1 being non empty LattStr
st the L_join of b1 is commutative(the carrier of b1) & the L_join of b1 is associative(the carrier of b1) & the L_meet of b1 is commutative(the carrier of b1) & the L_meet of b1 is associative(the carrier of b1) & the L_join of b1 absorbs the L_meet of b1 & the L_meet of b1 absorbs the L_join of b1
holds b1 is Lattice-like;
:: LATTICE2:funcnot 1 => LATTICE2:func 1
definition
let a1 be LattStr;
func A1 .: -> strict LattStr equals
LattStr(#the carrier of a1,the L_meet of a1,the L_join of a1#);
end;
:: LATTICE2:def 2
theorem
for b1 being LattStr holds
b1 .: = LattStr(#the carrier of b1,the L_meet of b1,the L_join of b1#);
:: LATTICE2:funcreg 1
registration
let a1 be non empty LattStr;
cluster a1 .: -> non empty strict;
end;
:: LATTICE2:th 18
theorem
for b1 being non empty LattStr holds
the carrier of b1 = the carrier of b1 .: & the L_join of b1 = the L_meet of b1 .: & the L_meet of b1 = the L_join of b1 .:;
:: LATTICE2:th 19
theorem
for b1 being non empty strict LattStr holds
b1 .: .: = b1;
:: LATTICE2:th 21
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Element of the carrier of b1
st for b3 being Element of the carrier of b1 holds
b2 "\/" b3 = b3
holds b2 = Bottom b1;
:: LATTICE2:th 22
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Element of the carrier of b1
st for b3 being Element of the carrier of b1 holds
(the L_join of b1) .(b2,b3) = b3
holds b2 = Bottom b1;
:: LATTICE2:th 24
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Element of the carrier of b1
st for b3 being Element of the carrier of b1 holds
b2 "/\" b3 = b3
holds b2 = Top b1;
:: LATTICE2:th 25
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Element of the carrier of b1
st for b3 being Element of the carrier of b1 holds
(the L_meet of b1) .(b2,b3) = b3
holds b2 = Top b1;
:: LATTICE2:th 26
theorem
for b1 being non empty Lattice-like LattStr holds
the L_join of b1 is idempotent(the carrier of b1);
:: LATTICE2:th 27
theorem
for b1 being non empty join-commutative \/-SemiLattStr holds
the L_join of b1 is commutative(the carrier of b1);
:: LATTICE2:th 28
theorem
for b1 being non empty Lattice-like LattStr
st the L_join of b1 is having_a_unity(the carrier of b1)
holds Bottom b1 = the_unity_wrt the L_join of b1;
:: LATTICE2:th 29
theorem
for b1 being non empty join-associative \/-SemiLattStr holds
the L_join of b1 is associative(the carrier of b1);
:: LATTICE2:th 30
theorem
for b1 being non empty Lattice-like LattStr holds
the L_meet of b1 is idempotent(the carrier of b1);
:: LATTICE2:th 31
theorem
for b1 being non empty meet-commutative /\-SemiLattStr holds
the L_meet of b1 is commutative(the carrier of b1);
:: LATTICE2:th 32
theorem
for b1 being non empty meet-associative /\-SemiLattStr holds
the L_meet of b1 is associative(the carrier of b1);
:: LATTICE2:funcreg 2
registration
let a1 be non empty join-commutative \/-SemiLattStr;
cluster the L_join of a1 -> Function-like quasi_total commutative;
end;
:: LATTICE2:funcreg 3
registration
let a1 be non empty join-associative \/-SemiLattStr;
cluster the L_join of a1 -> Function-like quasi_total associative;
end;
:: LATTICE2:funcreg 4
registration
let a1 be non empty meet-commutative /\-SemiLattStr;
cluster the L_meet of a1 -> Function-like quasi_total commutative;
end;
:: LATTICE2:funcreg 5
registration
let a1 be non empty meet-associative /\-SemiLattStr;
cluster the L_meet of a1 -> Function-like quasi_total associative;
end;
:: LATTICE2:th 33
theorem
for b1 being non empty Lattice-like LattStr
st the L_meet of b1 is having_a_unity(the carrier of b1)
holds Top b1 = the_unity_wrt the L_meet of b1;
:: LATTICE2:th 34
theorem
for b1 being non empty Lattice-like LattStr holds
the L_join of b1 is_distributive_wrt the L_join of b1;
:: LATTICE2:th 35
theorem
for b1 being non empty Lattice-like LattStr
st b1 is non empty Lattice-like distributive LattStr
holds the L_join of b1 is_distributive_wrt the L_meet of b1;
:: LATTICE2:th 36
theorem
for b1 being non empty Lattice-like LattStr
st the L_join of b1 is_distributive_wrt the L_meet of b1
holds b1 is distributive;
:: LATTICE2:th 37
theorem
for b1 being non empty Lattice-like LattStr
st b1 is non empty Lattice-like distributive LattStr
holds the L_meet of b1 is_distributive_wrt the L_join of b1;
:: LATTICE2:th 38
theorem
for b1 being non empty Lattice-like LattStr
st the L_meet of b1 is_distributive_wrt the L_join of b1
holds b1 is distributive;
:: LATTICE2:th 39
theorem
for b1 being non empty Lattice-like LattStr holds
the L_meet of b1 is_distributive_wrt the L_meet of b1;
:: LATTICE2:th 40
theorem
for b1 being non empty Lattice-like LattStr holds
the L_join of b1 absorbs the L_meet of b1;
:: LATTICE2:th 41
theorem
for b1 being non empty Lattice-like LattStr holds
the L_meet of b1 absorbs the L_join of b1;
:: LATTICE2:funcnot 2 => LATTICE2:func 2
definition
let a1 be non empty set;
let a2 be non empty Lattice-like LattStr;
let a3 be Element of Fin a1;
let a4 be Function-like quasi_total Relation of a1,the carrier of a2;
func FinJoin(A3,A4) -> Element of the carrier of a2 equals
(the L_join of a2) $$(a3,a4);
end;
:: LATTICE2:def 3
theorem
for b1 being non empty set
for b2 being non empty Lattice-like LattStr
for b3 being Element of Fin b1
for b4 being Function-like quasi_total Relation of b1,the carrier of b2 holds
FinJoin(b3,b4) = (the L_join of b2) $$(b3,b4);
:: LATTICE2:funcnot 3 => LATTICE2:func 3
definition
let a1 be non empty set;
let a2 be non empty Lattice-like LattStr;
let a3 be Element of Fin a1;
let a4 be Function-like quasi_total Relation of a1,the carrier of a2;
func FinMeet(A3,A4) -> Element of the carrier of a2 equals
(the L_meet of a2) $$(a3,a4);
end;
:: LATTICE2:def 4
theorem
for b1 being non empty set
for b2 being non empty Lattice-like LattStr
for b3 being Element of Fin b1
for b4 being Function-like quasi_total Relation of b1,the carrier of b2 holds
FinMeet(b3,b4) = (the L_meet of b2) $$(b3,b4);
:: LATTICE2:th 43
theorem
for b1 being non empty Lattice-like LattStr
for b2 being non empty set
for b3 being Element of b2
for b4 being Element of Fin b2
for b5 being Function-like quasi_total Relation of b2,the carrier of b1
st b3 in b4
holds b5 . b3 [= FinJoin(b4,b5);
:: LATTICE2:th 44
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Element of the carrier of b1
for b3 being non empty set
for b4 being Element of Fin b3
for b5 being Function-like quasi_total Relation of b3,the carrier of b1
st ex b6 being Element of b3 st
b6 in b4 & b2 [= b5 . b6
holds b2 [= FinJoin(b4,b5);
:: LATTICE2:th 45
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Element of the carrier of b1
for b3 being non empty set
for b4 being Element of Fin b3
for b5 being Function-like quasi_total Relation of b3,the carrier of b1
st (for b6 being Element of b3
st b6 in b4
holds b5 . b6 = b2) &
b4 <> {}
holds FinJoin(b4,b5) = b2;
:: LATTICE2:th 46
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Element of the carrier of b1
for b3 being non empty set
for b4 being Element of Fin b3
for b5 being Function-like quasi_total Relation of b3,the carrier of b1
st FinJoin(b4,b5) [= b2
for b6 being Element of b3
st b6 in b4
holds b5 . b6 [= b2;
:: LATTICE2:th 47
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Element of the carrier of b1
for b3 being non empty set
for b4 being Element of Fin b3
for b5 being Function-like quasi_total Relation of b3,the carrier of b1
st b4 <> {} &
(for b6 being Element of b3
st b6 in b4
holds b5 . b6 [= b2)
holds FinJoin(b4,b5) [= b2;
:: LATTICE2:th 48
theorem
for b1 being non empty Lattice-like LattStr
for b2 being non empty set
for b3 being Element of Fin b2
for b4, b5 being Function-like quasi_total Relation of b2,the carrier of b1
st b3 <> {} &
(for b6 being Element of b2
st b6 in b3
holds b4 . b6 [= b5 . b6)
holds FinJoin(b3,b4) [= FinJoin(b3,b5);
:: LATTICE2:th 49
theorem
for b1 being non empty Lattice-like LattStr
for b2 being non empty set
for b3 being Element of Fin b2
for b4, b5 being Function-like quasi_total Relation of b2,the carrier of b1
st b3 <> {} & b4 | b3 = b5 | b3
holds FinJoin(b3,b4) = FinJoin(b3,b5);
:: LATTICE2:th 50
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Element of the carrier of b1
for b3 being non empty set
for b4 being Element of Fin b3
for b5 being Function-like quasi_total Relation of b3,the carrier of b1
st b4 <> {}
holds b2 "\/" FinJoin(b4,b5) = FinJoin(b4,(the L_join of b1) [;](b2,b5));
:: LATTICE2:funcreg 6
registration
let a1 be non empty Lattice-like LattStr;
cluster a1 .: -> strict Lattice-like;
end;
:: LATTICE2:th 51
theorem
for b1 being non empty set
for b2 being non empty Lattice-like LattStr
for b3 being Element of Fin b1
for b4 being Function-like quasi_total Relation of b1,the carrier of b2
for b5 being Function-like quasi_total Relation of b1,the carrier of b2 .:
st b4 = b5
holds FinJoin(b3,b4) = FinMeet(b3,b5) & FinMeet(b3,b4) = FinJoin(b3,b5);
:: LATTICE2:th 52
theorem
for b1 being non empty Lattice-like LattStr
for b2, b3 being Element of the carrier of b1
for b4, b5 being Element of the carrier of b1 .:
st b2 = b4 & b3 = b5
holds b2 "/\" b3 = b4 "\/" b5 & b2 "\/" b3 = b4 "/\" b5;
:: LATTICE2:th 53
theorem
for b1 being non empty Lattice-like LattStr
for b2, b3 being Element of the carrier of b1
st b2 [= b3
for b4, b5 being Element of the carrier of b1 .:
st b2 = b4 & b3 = b5
holds b5 [= b4;
:: LATTICE2:th 54
theorem
for b1 being non empty Lattice-like LattStr
for b2, b3 being Element of the carrier of b1
for b4, b5 being Element of the carrier of b1 .:
st b4 [= b5 & b2 = b4 & b3 = b5
holds b3 [= b2;
:: LATTICE2:th 55
theorem
for b1 being non empty Lattice-like LattStr
for b2 being non empty set
for b3 being Element of b2
for b4 being Element of Fin b2
for b5 being Function-like quasi_total Relation of b2,the carrier of b1
st b3 in b4
holds FinMeet(b4,b5) [= b5 . b3;
:: LATTICE2:th 56
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Element of the carrier of b1
for b3 being non empty set
for b4 being Element of Fin b3
for b5 being Function-like quasi_total Relation of b3,the carrier of b1
st ex b6 being Element of b3 st
b6 in b4 & b5 . b6 [= b2
holds FinMeet(b4,b5) [= b2;
:: LATTICE2:th 57
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Element of the carrier of b1
for b3 being non empty set
for b4 being Element of Fin b3
for b5 being Function-like quasi_total Relation of b3,the carrier of b1
st (for b6 being Element of b3
st b6 in b4
holds b5 . b6 = b2) &
b4 <> {}
holds FinMeet(b4,b5) = b2;
:: LATTICE2:th 58
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Element of the carrier of b1
for b3 being non empty set
for b4 being Element of Fin b3
for b5 being Function-like quasi_total Relation of b3,the carrier of b1
st b4 <> {}
holds b2 "/\" FinMeet(b4,b5) = FinMeet(b4,(the L_meet of b1) [;](b2,b5));
:: LATTICE2:th 59
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Element of the carrier of b1
for b3 being non empty set
for b4 being Element of Fin b3
for b5 being Function-like quasi_total Relation of b3,the carrier of b1
st b2 [= FinMeet(b4,b5)
for b6 being Element of b3
st b6 in b4
holds b2 [= b5 . b6;
:: LATTICE2:th 60
theorem
for b1 being non empty Lattice-like LattStr
for b2 being non empty set
for b3 being Element of Fin b2
for b4, b5 being Function-like quasi_total Relation of b2,the carrier of b1
st b3 <> {} & b4 | b3 = b5 | b3
holds FinMeet(b3,b4) = FinMeet(b3,b5);
:: LATTICE2:th 61
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Element of the carrier of b1
for b3 being non empty set
for b4 being Element of Fin b3
for b5 being Function-like quasi_total Relation of b3,the carrier of b1
st b4 <> {} &
(for b6 being Element of b3
st b6 in b4
holds b2 [= b5 . b6)
holds b2 [= FinMeet(b4,b5);
:: LATTICE2:th 62
theorem
for b1 being non empty Lattice-like LattStr
for b2 being non empty set
for b3 being Element of Fin b2
for b4, b5 being Function-like quasi_total Relation of b2,the carrier of b1
st b3 <> {} &
(for b6 being Element of b2
st b6 in b3
holds b4 . b6 [= b5 . b6)
holds FinMeet(b3,b4) [= FinMeet(b3,b5);
:: LATTICE2:th 63
theorem
for b1 being non empty Lattice-like LattStr holds
b1 is lower-bounded
iff
b1 .: is upper-bounded;
:: LATTICE2:th 64
theorem
for b1 being non empty Lattice-like LattStr holds
b1 is upper-bounded
iff
b1 .: is lower-bounded;
:: LATTICE2:th 65
theorem
for b1 being non empty Lattice-like LattStr holds
b1 is non empty Lattice-like distributive LattStr
iff
b1 .: is non empty Lattice-like distributive LattStr;
:: LATTICE2:th 66
theorem
for b1 being non empty Lattice-like lower-bounded LattStr holds
Bottom b1 is_a_unity_wrt the L_join of b1;
:: LATTICE2:th 67
theorem
for b1 being non empty Lattice-like lower-bounded LattStr holds
the L_join of b1 is having_a_unity(the carrier of b1);
:: LATTICE2:th 68
theorem
for b1 being non empty Lattice-like lower-bounded LattStr holds
Bottom b1 = the_unity_wrt the L_join of b1;
:: LATTICE2:th 69
theorem
for b1 being non empty set
for b2 being Element of Fin b1
for b3 being non empty Lattice-like lower-bounded LattStr
for b4, b5 being Function-like quasi_total Relation of b1,the carrier of b3
st b4 | b2 = b5 | b2
holds FinJoin(b2,b4) = FinJoin(b2,b5);
:: LATTICE2:th 70
theorem
for b1 being non empty set
for b2 being Element of Fin b1
for b3 being non empty Lattice-like lower-bounded LattStr
for b4 being Function-like quasi_total Relation of b1,the carrier of b3
for b5 being Element of the carrier of b3
st for b6 being Element of b1
st b6 in b2
holds b4 . b6 [= b5
holds FinJoin(b2,b4) [= b5;
:: LATTICE2:th 71
theorem
for b1 being non empty set
for b2 being Element of Fin b1
for b3 being non empty Lattice-like lower-bounded LattStr
for b4, b5 being Function-like quasi_total Relation of b1,the carrier of b3
st for b6 being Element of b1
st b6 in b2
holds b4 . b6 [= b5 . b6
holds FinJoin(b2,b4) [= FinJoin(b2,b5);
:: LATTICE2:th 72
theorem
for b1 being non empty Lattice-like upper-bounded LattStr holds
Top b1 is_a_unity_wrt the L_meet of b1;
:: LATTICE2:th 73
theorem
for b1 being non empty Lattice-like upper-bounded LattStr holds
the L_meet of b1 is having_a_unity(the carrier of b1);
:: LATTICE2:th 74
theorem
for b1 being non empty Lattice-like upper-bounded LattStr holds
Top b1 = the_unity_wrt the L_meet of b1;
:: LATTICE2:th 75
theorem
for b1 being non empty set
for b2 being Element of Fin b1
for b3 being non empty Lattice-like upper-bounded LattStr
for b4, b5 being Function-like quasi_total Relation of b1,the carrier of b3
st b4 | b2 = b5 | b2
holds FinMeet(b2,b4) = FinMeet(b2,b5);
:: LATTICE2:th 76
theorem
for b1 being non empty set
for b2 being Element of Fin b1
for b3 being non empty Lattice-like upper-bounded LattStr
for b4 being Function-like quasi_total Relation of b1,the carrier of b3
for b5 being Element of the carrier of b3
st for b6 being Element of b1
st b6 in b2
holds b5 [= b4 . b6
holds b5 [= FinMeet(b2,b4);
:: LATTICE2:th 77
theorem
for b1 being non empty set
for b2 being Element of Fin b1
for b3 being non empty Lattice-like upper-bounded LattStr
for b4, b5 being Function-like quasi_total Relation of b1,the carrier of b3
st for b6 being Element of b1
st b6 in b2
holds b4 . b6 [= b5 . b6
holds FinMeet(b2,b4) [= FinMeet(b2,b5);
:: LATTICE2:th 78
theorem
for b1 being non empty Lattice-like lower-bounded LattStr holds
Bottom b1 = Top (b1 .:);
:: LATTICE2:th 79
theorem
for b1 being non empty Lattice-like upper-bounded LattStr holds
Top b1 = Bottom (b1 .:);
:: LATTICE2:modenot 1
definition
mode D0_Lattice is non empty Lattice-like distributive lower-bounded LattStr;
end;
:: LATTICE2:th 80
theorem
for b1 being non empty Lattice-like distributive lower-bounded LattStr holds
the L_meet of b1 is_distributive_wrt the L_join of b1;
:: LATTICE2:th 81
theorem
for b1 being non empty set
for b2 being Element of Fin b1
for b3 being non empty Lattice-like distributive lower-bounded LattStr
for b4 being Function-like quasi_total Relation of b1,the carrier of b3
for b5 being Element of the carrier of b3 holds
(the L_meet of b3) .(b5,FinJoin(b2,b4)) = FinJoin(b2,(the L_meet of b3) [;](b5,b4));
:: LATTICE2:th 82
theorem
for b1 being non empty set
for b2 being Element of Fin b1
for b3 being non empty Lattice-like distributive lower-bounded LattStr
for b4, b5 being Function-like quasi_total Relation of b1,the carrier of b3
for b6 being Element of the carrier of b3
st for b7 being Element of b1
st b7 in b2
holds b4 . b7 = b6 "/\" (b5 . b7)
holds b6 "/\" FinJoin(b2,b5) = FinJoin(b2,b4);
:: LATTICE2:th 83
theorem
for b1 being non empty set
for b2 being Element of Fin b1
for b3 being non empty Lattice-like distributive lower-bounded LattStr
for b4 being Function-like quasi_total Relation of b1,the carrier of b3
for b5 being Element of the carrier of b3 holds
b5 "/\" FinJoin(b2,b4) = FinJoin(b2,(the L_meet of b3) [;](b5,b4));
:: LATTICE2:attrnot 1 => LATTICE2:attr 1
definition
let a1 be non empty Lattice-like LattStr;
attr a1 is Heyting means
a1 is implicative & a1 is lower-bounded;
end;
:: LATTICE2:dfs 5
definiens
let a1 be non empty Lattice-like LattStr;
To prove
a1 is Heyting
it is sufficient to prove
thus a1 is implicative & a1 is lower-bounded;
:: LATTICE2:def 6
theorem
for b1 being non empty Lattice-like LattStr holds
b1 is Heyting
iff
b1 is implicative & b1 is lower-bounded;
:: LATTICE2:exreg 1
registration
cluster non empty join-commutative join-associative meet-commutative meet-associative meet-absorbing join-absorbing Lattice-like Heyting LattStr;
end;
:: LATTICE2:condreg 1
registration
cluster non empty Lattice-like Heyting -> lower-bounded implicative (LattStr);
end;
:: LATTICE2:condreg 2
registration
cluster non empty Lattice-like lower-bounded implicative -> Heyting (LattStr);
end;
:: LATTICE2:modenot 2
definition
mode H_Lattice is non empty Lattice-like Heyting LattStr;
end;
:: LATTICE2:exreg 2
registration
cluster non empty strict join-commutative join-associative meet-commutative meet-associative meet-absorbing join-absorbing Lattice-like Heyting LattStr;
end;
:: LATTICE2:th 84
theorem
for b1 being non empty Lattice-like lower-bounded LattStr holds
b1 is non empty Lattice-like Heyting LattStr
iff
for b2, b3 being Element of the carrier of b1 holds
ex b4 being Element of the carrier of b1 st
b2 "/\" b4 [= b3 &
(for b5 being Element of the carrier of b1
st b2 "/\" b5 [= b3
holds b5 [= b4);
:: LATTICE2:th 85
theorem
for b1 being non empty Lattice-like LattStr holds
b1 is finite
iff
b1 .: is finite;
:: LATTICE2:condreg 3
registration
cluster non empty finite Lattice-like -> lower-bounded (LattStr);
end;
:: LATTICE2:condreg 4
registration
cluster non empty finite Lattice-like -> upper-bounded (LattStr);
end;
:: LATTICE2:condreg 5
registration
cluster non empty finite Lattice-like -> bounded (LattStr);
end;
:: LATTICE2:condreg 6
registration
cluster non empty finite Lattice-like distributive -> Heyting (LattStr);
end;