let C1, C2 be Coherence_Space; for f being cap-distributive Function of C1,C2
for a1, a2 being set st a1 \/ a2 in C1 holds
for y being object st [a1,y] in Trace f & [a2,y] in Trace f holds
a1 = a2
let f be cap-distributive Function of C1,C2; for a1, a2 being set st a1 \/ a2 in C1 holds
for y being object st [a1,y] in Trace f & [a2,y] in Trace f holds
a1 = a2
A1:
dom f = C1
by FUNCT_2:def 1;
let a1, a2 be set ; ( a1 \/ a2 in C1 implies for y being object st [a1,y] in Trace f & [a2,y] in Trace f holds
a1 = a2 )
set a = a1 \/ a2;
assume A2:
a1 \/ a2 in C1
; for y being object st [a1,y] in Trace f & [a2,y] in Trace f holds
a1 = a2
a2 c= a1 \/ a2
by XBOOLE_1:7;
then A3:
a2 in C1
by A2, CLASSES1:def 1;
a1 c= a1 \/ a2
by XBOOLE_1:7;
then A4:
a1 in C1
by A2, CLASSES1:def 1;
then reconsider b = a1 /\ a2 as Element of C1 by A3, FINSUB_1:def 2;
b in C1
;
then A5:
C1 includes_lattice_of a1,a2
by A2, A4, A3, Th16;
let y be object ; ( [a1,y] in Trace f & [a2,y] in Trace f implies a1 = a2 )
assume that
A6:
[a1,y] in Trace f
and
A7:
[a2,y] in Trace f
; a1 = a2
( y in f . a1 & y in f . a2 )
by A6, A7, Th31;
then
y in (f . a1) /\ (f . a2)
by XBOOLE_0:def 4;
then A8:
y in f . b
by A1, A5, Def12;
b c= a1
by XBOOLE_1:17;
then
( b c= a2 & b = a1 )
by A1, A6, A8, Th31, XBOOLE_1:17;
hence
a1 = a2
by A1, A7, A8, Th31; verum