quantal1.miz
begin
scheme ::
QUANTAL1:sch1
DenestFraenkel { A() -> non
empty
set , B() -> non
empty
set , F(
set) ->
set , G(
set) ->
Element of B() , P[
set] } :
{ F(a) where a be
Element of B() : a
in { G(b) where b be
Element of A() : P[b] } }
= { F(G) where a be
Element of A() : P[a] };
thus { F(a) where a be
Element of B() : a
in { G(b) where b be
Element of A() : P[b] } }
c= { F(G) where a be
Element of A() : P[a] }
proof
let x be
object;
assume x
in { F(a) where a be
Element of B() : a
in { G(b) where b be
Element of A() : P[b] } };
then
consider a be
Element of B() such that
A1: x
= F(a) and
A2: a
in { G(b) where b be
Element of A() : P[b] };
ex b be
Element of A() st a
= G(b) & P[b] by
A2;
hence thesis by
A1;
end;
let x be
object;
assume x
in { F(G) where a be
Element of A() : P[a] };
then
consider a be
Element of A() such that
A3: x
= F(G) and
A4: P[a];
G(a)
in { G(b) where b be
Element of A() : P[b] } by
A4;
hence thesis by
A3;
end;
scheme ::
QUANTAL1:sch2
EmptyFraenkel { A() -> non
empty
set , f(
set) ->
set , P[
set] } :
{ f(a) where a be
Element of A() : P[a] }
=
{}
provided
A1: not ex a be
Element of A() st P[a];
assume not thesis;
then
reconsider X = { f(a) where a be
Element of A() : P[a] } as non
empty
set;
set x = the
Element of X;
x
in X;
then ex a be
Element of A() st x
= f(a) & P[a];
hence contradiction by
A1;
end;
deffunc
carr( non
empty
LattStr) = the
carrier of $1;
deffunc
join(
LattStr) = the
L_join of $1;
deffunc
met(
LattStr) = the
L_meet of $1;
deffunc
times(
multMagma) = the
multF of $1;
theorem ::
QUANTAL1:1
for L1,L2 be non
empty
LattStr st the LattStr of L1
= the LattStr of L2 holds for a1,b1 be
Element of L1, a2,b2 be
Element of L2 st a1
= a2 & b1
= b2 holds (a1
"\/" b1)
= (a2
"\/" b2) & (a1
"/\" b1)
= (a2
"/\" b2) & (a1
[= b1 iff a2
[= b2);
theorem ::
QUANTAL1:2
Th2: for L1,L2 be non
empty
LattStr st the LattStr of L1
= the LattStr of L2 holds for a be
Element of L1, b be
Element of L2, X be
set st a
= b holds (a
is_less_than X iff b
is_less_than X) & (a
is_greater_than X iff b
is_greater_than X)
proof
let L1,L2 be non
empty
LattStr such that
A1: the LattStr of L1
= the LattStr of L2;
let a be
Element of L1, b be
Element of L2, X be
set such that
A2: a
= b;
thus a
is_less_than X implies b
is_less_than X
proof
assume
A3: for c be
Element of L1 st c
in X holds a
[= c;
let c be
Element of L2;
reconsider d = c as
Element of L1 by
A1;
assume c
in X;
then a
[= d by
A3;
hence thesis by
A1,
A2;
end;
thus b
is_less_than X implies a
is_less_than X
proof
assume
A4: for c be
Element of L2 st c
in X holds b
[= c;
let c be
Element of L1;
reconsider d = c as
Element of L2 by
A1;
assume c
in X;
then b
[= d by
A4;
hence thesis by
A1,
A2;
end;
thus a
is_greater_than X implies b
is_greater_than X
proof
assume
A5: for c be
Element of L1 st c
in X holds c
[= a;
let c be
Element of L2;
reconsider d = c as
Element of L1 by
A1;
assume c
in X;
then d
[= a by
A5;
hence thesis by
A1,
A2;
end;
assume
A6: for c be
Element of L2 st c
in X holds c
[= b;
let c be
Element of L1;
reconsider d = c as
Element of L2 by
A1;
assume c
in X;
then d
[= b by
A6;
hence thesis by
A1,
A2;
end;
definition
let L be non
empty
LattStr, X be
Subset of L;
::
QUANTAL1:def1
attr X is
directed means for Y be
finite
Subset of X holds ex x be
Element of L st (
"\/" (Y,L))
[= x & x
in X;
end
theorem ::
QUANTAL1:3
for L be non
empty
LattStr, X be
Subset of L st X is
directed holds X is non
empty
proof
let L be non
empty
LattStr, X be
Subset of L;
assume for Y be
finite
Subset of X holds ex x be
Element of L st (
"\/" (Y,L))
[= x & x
in X;
then ex x be
Element of L st (
"\/" ((
{} X),L))
[= x & x
in X;
hence thesis;
end;
definition
struct (
LattStr,
multMagma)
QuantaleStr
(# the
carrier ->
set,
the
L_join,
L_meet,
multF ->
BinOp of the carrier #)
attr strict
strict;
end
registration
cluster non
empty for
QuantaleStr;
existence
proof
set A = the non
empty
set, b1 = the
BinOp of A;
take
QuantaleStr (# A, b1, b1, b1 #);
thus the
carrier of
QuantaleStr (# A, b1, b1, b1 #) is non
empty;
end;
end
definition
struct (
QuantaleStr,
multLoopStr)
QuasiNetStr
(# the
carrier ->
set,
the
L_join,
L_meet,
multF ->
BinOp of the carrier,
the
OneF ->
Element of the carrier #)
attr strict
strict;
end
registration
cluster non
empty for
QuasiNetStr;
existence
proof
set A = the non
empty
set, b1 = the
BinOp of A, e = the
Element of A;
take
QuasiNetStr (# A, b1, b1, b1, e #);
thus the
carrier of
QuasiNetStr (# A, b1, b1, b1, e #) is non
empty;
end;
end
definition
let IT be non
empty
multMagma;
::
QUANTAL1:def2
attr IT is
with_left-zero means ex a be
Element of IT st for b be
Element of IT holds (a
* b)
= a;
::
QUANTAL1:def3
attr IT is
with_right-zero means ex b be
Element of IT st for a be
Element of IT holds (a
* b)
= b;
end
definition
let IT be non
empty
multMagma;
::
QUANTAL1:def4
attr IT is
with_zero means IT is
with_left-zero
with_right-zero;
end
registration
cluster
with_zero ->
with_left-zero
with_right-zero for non
empty
multMagma;
coherence ;
cluster
with_left-zero
with_right-zero ->
with_zero for non
empty
multMagma;
coherence ;
end
registration
cluster
with_zero for non
empty
multMagma;
existence
proof
set x = the
set, f = the
BinOp of
{x};
take G =
multMagma (#
{x}, f #);
reconsider x as
Element of G by
TARSKI:def 1;
thus G is
with_left-zero
proof
take x;
thus thesis by
TARSKI:def 1;
end;
take x;
thus thesis by
TARSKI:def 1;
end;
end
definition
let IT be non
empty
QuantaleStr;
::
QUANTAL1:def5
attr IT is
right-distributive means
:
Def5: for a be
Element of IT, X be
set holds (a
[*] (
"\/" (X,IT)))
= (
"\/" ({ (a
[*] b) where b be
Element of IT : b
in X },IT));
::
QUANTAL1:def6
attr IT is
left-distributive means
:
Def6: for a be
Element of IT, X be
set holds ((
"\/" (X,IT))
[*] a)
= (
"\/" ({ (b
[*] a) where b be
Element of IT : b
in X },IT));
::
QUANTAL1:def7
attr IT is
times-additive means for a,b,c be
Element of IT holds ((a
"\/" b)
[*] c)
= ((a
[*] c)
"\/" (b
[*] c)) & (c
[*] (a
"\/" b))
= ((c
[*] a)
"\/" (c
[*] b));
::
QUANTAL1:def8
attr IT is
times-continuous means for X1,X2 be
Subset of IT st X1 is
directed & X2 is
directed holds ((
"\/" X1)
[*] (
"\/" X2))
= (
"\/" ({ (a
[*] b) where a be
Element of IT, b be
Element of IT : a
in X1 & b
in X2 },IT));
end
reserve x,y,z for
set;
theorem ::
QUANTAL1:4
Th4: for Q be non
empty
QuantaleStr st the LattStr of Q
= (
BooleLatt
{} ) holds Q is
associative
commutative
unital
with_zero
complete
right-distributive
left-distributive
Lattice-like
proof
set B = (
BooleLatt
{} );
let Q be non
empty
QuantaleStr;
set a = the
Element of Q;
assume
A1: the LattStr of Q
= B;
A2:
now
let x,y be
Element of Q;
A3:
carr(B)
=
{
{} } by
LATTICE3:def 1,
ZFMISC_1: 1;
then x
=
{} by
A1,
TARSKI:def 1;
hence x
= y by
A1,
A3,
TARSKI:def 1;
end;
set o =
times(Q);
thus
times(Q) is
associative
proof
thus for a,b,c be
Element of Q holds (o
. (a,(o
. (b,c))))
= (o
. ((o
. (a,b)),c)) by
A2;
end;
A4: (for p,q,r be
Element of Q holds (p
"/\" (q
"/\" r))
= ((p
"/\" q)
"/\" r)) & for p,q be
Element of Q holds (p
"/\" (p
"\/" q))
= p by
A2;
thus
times(Q) is
commutative
proof
thus for a,b be
Element of Q holds (o
. (a,b))
= (o
. (b,a)) by
A2;
end;
thus
times(Q) is
having_a_unity
proof
take a;
thus a
is_a_left_unity_wrt
times(Q)
proof
let b be
Element of Q;
thus (
times(Q)
. (a,b))
= b by
A2;
end;
let b be
Element of Q;
thus (
times(Q)
. (b,a))
= b by
A2;
end;
thus Q is
with_zero
proof
thus Q is
with_left-zero
proof
take a;
thus thesis by
A2;
end;
take a;
thus thesis by
A2;
end;
now
let X be
set;
consider p be
Element of B such that
A5: X
is_less_than p and
A6: for r be
Element of B st X
is_less_than r holds p
[= r by
LATTICE3:def 18;
reconsider p9 = p as
Element of Q by
A1;
take p9;
thus X
is_less_than p9 by
A1,
A5,
Th2;
let r9 be
Element of Q;
reconsider r = r9 as
Element of B by
A1;
assume X
is_less_than r9;
then X
is_less_than r by
A1,
Th2;
then p
[= r by
A6;
hence p9
[= r9 by
A1;
end;
hence for X be
set holds ex p be
Element of Q st X
is_less_than p & for r be
Element of Q st X
is_less_than r holds p
[= r;
thus Q is
right-distributive by
A2;
thus Q is
left-distributive by
A2;
A7: (for p,q be
Element of Q holds ((p
"/\" q)
"\/" q)
= q) & for p,q be
Element of Q holds (p
"/\" q)
= (q
"/\" p) by
A2;
(for p,q be
Element of Q holds (p
"\/" q)
= (q
"\/" p)) & for p,q,r be
Element of Q holds (p
"\/" (q
"\/" r))
= ((p
"\/" q)
"\/" r) by
A2;
then Q is
join-commutative
join-associative
meet-absorbing
meet-commutative
meet-associative
join-absorbing by
A7,
A4;
hence thesis;
end;
registration
let A be non
empty
set, b1,b2,b3 be
BinOp of A;
cluster
QuantaleStr (# A, b1, b2, b3 #) -> non
empty;
coherence ;
end
registration
cluster
associative
commutative
unital
with_zero
left-distributive
right-distributive
complete
Lattice-like for non
empty
QuantaleStr;
existence
proof
set B = (
BooleLatt
{} );
set b = the
BinOp of B;
take
QuantaleStr (#
carr(B),
join(B),
met(B), b #);
thus thesis by
Th4;
end;
end
scheme ::
QUANTAL1:sch3
LUBFraenkelDistr { Q() ->
complete
Lattice-like non
empty
QuantaleStr , f(
set,
set) ->
Element of Q() , X,Y() ->
set } :
(
"\/" ({ (
"\/" ({ f(a,b) where b be
Element of Q() : b
in Y() },Q())) where a be
Element of Q() : a
in X() },Q()))
= (
"\/" ({ f(a,b) where a be
Element of Q(), b be
Element of Q() : a
in X() & b
in Y() },Q()));
set Q = Q(), X = X(), Y = Y();
set Z = { { f(a,b) where b be
Element of Q : b
in Y } where a be
Element of Q : a
in X };
set W = { (
"\/" V) where V be
Subset of Q : V
in Z };
set S = { f(a,b) where a be
Element of Q, b be
Element of Q : a
in X & b
in Y };
A1: W
= { (
"\/" ({ f(a,b) where b be
Element of Q : b
in Y },Q)) where a be
Element of Q : a
in X }
proof
thus W
c= { (
"\/" ({ f(a,b) where b be
Element of Q : b
in Y },Q)) where a be
Element of Q : a
in X }
proof
let x be
object;
assume x
in W;
then
consider V be
Subset of Q such that
A2: x
= (
"\/" V) and
A3: V
in Z;
ex a be
Element of Q st V
= { f(a,b) where b be
Element of Q : b
in Y } & a
in X by
A3;
hence thesis by
A2;
end;
let x be
object;
assume x
in { (
"\/" ({ f(a,b) where b be
Element of Q : b
in Y },Q)) where a be
Element of Q : a
in X };
then
consider a be
Element of Q such that
A4: x
= (
"\/" ({ f(a,b) where b be
Element of Q : b
in Y },Q)) and
A5: a
in X;
A6: { f(a,b) where b be
Element of Q : b
in Y }
c=
carr(Q)
proof
let y be
object;
assume y
in { f(a,b) where b be
Element of Q : b
in Y };
then ex b be
Element of Q st y
= f(a,b) & b
in Y;
hence thesis;
end;
{ f(a,c) where c be
Element of Q : c
in Y }
in Z by
A5;
hence thesis by
A4,
A6;
end;
A7: S
= (
union Z)
proof
thus S
c= (
union Z)
proof
let x be
object;
assume x
in S;
then
consider a,b be
Element of Q such that
A8: x
= f(a,b) & a
in X & b
in Y;
x
in { f(a,c) where c be
Element of Q : c
in Y } & { f(a,d) where d be
Element of Q : d
in Y }
in Z by
A8;
hence thesis by
TARSKI:def 4;
end;
let x be
object;
assume x
in (
union Z);
then
consider V be
set such that
A9: x
in V and
A10: V
in Z by
TARSKI:def 4;
consider a be
Element of Q such that
A11: V
= { f(a,b) where b be
Element of Q : b
in Y } and
A12: a
in X by
A10;
ex b be
Element of Q st x
= f(a,b) & b
in Y by
A9,
A11;
hence thesis by
A12;
end;
Z
c= (
bool
carr(Q))
proof
let x be
object;
reconsider xx = x as
set by
TARSKI: 1;
assume x
in Z;
then
consider a be
Element of Q such that
A13: x
= { f(a,b) where b be
Element of Q : b
in Y } and a
in X;
xx
c=
carr(Q)
proof
let y be
object;
assume y
in xx;
then ex b be
Element of Q st y
= f(a,b) & b
in Y by
A13;
hence thesis;
end;
hence thesis;
end;
hence thesis by
A1,
A7,
LATTICE3: 48;
end;
reserve Q for
left-distributive
right-distributive
complete
Lattice-like non
empty
QuantaleStr,
a,b,c,d for
Element of Q;
theorem ::
QUANTAL1:5
Th5: for Q holds for X,Y be
set holds ((
"\/" (X,Q))
[*] (
"\/" (Y,Q)))
= (
"\/" ({ (a
[*] b) : a
in X & b
in Y },Q))
proof
let Q;
let X,Y be
set;
deffunc
F(
Element of Q) = ($1
[*] (
"\/" (Y,Q)));
deffunc
G(
Element of Q) = (
"\/" ({ ($1
[*] b) : b
in Y },Q));
defpred
P[
set] means $1
in X;
deffunc
H(
Element of Q,
Element of Q) = ($1
[*] $2);
A1: for a holds
F(a)
=
G(a) by
Def5;
{
F(c) :
P[c] }
= {
G(a) :
P[a] } from
FRAENKEL:sch 5(
A1);
hence ((
"\/" (X,Q))
[*] (
"\/" (Y,Q)))
= (
"\/" ({ (
"\/" ({
H(a,b) where b be
Element of Q : b
in Y },Q)) where a be
Element of Q : a
in X },Q)) by
Def6
.= (
"\/" ({
H(c,d) where c be
Element of Q, d be
Element of Q : c
in X & d
in Y },Q)) from
LUBFraenkelDistr;
end;
theorem ::
QUANTAL1:6
Th6: ((a
"\/" b)
[*] c)
= ((a
[*] c)
"\/" (b
[*] c)) & (c
[*] (a
"\/" b))
= ((c
[*] a)
"\/" (c
[*] b))
proof
set X1 = { (d
[*] c) : d
in
{a, b} }, X2 = { (c
[*] d) : d
in
{a, b} };
now
let x be
object;
a
in
{a, b} & b
in
{a, b} by
TARSKI:def 2;
hence x
= (a
[*] c) or x
= (b
[*] c) implies x
in X1;
assume x
in X1;
then ex d st x
= (d
[*] c) & d
in
{a, b};
hence x
= (a
[*] c) or x
= (b
[*] c) by
TARSKI:def 2;
end;
then
A1: X1
=
{(a
[*] c), (b
[*] c)} by
TARSKI:def 2;
now
let x be
object;
a
in
{a, b} & b
in
{a, b} by
TARSKI:def 2;
hence x
= (c
[*] a) or x
= (c
[*] b) implies x
in X2;
assume x
in X2;
then ex d st x
= (c
[*] d) & d
in
{a, b};
hence x
= (c
[*] a) or x
= (c
[*] b) by
TARSKI:def 2;
end;
then
A2: X2
=
{(c
[*] a), (c
[*] b)} by
TARSKI:def 2;
A3: (a
"\/" b)
= (
"\/"
{a, b}) by
LATTICE3: 43;
then ((a
"\/" b)
[*] c)
= (
"\/" (X1,Q)) by
Def6;
hence ((a
"\/" b)
[*] c)
= ((a
[*] c)
"\/" (b
[*] c)) by
A1,
LATTICE3: 43;
(c
[*] (a
"\/" b))
= (
"\/" (X2,Q)) by
A3,
Def5;
hence thesis by
A2,
LATTICE3: 43;
end;
registration
let A be non
empty
set, b1,b2,b3 be
BinOp of A, e be
Element of A;
cluster
QuasiNetStr (# A, b1, b2, b3, e #) -> non
empty;
coherence ;
end
registration
cluster
complete
Lattice-like for non
empty
QuasiNetStr;
existence
proof
set B = (
BooleLatt
{} );
set e = the
Element of B, b = the
BinOp of B;
take
QuasiNetStr (#
carr(B),
join(B),
met(B), b, e #);
thus thesis by
Th4;
end;
end
registration
cluster
left-distributive
right-distributive ->
times-continuous
times-additive for
complete
Lattice-like non
empty
QuasiNetStr;
coherence by
Th5,
Th6;
end
registration
cluster
associative
commutative
unital
with_zero
with_left-zero
left-distributive
right-distributive
complete
Lattice-like for non
empty
QuasiNetStr;
existence
proof
set B = (
BooleLatt
{} );
set e = the
Element of B, b = the
BinOp of B;
take Q =
QuasiNetStr (#
carr(B),
join(B),
met(B), b, e #);
Q is
with_zero
unital by
Th4;
hence thesis by
Th4;
end;
end
definition
mode
Quantale is
associative
left-distributive
right-distributive
complete
Lattice-like non
empty
QuantaleStr;
mode
QuasiNet is
unital
associative
with_left-zero
times-continuous
times-additive
complete
Lattice-like non
empty
QuasiNetStr;
end
definition
mode
BlikleNet is
with_zero non
empty
QuasiNet;
end
theorem ::
QUANTAL1:7
for Q be
unital non
empty
QuasiNetStr st Q is
Quantale holds Q is
BlikleNet
proof
defpred
P[
set] means $1
in
{} ;
let Q be
unital non
empty
QuasiNetStr;
assume Q is
Quantale;
then
reconsider Q9 = Q as
Quantale;
A1: (
Bottom Q9)
= (
"\/" (
{} ,Q9)) by
LATTICE3: 49;
A2: not ex c be
Element of Q9 st
P[c];
Q9 is
with_zero
proof
hereby
reconsider a = (
Bottom Q9) as
Element of Q9;
take a;
let b be
Element of Q9;
deffunc
F1(
Element of Q9) = ($1
[*] b);
{
F1(c) where c be
Element of Q9 :
P[c] }
=
{} from
EmptyFraenkel(
A2);
hence (a
[*] b)
= a by
A1,
Def6;
end;
take (
Bottom Q9);
let a be
Element of Q9;
deffunc
F2(
Element of Q9) = (a
[*] $1);
{
F2(c) where c be
Element of Q9 :
P[c] }
=
{} from
EmptyFraenkel(
A2);
hence thesis by
A1,
Def5;
end;
hence thesis;
end;
reserve Q for
Quantale,
a,a9,b,b9,c,d,d1,d2,D for
Element of Q;
theorem ::
QUANTAL1:8
Th8: a
[= b implies (a
[*] c)
[= (b
[*] c) & (c
[*] a)
[= (c
[*] b) by
Th6;
theorem ::
QUANTAL1:9
Th9: a
[= b & c
[= d implies (a
[*] c)
[= (b
[*] d)
proof
assume a
[= b & c
[= d;
then (a
[*] c)
[= (b
[*] c) & (b
[*] c)
[= (b
[*] d) by
Th8;
hence thesis by
LATTICES: 7;
end;
definition
let f be
Function;
::
QUANTAL1:def9
attr f is
idempotent means (f
* f)
= f;
end
Lm1: for A be non
empty
set, f be
UnOp of A st f is
idempotent holds for a be
Element of A holds (f
. (f
. a))
= (f
. a) by
FUNCT_2: 15;
definition
let L be non
empty
LattStr;
let IT be
UnOp of L;
::
QUANTAL1:def10
attr IT is
inflationary means for p be
Element of L holds p
[= (IT
. p);
::
QUANTAL1:def11
attr IT is
deflationary means for p be
Element of L holds (IT
. p)
[= p;
::
QUANTAL1:def12
attr IT is
monotone means for p,q be
Element of L st p
[= q holds (IT
. p)
[= (IT
. q);
::
QUANTAL1:def13
attr IT is
\/-distributive means for X be
Subset of L holds (IT
. (
"\/" X))
[= (
"\/" ({ (IT
. a) where a be
Element of L : a
in X },L));
end
registration
let L be
Lattice;
cluster
inflationary
deflationary
monotone for
UnOp of L;
existence
proof
reconsider f = (
id the
carrier of L) as
UnOp of L;
take f;
thus f is
inflationary
proof
let p be
Element of L;
thus thesis;
end;
thus f is
deflationary
proof
let p be
Element of L;
thus thesis;
end;
let p,q be
Element of L;
thus thesis;
end;
end
theorem ::
QUANTAL1:10
Th10: for L be
complete
Lattice, j be
UnOp of L st j is
monotone holds j is
\/-distributive iff for X be
Subset of L holds (j
. (
"\/" X))
= (
"\/" ({ (j
. a) where a be
Element of L : a
in X },L))
proof
let L be
complete
Lattice, j be
UnOp of L such that
A1: j is
monotone;
thus j is
\/-distributive implies for X be
Subset of L holds (j
. (
"\/" X))
= (
"\/" ({ (j
. a) where a be
Element of L : a
in X },L))
proof
assume
A2: for X be
Subset of L holds (j
. (
"\/" X))
[= (
"\/" ({ (j
. a) where a be
Element of L : a
in X },L));
let X be
Subset of L;
{ (j
. a) where a be
Element of L : a
in X }
is_less_than (j
. (
"\/" X))
proof
let x be
Element of L;
assume x
in { (j
. a) where a be
Element of L : a
in X };
then
consider a be
Element of L such that
A3: x
= (j
. a) and
A4: a
in X;
a
[= (
"\/" X) by
A4,
LATTICE3: 38;
hence thesis by
A1,
A3;
end;
then
A5: (
"\/" ({ (j
. a) where a be
Element of L : a
in X },L))
[= (j
. (
"\/" X)) by
LATTICE3:def 21;
(j
. (
"\/" X))
[= (
"\/" ({ (j
. a) where a be
Element of L : a
in X },L)) by
A2;
hence thesis by
A5,
LATTICES: 8;
end;
assume
A6: for X be
Subset of L holds (j
. (
"\/" X))
= (
"\/" ({ (j
. a) where a be
Element of L : a
in X },L));
let X be
Subset of L;
(j
. (
"\/" X))
[= (j
. (
"\/" X));
hence thesis by
A6;
end;
definition
let Q be non
empty
QuantaleStr;
let IT be
UnOp of Q;
::
QUANTAL1:def14
attr IT is
times-monotone means for a,b be
Element of Q holds ((IT
. a)
[*] (IT
. b))
[= (IT
. (a
[*] b));
end
definition
let Q be non
empty
QuantaleStr, a,b be
Element of Q;
::
QUANTAL1:def15
func a
-r> b ->
Element of Q equals (
"\/" ({ c where c be
Element of Q : (c
[*] a)
[= b },Q));
correctness ;
::
QUANTAL1:def16
func a
-l> b ->
Element of Q equals (
"\/" ({ c where c be
Element of Q : (a
[*] c)
[= b },Q));
correctness ;
end
theorem ::
QUANTAL1:11
Th11: (a
[*] b)
[= c iff b
[= (a
-l> c)
proof
set X = { d : (a
[*] d)
[= c };
X
c=
carr(Q)
proof
let x be
object;
assume x
in X;
then ex d st x
= d & (a
[*] d)
[= c;
hence thesis;
end;
then
reconsider X as
Subset of Q;
thus (a
[*] b)
[= c implies b
[= (a
-l> c)
proof
assume (a
[*] b)
[= c;
then b
in X;
hence thesis by
LATTICE3: 38;
end;
deffunc
F(
Element of Q) = (a
[*] $1);
defpred
P1[
set] means $1
in X;
defpred
P2[
Element of Q] means (a
[*] $1)
[= c;
assume b
[= (a
-l> c);
then
A1: (a
[*] b)
[= (a
[*] (
"\/" X)) by
Th8;
now
let d;
assume d
in X;
then ex d1 st d
= d1 & (a
[*] d1)
[= c;
hence (a
[*] d)
[= c;
end;
then
A2:
P1[d] iff
P2[d];
A3: {
F(d1) :
P1[d1] }
= {
F(d2) :
P2[d2] } from
FRAENKEL:sch 3(
A2);
A4: { (a
[*] d) : d
in X }
is_less_than c
proof
let d1;
assume d1
in { (a
[*] d) : d
in X };
then ex d2 st d1
= (a
[*] d2) & (a
[*] d2)
[= c by
A3;
hence thesis;
end;
(a
[*] (
"\/" X))
= (
"\/" ({ (a
[*] d) : d
in X },Q)) by
Def5;
then (a
[*] (
"\/" X))
[= c by
A4,
LATTICE3:def 21;
hence thesis by
A1,
LATTICES: 7;
end;
theorem ::
QUANTAL1:12
Th12: (a
[*] b)
[= c iff a
[= (b
-r> c)
proof
set X = { d : (d
[*] b)
[= c };
X
c=
carr(Q)
proof
let x be
object;
assume x
in X;
then ex d st x
= d & (d
[*] b)
[= c;
hence thesis;
end;
then
reconsider X as
Subset of Q;
thus (a
[*] b)
[= c implies a
[= (b
-r> c)
proof
assume (a
[*] b)
[= c;
then a
in X;
hence thesis by
LATTICE3: 38;
end;
deffunc
F(
Element of Q) = ($1
[*] b);
defpred
P1[
set] means $1
in X;
defpred
P2[
Element of Q] means ($1
[*] b)
[= c;
assume a
[= (b
-r> c);
then
A1: (a
[*] b)
[= ((
"\/" X)
[*] b) by
Th8;
now
let d;
assume d
in X;
then ex d1 st d
= d1 & (d1
[*] b)
[= c;
hence (d
[*] b)
[= c;
end;
then
A2:
P1[d] iff
P2[d];
A3: {
F(d1) :
P1[d1] }
= {
F(d2) :
P2[d2] } from
FRAENKEL:sch 3(
A2);
A4: { (d
[*] b) : d
in X }
is_less_than c
proof
let d1;
assume d1
in { (d
[*] b) : d
in X };
then ex d2 st d1
= (d2
[*] b) & (d2
[*] b)
[= c by
A3;
hence thesis;
end;
((
"\/" X)
[*] b)
= (
"\/" ({ (d
[*] b) : d
in X },Q)) by
Def6;
then ((
"\/" X)
[*] b)
[= c by
A4,
LATTICE3:def 21;
hence thesis by
A1,
LATTICES: 7;
end;
theorem ::
QUANTAL1:13
Th13: for Q be
Quantale, s,a,b be
Element of Q st a
[= b holds (b
-r> s)
[= (a
-r> s) & (b
-l> s)
[= (a
-l> s)
proof
let Q be
Quantale, s,a,b be
Element of Q such that
A1: a
[= b;
{ d where d be
Element of Q : (d
[*] b)
[= s }
c= { c where c be
Element of Q : (c
[*] a)
[= s }
proof
let x be
object;
assume x
in { d where d be
Element of Q : (d
[*] b)
[= s };
then
consider d be
Element of Q such that
A2: x
= d and
A3: (d
[*] b)
[= s;
(d
[*] a)
[= (d
[*] b) by
A1,
Th8;
then (d
[*] a)
[= s by
A3,
LATTICES: 7;
hence thesis by
A2;
end;
hence (b
-r> s)
[= (a
-r> s) by
LATTICE3: 45;
{ d where d be
Element of Q : (b
[*] d)
[= s }
c= { c where c be
Element of Q : (a
[*] c)
[= s }
proof
let x be
object;
assume x
in { d where d be
Element of Q : (b
[*] d)
[= s };
then
consider d be
Element of Q such that
A4: x
= d and
A5: (b
[*] d)
[= s;
(a
[*] d)
[= (b
[*] d) by
A1,
Th8;
then (a
[*] d)
[= s by
A5,
LATTICES: 7;
hence thesis by
A4;
end;
hence thesis by
LATTICE3: 45;
end;
theorem ::
QUANTAL1:14
for Q be
Quantale, s be
Element of Q, j be
UnOp of Q st for a be
Element of Q holds (j
. a)
= ((a
-r> s)
-r> s) holds j is
monotone
proof
let Q be
Quantale, s be
Element of Q;
let j be
UnOp of Q such that
A1: for a be
Element of Q holds (j
. a)
= ((a
-r> s)
-r> s);
thus j is
monotone
proof
let a,b be
Element of Q;
assume a
[= b;
then (b
-r> s)
[= (a
-r> s) by
Th13;
then
A2: ((a
-r> s)
-r> s)
[= ((b
-r> s)
-r> s) by
Th13;
((a
-r> s)
-r> s)
= (j
. a) by
A1;
hence thesis by
A1,
A2;
end;
end;
definition
let Q be non
empty
QuantaleStr;
let IT be
Element of Q;
::
QUANTAL1:def17
attr IT is
dualizing means for a be
Element of Q holds ((a
-r> IT)
-l> IT)
= a & ((a
-l> IT)
-r> IT)
= a;
::
QUANTAL1:def18
attr IT is
cyclic means for a be
Element of Q holds (a
-r> IT)
= (a
-l> IT);
end
theorem ::
QUANTAL1:15
Th15: c is
cyclic iff for a, b st (a
[*] b)
[= c holds (b
[*] a)
[= c
proof
thus c is
cyclic implies for a, b st (a
[*] b)
[= c holds (b
[*] a)
[= c
proof
assume
A1: (a
-r> c)
= (a
-l> c);
let a, b;
assume (a
[*] b)
[= c;
then a
[= (b
-r> c) by
Th12;
then a
[= (b
-l> c) by
A1;
hence thesis by
Th11;
end;
assume
A2: (a
[*] b)
[= c implies (b
[*] a)
[= c;
let a;
set X1 = { d1 : (d1
[*] a)
[= c }, X2 = { d2 : (a
[*] d2)
[= c };
X1
= X2
proof
thus X1
c= X2
proof
let x be
object;
assume x
in X1;
then
consider d such that
A3: x
= d and
A4: (d
[*] a)
[= c;
(a
[*] d)
[= c by
A2,
A4;
hence thesis by
A3;
end;
let x be
object;
assume x
in X2;
then
consider d such that
A5: x
= d and
A6: (a
[*] d)
[= c;
(d
[*] a)
[= c by
A2,
A6;
hence thesis by
A5;
end;
hence thesis;
end;
theorem ::
QUANTAL1:16
Th16: for Q be
Quantale, s,a be
Element of Q st s is
cyclic holds a
[= ((a
-r> s)
-r> s) & a
[= ((a
-l> s)
-l> s)
proof
let Q;
let s,a be
Element of Q such that
A1: s is
cyclic;
A2: { b : b
[= a }
c= { c : (c
[*] (a
-r> s))
[= s }
proof
let x be
object;
assume x
in { b : b
[= a };
then
consider b such that
A3: x
= b and
A4: b
[= a;
((b
-r> s)
[*] b)
[= s by
Th12;
then
A5: (b
[*] (b
-r> s))
[= s by
A1,
Th15;
(a
-r> s)
[= (b
-r> s) by
A4,
Th13;
then (b
[*] (a
-r> s))
[= (b
[*] (b
-r> s)) by
Th8;
then (b
[*] (a
-r> s))
[= s by
A5,
LATTICES: 7;
hence thesis by
A3;
end;
A6: { b : b
[= a }
c= { c : ((a
-l> s)
[*] c)
[= s }
proof
let x be
object;
assume x
in { b : b
[= a };
then
consider b such that
A7: x
= b and
A8: b
[= a;
(b
[*] (b
-l> s))
[= s by
Th11;
then
A9: ((b
-l> s)
[*] b)
[= s by
A1,
Th15;
(a
-l> s)
[= (b
-l> s) by
A8,
Th13;
then ((a
-l> s)
[*] b)
[= ((b
-l> s)
[*] b) by
Th8;
then ((a
-l> s)
[*] b)
[= s by
A9,
LATTICES: 7;
hence thesis by
A7;
end;
a
= (
"\/" ({ d : d
[= a },Q)) by
LATTICE3: 44;
hence a
[= ((a
-r> s)
-r> s) by
A2,
LATTICE3: 45;
a
= (
"\/" ({ d : d
[= a },Q)) by
LATTICE3: 44;
hence thesis by
A6,
LATTICE3: 45;
end;
theorem ::
QUANTAL1:17
for Q be
Quantale, s,a be
Element of Q st s is
cyclic holds (a
-r> s)
= (((a
-r> s)
-r> s)
-r> s) & (a
-l> s)
= (((a
-l> s)
-l> s)
-l> s)
proof
let Q;
let s,a be
Element of Q;
assume
A1: s is
cyclic;
then a
[= ((a
-r> s)
-r> s) by
Th16;
then
A2: (((a
-r> s)
-r> s)
-r> s)
[= (a
-r> s) by
Th13;
a
[= ((a
-l> s)
-l> s) by
A1,
Th16;
then
A3: (((a
-l> s)
-l> s)
-l> s)
[= (a
-l> s) by
Th13;
(a
-r> s)
[= (((a
-r> s)
-r> s)
-r> s) & (a
-l> s)
[= (((a
-l> s)
-l> s)
-l> s) by
A1,
Th16;
hence thesis by
A2,
A3,
LATTICES: 8;
end;
theorem ::
QUANTAL1:18
for Q be
Quantale, s,a,b be
Element of Q holds (((a
-r> s)
-r> s)
[*] ((b
-r> s)
-r> s))
[= (((a
[*] b)
-r> s)
-r> s)
proof
let Q;
let s,a,b be
Element of Q;
deffunc
NEG(
Element of Q) = { c : (c
[*] ($1
-r> s))
[= s };
A1: { (a9
[*] b9) : a9
in
NEG(a) & b9
in
NEG(b) }
c=
NEG([*])
proof
defpred
P[
Element of Q] means ($1
[*] (a
[*] b))
[= s;
deffunc
G(
Element of Q) = $1;
let x be
object;
set A = {
G(c) :
P[c] };
assume x
in { (a9
[*] b9) : a9
in
NEG(a) & b9
in
NEG(b) };
then
consider a9, b9 such that
A2: x
= (a9
[*] b9) and
A3: a9
in
NEG(a) and
A4: b9
in
NEG(b);
deffunc
F(
Element of Q) = ((a9
[*] b9)
[*] $1);
set B = {
F(G) :
P[c] };
A5: ex c st b9
= c & (c
[*] (b
-r> s))
[= s by
A4;
A6: ex c st a9
= c & (c
[*] (a
-r> s))
[= s by
A3;
A7: B
is_less_than s
proof
let d;
assume d
in B;
then
consider c such that
A8: d
= ((a9
[*] b9)
[*] c) and
A9: (c
[*] (a
[*] b))
[= s;
A10: (b
-r> s)
[= (b9
-l> s) by
A5,
Th11;
((c
[*] a)
[*] b)
[= s by
A9,
GROUP_1:def 3;
then (c
[*] a)
[= (b
-r> s) by
Th12;
then (c
[*] a)
[= (b9
-l> s) by
A10,
LATTICES: 7;
then (b9
[*] (c
[*] a))
[= s by
Th11;
then ((b9
[*] c)
[*] a)
[= s by
GROUP_1:def 3;
then
A11: (b9
[*] c)
[= (a
-r> s) by
Th12;
(a
-r> s)
[= (a9
-l> s) by
A6,
Th11;
then (b9
[*] c)
[= (a9
-l> s) by
A11,
LATTICES: 7;
then (a9
[*] (b9
[*] c))
[= s by
Th11;
hence d
[= s by
A8,
GROUP_1:def 3;
end;
{
F(c) : c
in A }
= B from
DenestFraenkel;
then ((a9
[*] b9)
[*] ((a
[*] b)
-r> s))
= (
"\/" (B,Q)) by
Def5;
then ((a9
[*] b9)
[*] ((a
[*] b)
-r> s))
[= s by
A7,
LATTICE3:def 21;
hence thesis by
A2;
end;
(((a
-r> s)
-r> s)
[*] ((b
-r> s)
-r> s))
= (
"\/" ({ (a9
[*] b9) : a9
in
NEG(a) & b9
in
NEG(b) },Q)) by
Th5;
hence thesis by
A1,
LATTICE3: 45;
end;
theorem ::
QUANTAL1:19
Th19: D is
dualizing implies Q is
unital & (
the_unity_wrt the
multF of Q)
= (D
-r> D) & (
the_unity_wrt the
multF of Q)
= (D
-l> D)
proof
set I = (D
-l> D), J = (D
-r> D);
assume
A1: ((a
-r> D)
-l> D)
= a & ((a
-l> D)
-r> D)
= a;
A2:
now
deffunc
F(
set) = $1;
let a;
defpred
P1[
Element of Q] means ($1
[*] (a
[*] I))
[= D;
defpred
P2[
Element of Q] means ($1
[*] a)
[= D;
defpred
P3[
Element of Q] means ((J
[*] a)
[*] $1)
[= D;
defpred
P4[
Element of Q] means (a
[*] $1)
[= D;
A3:
P1[b] iff
P2[b]
proof
(b
[*] (a
[*] I))
= ((b
[*] a)
[*] I) & (I
-r> D)
= D by
A1,
GROUP_1:def 3;
hence thesis by
Th12;
end;
A4: {
F(b) :
P1[b] }
= {
F(c) :
P2[c] } from
FRAENKEL:sch 3(
A3);
thus (a
[*] I)
= (((a
[*] I)
-r> D)
-l> D) by
A1
.= ((a
-r> D)
-l> D) by
A4
.= a by
A1;
A5:
P3[b] iff
P4[b]
proof
(J
[*] (a
[*] b))
= ((J
[*] a)
[*] b) & (J
-l> D)
= D by
A1,
GROUP_1:def 3;
hence thesis by
Th11;
end;
A6: {
F(b) :
P3[b] }
= {
F(c) :
P4[c] } from
FRAENKEL:sch 3(
A5);
thus (J
[*] a)
= (((J
[*] a)
-l> D)
-r> D) by
A1
.= ((a
-l> D)
-r> D) by
A6
.= a by
A1;
end;
A7: I
is_a_right_unity_wrt
times(Q)
proof
let a;
thus (
times(Q)
. (a,I))
= (a
[*] I)
.= a by
A2;
end;
A8: I
= (J
[*] I) by
A2;
I
is_a_left_unity_wrt
times(Q)
proof
let a;
thus (
times(Q)
. (I,a))
= (J
[*] a) by
A2,
A8
.= a by
A2;
end;
then
A9: I
is_a_unity_wrt
times(Q) by
A7;
hence
times(Q) is
having_a_unity;
J
= (J
[*] I) by
A2;
hence thesis by
A8,
A9,
BINOP_1:def 8;
end;
theorem ::
QUANTAL1:20
a is
dualizing implies (b
-r> c)
= ((b
[*] (c
-l> a))
-r> a) & (b
-l> c)
= (((c
-r> a)
[*] b)
-l> a)
proof
deffunc
F(
set) = $1;
defpred
P1[
Element of Q] means ($1
[*] b)
[= c;
defpred
P2[
Element of Q] means ($1
[*] (b
[*] (c
-l> a)))
[= a;
defpred
P3[
Element of Q] means (b
[*] $1)
[= c;
defpred
P4[
Element of Q] means (((c
-r> a)
[*] b)
[*] $1)
[= a;
assume
A1: ((d
-r> a)
-l> a)
= d & ((d
-l> a)
-r> a)
= d;
then
A2: c
= ((c
-l> a)
-r> a);
A3:
P1[d] iff
P2[d]
proof
(d
[*] (b
[*] (c
-l> a)))
= ((d
[*] b)
[*] (c
-l> a)) by
GROUP_1:def 3;
hence thesis by
A2,
Th12;
end;
{
F(d1) :
P1[d1] }
= {
F(d2) :
P2[d2] } from
FRAENKEL:sch 3(
A3);
hence (b
-r> c)
= ((b
[*] (c
-l> a))
-r> a);
A4: c
= ((c
-r> a)
-l> a) by
A1;
A5:
P3[d] iff
P4[d]
proof
(((c
-r> a)
[*] b)
[*] d)
= ((c
-r> a)
[*] (b
[*] d)) by
GROUP_1:def 3;
hence thesis by
A4,
Th11;
end;
{
F(d1) :
P3[d1] }
= {
F(d2) :
P4[d2] } from
FRAENKEL:sch 3(
A5);
hence thesis;
end;
definition
struct (
QuasiNetStr)
Girard-QuantaleStr
(# the
carrier ->
set,
the
L_join,
L_meet,
multF ->
BinOp of the carrier,
the
OneF,
absurd ->
Element of the carrier #)
attr strict
strict;
end
registration
cluster non
empty for
Girard-QuantaleStr;
existence
proof
set A = the non
empty
set, b1 = the
BinOp of A, e1 = the
Element of A;
take
Girard-QuantaleStr (# A, b1, b1, b1, e1, e1 #);
thus the
carrier of
Girard-QuantaleStr (# A, b1, b1, b1, e1, e1 #) is non
empty;
end;
end
definition
let IT be non
empty
Girard-QuantaleStr;
::
QUANTAL1:def19
attr IT is
cyclic means
:
Def19: the
absurd of IT is
cyclic;
::
QUANTAL1:def20
attr IT is
dualized means
:
Def20: the
absurd of IT is
dualizing;
end
theorem ::
QUANTAL1:21
Th21: for Q be non
empty
Girard-QuantaleStr st the LattStr of Q
= (
BooleLatt
{} ) holds Q is
cyclic
dualized
proof
let Q be non
empty
Girard-QuantaleStr;
set c = the
absurd of Q;
assume the LattStr of Q
= (
BooleLatt
{} );
then
A1:
carr(Q)
=
{
{} } by
LATTICE3:def 1,
ZFMISC_1: 1;
thus Q is
cyclic
proof
let a be
Element of Q;
(a
-r> c)
=
{} by
A1,
TARSKI:def 1;
hence thesis by
A1,
TARSKI:def 1;
end;
let a be
Element of Q;
((a
-r> c)
-l> c)
=
{} & ((a
-l> c)
-r> c)
=
{} by
A1,
TARSKI:def 1;
hence thesis by
A1,
TARSKI:def 1;
end;
registration
let A be non
empty
set, b1,b2,b3 be
BinOp of A, e1,e2 be
Element of A;
cluster
Girard-QuantaleStr (# A, b1, b2, b3, e1, e2 #) -> non
empty;
coherence ;
end
registration
cluster
associative
commutative
unital
left-distributive
right-distributive
complete
Lattice-like
cyclic
dualized
strict for non
empty
Girard-QuantaleStr;
existence
proof
set B = (
BooleLatt
{} );
set b = the
BinOp of B;
set e = the
Element of B;
take
Girard-QuantaleStr (#
carr(B),
join(B),
met(B), b, e, e #);
thus thesis by
Th4,
Th21;
end;
end
definition
mode
Girard-Quantale is
associative
unital
left-distributive
right-distributive
complete
Lattice-like
cyclic
dualized non
empty
Girard-QuantaleStr;
end
definition
let G be
Girard-QuantaleStr;
::
QUANTAL1:def21
func
Bottom G ->
Element of G equals the
absurd of G;
correctness ;
end
definition
let G be non
empty
Girard-QuantaleStr;
::
QUANTAL1:def22
func
Top G ->
Element of G equals ((
Bottom G)
-r> (
Bottom G));
correctness ;
let a be
Element of G;
::
QUANTAL1:def23
func
Bottom a ->
Element of G equals (a
-r> (
Bottom G));
correctness ;
end
definition
let G be non
empty
Girard-QuantaleStr;
::
QUANTAL1:def24
func
Negation G ->
UnOp of G means for a be
Element of G holds (it
. a)
= (
Bottom a);
existence
proof
deffunc
F(
Element of G) = (
Bottom $1);
consider f be
Function of the
carrier of G, the
carrier of G such that
A1: for a be
Element of G holds (f
. a)
=
F(a) from
FUNCT_2:sch 4;
reconsider f as
UnOp of G;
take f;
thus thesis by
A1;
end;
uniqueness
proof
let f1,f2 be
UnOp of G such that
A2: for a be
Element of G holds (f1
. a)
= (
Bottom a) and
A3: for a be
Element of G holds (f2
. a)
= (
Bottom a);
now
let a be
Element of G;
thus (f1
. a)
= (
Bottom a) by
A2
.= (f2
. a) by
A3;
end;
hence thesis by
FUNCT_2: 63;
end;
end
definition
let G be non
empty
Girard-QuantaleStr, u be
UnOp of G;
::
QUANTAL1:def25
func
Bottom u ->
UnOp of G equals ((
Negation G)
* u);
correctness ;
end
definition
let G be non
empty
Girard-QuantaleStr, o be
BinOp of G;
::
QUANTAL1:def26
func
Bottom o ->
BinOp of G equals ((
Negation G)
* o);
correctness ;
end
reserve Q for
Girard-Quantale,
a,a1,a2,b,b1,b2,c,d for
Element of Q,
X for
set;
theorem ::
QUANTAL1:22
Th22: (
Bottom (
Bottom a))
= a
proof
the
absurd of Q is
cyclic by
Def19;
then
A1: (a
-l> the
absurd of Q)
= (a
-r> the
absurd of Q);
the
absurd of Q is
dualizing by
Def20;
hence thesis by
A1;
end;
theorem ::
QUANTAL1:23
a
[= b implies (
Bottom b)
[= (
Bottom a) by
Th13;
theorem ::
QUANTAL1:24
Th24: (
Bottom (
"\/" (X,Q)))
= (
"/\" ({ (
Bottom a) : a
in X },Q))
proof
{ ((
"/\" ({ (
Bottom a) : a
in X },Q))
[*] b) : b
in X }
is_less_than (
Bottom Q)
proof
let c;
assume c
in { ((
"/\" ({ (
Bottom a) : a
in X },Q))
[*] b) : b
in X };
then
consider b such that
A1: c
= ((
"/\" ({ (
Bottom a) : a
in X },Q))
[*] b) & b
in X;
(
Bottom b)
in { (
Bottom a) : a
in X } by
A1;
then (
"/\" ({ (
Bottom a) : a
in X },Q))
[= (
Bottom b) by
LATTICE3: 38;
hence c
[= (
Bottom Q) by
A1,
Th12;
end;
then (
"\/" ({ ((
"/\" ({ (
Bottom a) : a
in X },Q))
[*] b) : b
in X },Q))
[= (
Bottom Q) by
LATTICE3:def 21;
then ((
"/\" ({ (
Bottom a) : a
in X },Q))
[*] (
"\/" (X,Q)))
[= (
Bottom Q) by
Def5;
then
A2: (
"/\" ({ (
Bottom a) : a
in X },Q))
[= (
Bottom (
"\/" (X,Q))) by
Th12;
(
Bottom (
"\/" (X,Q)))
is_less_than { (
Bottom a) : a
in X }
proof
let b;
assume b
in { (
Bottom a) : a
in X };
then
consider a such that
A3: b
= (
Bottom a) and
A4: a
in X;
a
[= (
"\/" (X,Q)) by
A4,
LATTICE3: 38;
hence thesis by
A3,
Th13;
end;
then (
Bottom (
"\/" (X,Q)))
[= (
"/\" ({ (
Bottom a) : a
in X },Q)) by
LATTICE3: 39;
hence thesis by
A2,
LATTICES: 8;
end;
theorem ::
QUANTAL1:25
Th25: (
Bottom (
"/\" (X,Q)))
= (
"\/" ({ (
Bottom a) : a
in X },Q))
proof
X
is_greater_than (
"/\" ({ (
Bottom a) : a
in { (
Bottom b) : b
in X } },Q))
proof
let c;
assume c
in X;
then (
Bottom c)
in { (
Bottom b) : b
in X };
then
A1: (
Bottom (
Bottom c))
in { (
Bottom a) : a
in { (
Bottom b) : b
in X } };
(
Bottom (
Bottom c))
= c by
Th22;
hence thesis by
A1,
LATTICE3: 38;
end;
then
A2: (
"/\" ({ (
Bottom a) : a
in { (
Bottom b) : b
in X } },Q))
[= (
"/\" (X,Q)) by
LATTICE3: 39;
{ (
Bottom a) : a
in { (
Bottom b) : b
in X } }
c= X
proof
let x be
object;
assume x
in { (
Bottom a) : a
in { (
Bottom b) : b
in X } };
then
consider a such that
A3: x
= (
Bottom a) & a
in { (
Bottom b) : b
in X };
ex b st a
= (
Bottom b) & b
in X by
A3;
hence thesis by
A3,
Th22;
end;
then (
"/\" (X,Q))
[= (
"/\" ({ (
Bottom a) : a
in { (
Bottom b) : b
in X } },Q)) by
LATTICE3: 45;
then (
"/\" (X,Q))
= (
"/\" ({ (
Bottom a) : a
in { (
Bottom b) : b
in X } },Q)) by
A2,
LATTICES: 8;
hence (
Bottom (
"/\" (X,Q)))
= (
Bottom (
Bottom (
"\/" ({ (
Bottom a) : a
in X },Q)))) by
Th24
.= (
"\/" ({ (
Bottom a) : a
in X },Q)) by
Th22;
end;
theorem ::
QUANTAL1:26
Th26: (
Bottom (a
"\/" b))
= ((
Bottom a)
"/\" (
Bottom b)) & (
Bottom (a
"/\" b))
= ((
Bottom a)
"\/" (
Bottom b))
proof
A1: { (
Bottom c) : c
in
{a, b} }
=
{(
Bottom a), (
Bottom b)}
proof
thus { (
Bottom c) : c
in
{a, b} }
c=
{(
Bottom a), (
Bottom b)}
proof
let x be
object;
assume x
in { (
Bottom c) : c
in
{a, b} };
then
consider c such that
A2: x
= (
Bottom c) and
A3: c
in
{a, b};
c
= a or c
= b by
A3,
TARSKI:def 2;
hence thesis by
A2,
TARSKI:def 2;
end;
let x be
object;
assume x
in
{(
Bottom a), (
Bottom b)};
then x
= (
Bottom a) & a
in
{a, b} or x
= (
Bottom b) & b
in
{a, b} by
TARSKI:def 2;
hence thesis;
end;
(a
"\/" b)
= (
"\/"
{a, b}) & ((
Bottom a)
"/\" (
Bottom b))
= (
"/\"
{(
Bottom a), (
Bottom b)}) by
LATTICE3: 43;
hence (
Bottom (a
"\/" b))
= ((
Bottom a)
"/\" (
Bottom b)) by
A1,
Th24;
((
Bottom a)
"\/" (
Bottom b))
= (
"\/"
{(
Bottom a), (
Bottom b)}) & (a
"/\" b)
= (
"/\"
{a, b}) by
LATTICE3: 43;
hence thesis by
A1,
Th25;
end;
definition
let Q, a, b;
::
QUANTAL1:def27
func a
delta b ->
Element of Q equals (
Bottom ((
Bottom a)
[*] (
Bottom b)));
correctness ;
end
theorem ::
QUANTAL1:27
(a
[*] (
"\/" (X,Q)))
= (
"\/" ({ (a
[*] b) : b
in X },Q)) & (a
delta (
"/\" (X,Q)))
= (
"/\" ({ (a
delta c) : c
in X },Q))
proof
deffunc
F(
Element of Q) = ((
Bottom a)
[*] $1);
deffunc
G(
Element of Q) = (
Bottom $1);
deffunc
H(
Element of Q) = ((
Bottom a)
[*] (
Bottom $1));
defpred
P[
set] means $1
in X;
deffunc
F1(
Element of Q) = (
Bottom ((
Bottom a)
[*] (
Bottom $1)));
deffunc
F2(
Element of Q) = (a
delta $1);
thus (a
[*] (
"\/" (X,Q)))
= (
"\/" ({ (a
[*] b) : b
in X },Q)) by
Def5;
A1: {
F(c) : c
in {
G(d) :
P[d] } }
= {
F(G) :
P[b] } from
DenestFraenkel;
A2: {
G(c) : c
in {
H(d) :
P[d] } }
= {
G(H) :
P[b] } from
DenestFraenkel;
A3:
F1(b)
=
F2(b);
A4: {
F1(b) :
P[b] }
= {
F2(c) :
P[c] } from
FRAENKEL:sch 5(
A3);
thus (a
delta (
"/\" (X,Q)))
= (
Bottom ((
Bottom a)
[*] (
"\/" ({ (
Bottom b) : b
in X },Q)))) by
Th25
.= (
Bottom (
"\/" ({ ((
Bottom a)
[*] (
Bottom b)) : b
in X },Q))) by
A1,
Def5
.= (
"/\" ({ (a
delta b) : b
in X },Q)) by
A2,
A4,
Th24;
end;
theorem ::
QUANTAL1:28
((
"\/" (X,Q))
[*] a)
= (
"\/" ({ (b
[*] a) : b
in X },Q)) & ((
"/\" (X,Q))
delta a)
= (
"/\" ({ (c
delta a) : c
in X },Q))
proof
deffunc
F(
Element of Q) = ($1
[*] (
Bottom a));
deffunc
G(
Element of Q) = (
Bottom $1);
deffunc
H(
Element of Q) = ((
Bottom $1)
[*] (
Bottom a));
defpred
P[
set] means $1
in X;
deffunc
F1(
Element of Q) = (
Bottom ((
Bottom $1)
[*] (
Bottom a)));
deffunc
F2(
Element of Q) = ($1
delta a);
thus ((
"\/" (X,Q))
[*] a)
= (
"\/" ({ (b
[*] a) : b
in X },Q)) by
Def6;
A1: {
F(c) : c
in {
G(d) :
P[d] } }
= {
F(G) :
P[b] } from
DenestFraenkel;
A2: {
G(c) : c
in {
H(d) :
P[d] } }
= {
G(H) :
P[b] } from
DenestFraenkel;
A3:
F1(b)
=
F2(b);
A4: {
F1(b) :
P[b] }
= {
F2(c) :
P[c] } from
FRAENKEL:sch 5(
A3);
thus ((
"/\" (X,Q))
delta a)
= (
Bottom ((
"\/" ({ (
Bottom b) : b
in X },Q))
[*] (
Bottom a))) by
Th25
.= (
Bottom (
"\/" ({ ((
Bottom b)
[*] (
Bottom a)) : b
in X },Q))) by
A1,
Def6
.= (
"/\" ({ (b
delta a) : b
in X },Q)) by
A2,
A4,
Th24;
end;
theorem ::
QUANTAL1:29
(a
delta (b
"/\" c))
= ((a
delta b)
"/\" (a
delta c)) & ((b
"/\" c)
delta a)
= ((b
delta a)
"/\" (c
delta a))
proof
thus (a
delta (b
"/\" c))
= (
Bottom ((
Bottom a)
[*] ((
Bottom b)
"\/" (
Bottom c)))) by
Th26
.= (
Bottom (((
Bottom a)
[*] (
Bottom b))
"\/" ((
Bottom a)
[*] (
Bottom c)))) by
Th6
.= ((a
delta b)
"/\" (a
delta c)) by
Th26;
thus ((b
"/\" c)
delta a)
= (
Bottom (((
Bottom b)
"\/" (
Bottom c))
[*] (
Bottom a))) by
Th26
.= (
Bottom (((
Bottom b)
[*] (
Bottom a))
"\/" ((
Bottom c)
[*] (
Bottom a)))) by
Th6
.= ((b
delta a)
"/\" (c
delta a)) by
Th26;
end;
theorem ::
QUANTAL1:30
a1
[= b1 & a2
[= b2 implies (a1
delta a2)
[= (b1
delta b2)
proof
assume a1
[= b1 & a2
[= b2;
then (
Bottom b1)
[= (
Bottom a1) & (
Bottom b2)
[= (
Bottom a2) by
Th13;
then ((
Bottom b1)
[*] (
Bottom b2))
[= ((
Bottom a1)
[*] (
Bottom a2)) by
Th9;
hence thesis by
Th13;
end;
theorem ::
QUANTAL1:31
((a
delta b)
delta c)
= (a
delta (b
delta c))
proof
thus ((a
delta b)
delta c)
= (
Bottom (((
Bottom a)
[*] (
Bottom b))
[*] (
Bottom c))) by
Th22
.= (
Bottom ((
Bottom a)
[*] ((
Bottom b)
[*] (
Bottom c)))) by
GROUP_1:def 3
.= (a
delta (b
delta c)) by
Th22;
end;
theorem ::
QUANTAL1:32
Th32: (a
[*] (
Top Q))
= a & ((
Top Q)
[*] a)
= a
proof
the
absurd of Q is
dualizing by
Def20;
then
A1: (
Top Q)
= (
the_unity_wrt
times(Q)) by
Th19;
times(Q) is
having_a_unity by
MONOID_0:def 10;
hence thesis by
A1,
SETWISEO: 15;
end;
theorem ::
QUANTAL1:33
(a
delta (
Bottom Q))
= a & ((
Bottom Q)
delta a)
= a
proof
((
Bottom a)
[*] (
Top Q))
= (
Bottom a) & ((
Top Q)
[*] (
Bottom a))
= (
Bottom a) by
Th32;
hence thesis by
Th22;
end;
theorem ::
QUANTAL1:34
for Q be
Quantale holds for j be
UnOp of Q st j is
monotone
idempotent
\/-distributive holds ex L be
complete
Lattice st the
carrier of L
= (
rng j) & for X be
Subset of L holds (
"\/" X)
= (j
. (
"\/" (X,Q)))
proof
let Q be
Quantale, j be
UnOp of Q;
assume
A1: j is
monotone
idempotent
\/-distributive;
reconsider D = (
rng j) as non
empty
Subset of Q;
(
dom j)
=
carr(Q) by
FUNCT_2:def 1;
then
reconsider j9 = j as
Function of
carr(Q), D by
RELSET_1: 4;
deffunc
F(
Subset of D) = (j9
. (
"\/" ($1,Q)));
consider f be
Function of (
bool D), D such that
A2: for X be
Subset of D holds (f
. X)
=
F(X) from
FUNCT_2:sch 4;
A3: (
dom f)
= (
bool D) by
FUNCT_2:def 1;
A4: for X be
Subset-Family of D holds (f
. (f
.: X))
= (f
. (
union X))
proof
let X be
Subset-Family of D;
set A = { (j
. a) where a be
Element of Q : a
in (f
.: X) };
set B = { (j
. b) where b be
Element of Q : b
in (
union X) };
reconsider Y = (f
.: X), X9 = (
union X) as
Subset of Q by
XBOOLE_1: 1;
now
let a be
Element of Q;
assume a
in B;
then
consider b9 be
Element of Q such that
A5: a
= (j
. b9) and
A6: b9
in (
union X);
consider Y be
set such that
A7: b9
in Y and
A8: Y
in X by
A6,
TARSKI:def 4;
reconsider Y as
Subset of D by
A8;
A9: b9
[= (
"\/" (Y,Q)) by
A7,
LATTICE3: 38;
take b = (j
. (
"\/" (Y,Q)));
b
= (f
. Y) by
A2;
then
A10: b
in (f
.: X) by
A3,
A8,
FUNCT_1:def 6;
(j
. b)
= b by
A1,
Lm1;
hence a
[= b & b
in A by
A1,
A5,
A10,
A9;
end;
then
A11: (
"\/" (B,Q))
[= (
"\/" (A,Q)) by
LATTICE3: 47;
A
is_less_than (
"\/" (B,Q))
proof
let a be
Element of Q;
assume a
in A;
then
consider a9 be
Element of Q such that
A12: a
= (j
. a9) and
A13: a9
in (f
.: X);
consider x be
object such that
A14: x
in (
dom f) and
A15: x
in X and
A16: a9
= (f
. x) by
A13,
FUNCT_1:def 6;
reconsider x as
Subset of D by
A14;
reconsider Y = x as
Subset of Q by
XBOOLE_1: 1;
A17: { (j
. b) where b be
Element of Q : b
in Y }
c= B
proof
let z be
object;
assume z
in { (j
. b) where b be
Element of Q : b
in Y };
then
consider b be
Element of Q such that
A18: z
= (j
. b) and
A19: b
in Y;
b
in (
union X) by
A15,
A19,
TARSKI:def 4;
hence thesis by
A18;
end;
a9
= (j
. (
"\/" Y)) by
A2,
A16;
then a9
= (
"\/" ({ (j
. b) where b be
Element of Q : b
in Y },Q)) by
A1,
Th10;
then a9
[= (
"\/" (B,Q)) by
A17,
LATTICE3: 45;
then a
[= (j
. (
"\/" (B,Q))) by
A1,
A12;
then a
[= (j
. (j
. (
"\/" X9))) by
A1,
Th10;
then a
[= (j
. (
"\/" X9)) by
A1,
Lm1;
hence thesis by
A1,
Th10;
end;
then
A20: (
"\/" (A,Q))
[= (
"\/" (B,Q)) by
LATTICE3:def 21;
thus (f
. (f
.: X))
= (j
. (
"\/" Y)) by
A2
.= (
"\/" (A,Q)) by
A1,
Th10
.= (
"\/" (B,Q)) by
A20,
A11,
LATTICES: 8
.= (j
. (
"\/" X9)) by
A1,
Th10
.= (f
. (
union X)) by
A2;
end;
for a be
Element of D holds (f
.
{a})
= a
proof
let a be
Element of D;
consider a9 be
object such that
A21: a9
in (
dom j) and
A22: a
= (j
. a9) by
FUNCT_1:def 3;
reconsider x = a as
Element of Q;
reconsider x9 =
{x} as
Subset of Q;
reconsider a9 as
Element of Q by
A21;
thus (f
.
{a})
= (j
. (
"\/" x9)) by
A2
.= (j
. (j
. a9)) by
A22,
LATTICE3: 42
.= a by
A1,
A22,
Lm1;
end;
then
consider L be
complete
strict
Lattice such that
A23:
carr(L)
= D and
A24: for X be
Subset of L holds (
"\/" X)
= (f
. X) by
A4,
LATTICE3: 55;
take L;
thus
carr(L)
= (
rng j) by
A23;
let X be
Subset of L;
thus (
"\/" X)
= (f
. X) by
A24
.= (j
. (
"\/" (X,Q))) by
A2,
A23;
end;