heyting1.miz
begin
theorem ::
HEYTING1:1
Th1: for A,B,C be non
empty
set, f be
Function of A, B st for x be
Element of A holds (f
. x)
in C holds f is
Function of A, C
proof
let A,B,C be non
empty
set, f be
Function of A, B;
assume for x be
Element of A holds (f
. x)
in C;
then (
dom f)
= A & for x be
object holds x
in A implies (f
. x)
in C by
FUNCT_2:def 1;
hence thesis by
FUNCT_2: 3;
end;
reserve A for non
empty
set,
a for
Element of A;
definition
let A;
let B,C be
Element of (
Fin A);
:: original:
c=
redefine
::
HEYTING1:def1
pred B
c= C means for a st a
in B holds a
in C;
compatibility
proof
thus B
c= C implies for a st a
in B holds a
in C;
assume
A1: for a st a
in B holds a
in C;
let x be
object;
assume
A2: x
in B;
then x is
Element of A by
SETWISEO: 9;
hence thesis by
A1,
A2;
end;
end
reserve A for
set;
definition
let A;
assume
A1: A is non
empty;
::
HEYTING1:def2
func
[A] -> non
empty
set equals
:
Def2: A;
correctness by
A1;
end
reserve B,C for
Element of (
Fin (
DISJOINT_PAIRS A)),
x for
Element of
[:(
Fin A), (
Fin A):],
a,b,c,d,s,t,s9,t9,t1,t2,s1,s2 for
Element of (
DISJOINT_PAIRS A),
u,v,w for
Element of (
NormForm A);
theorem ::
HEYTING1:2
B
=
{} implies (
mi B)
=
{} by
NORMFORM: 40,
XBOOLE_1: 3;
Lm1:
now
let A, a;
reconsider B =
{.a.} as
Element of (
Fin (
DISJOINT_PAIRS A));
now
let c, b such that
A1: c
in B and
A2: b
in B and c
c= b;
c
= a by
A1,
TARSKI:def 1;
hence c
= b by
A2,
TARSKI:def 1;
end;
hence
{a} is
Element of (
Normal_forms_on A) by
NORMFORM: 33;
end;
registration
let A;
cluster non
empty for
Element of (
Normal_forms_on A);
existence
proof
set a = the
Element of (
DISJOINT_PAIRS A);
{a} is
Element of (
Normal_forms_on A) by
Lm1;
hence thesis;
end;
end
definition
let A, a;
:: original:
{
redefine
func
{a} ->
Element of (
Normal_forms_on A) ;
coherence by
Lm1;
end
definition
let A;
let u be
Element of (
NormForm A);
::
HEYTING1:def3
func
@ u ->
Element of (
Normal_forms_on A) equals u;
coherence by
NORMFORM:def 12;
end
reserve K,L for
Element of (
Normal_forms_on A);
theorem ::
HEYTING1:3
Th3: (
mi (K
^ K))
= K
proof
thus (
mi (K
^ K))
= (
mi K) by
NORMFORM: 55
.= K by
NORMFORM: 42;
end;
theorem ::
HEYTING1:4
Th4: for X be
set st X
c= K holds X
in (
Normal_forms_on A)
proof
let X be
set;
assume
A1: X
c= K;
K
c= (
DISJOINT_PAIRS A) by
FINSUB_1:def 5;
then X
c= (
DISJOINT_PAIRS A) by
A1;
then
reconsider B = X as
Element of (
Fin (
DISJOINT_PAIRS A)) by
A1,
FINSUB_1:def 5;
for a, b st a
in B & b
in B & a
c= b holds a
= b by
A1,
NORMFORM: 32;
hence thesis;
end;
theorem ::
HEYTING1:5
Th5: for X be
set st X
c= u holds X is
Element of (
NormForm A)
proof
let X be
set;
assume
A1: X
c= u;
u
= (
@ u);
then X
in (
Normal_forms_on A) by
A1,
Th4;
hence thesis by
NORMFORM:def 12;
end;
definition
let A;
::
HEYTING1:def4
func
Atom (A) ->
Function of (
DISJOINT_PAIRS A), the
carrier of (
NormForm A) means
:
Def4: (it
. a)
=
{a};
existence
proof
set f = (
singleton (
DISJOINT_PAIRS A));
A1: (
dom f)
= (
DISJOINT_PAIRS A) by
FUNCT_2:def 1;
A2: the
carrier of (
NormForm A)
= (
Normal_forms_on A) by
NORMFORM:def 12;
now
let x be
object;
assume x
in (
DISJOINT_PAIRS A);
then
reconsider a = x as
Element of (
DISJOINT_PAIRS A);
(f
. a)
=
{a} by
SETWISEO: 54;
hence (f
. x)
in the
carrier of (
NormForm A) by
A2;
end;
then
reconsider f as
Function of (
DISJOINT_PAIRS A), the
carrier of (
NormForm A) by
A1,
FUNCT_2: 3;
take f;
thus thesis by
SETWISEO: 54;
end;
uniqueness
proof
let IT1,IT2 be
Function of (
DISJOINT_PAIRS A), the
carrier of (
NormForm A) such that
A3: for a holds (IT1
. a)
=
{a} and
A4: for a holds (IT2
. a)
=
{a};
now
let a;
(IT1
. a)
=
{a} by
A3;
hence (IT1
. a)
= (IT2
. a) by
A4;
end;
hence thesis by
FUNCT_2: 63;
end;
end
theorem ::
HEYTING1:6
Th6: c
in ((
Atom A)
. a) implies c
= a
proof
((
Atom A)
. a)
=
{a} by
Def4;
hence thesis by
TARSKI:def 1;
end;
theorem ::
HEYTING1:7
Th7: a
in ((
Atom A)
. a)
proof
((
Atom A)
. a)
=
{a} by
Def4;
hence thesis by
TARSKI:def 1;
end;
theorem ::
HEYTING1:8
((
Atom A)
. a)
= ((
singleton (
DISJOINT_PAIRS A))
. a)
proof
thus ((
singleton (
DISJOINT_PAIRS A))
. a)
=
{a} by
SETWISEO: 54
.= ((
Atom A)
. a) by
Def4;
end;
theorem ::
HEYTING1:9
Th9: (
FinJoin (K,(
Atom A)))
= (
FinUnion (K,(
singleton (
DISJOINT_PAIRS A))))
proof
deffunc
F(
Element of (
Fin (
DISJOINT_PAIRS A))) = (
mi $1);
A1: (
FinUnion (K,(
singleton (
DISJOINT_PAIRS A))))
c= (
mi (
FinUnion (K,(
singleton (
DISJOINT_PAIRS A)))))
proof
let a;
assume
A2: a
in (
FinUnion (K,(
singleton (
DISJOINT_PAIRS A))));
then
consider b such that
A3: b
in K and
A4: a
in ((
singleton (
DISJOINT_PAIRS A))
. b) by
SETWISEO: 57;
A5: a
= b by
A4,
SETWISEO: 55;
now
let s;
assume that
A6: s
in (
FinUnion (K,(
singleton (
DISJOINT_PAIRS A)))) and
A7: s
c= a;
consider t such that
A8: t
in K and
A9: s
in ((
singleton (
DISJOINT_PAIRS A))
. t) by
A6,
SETWISEO: 57;
s
= t by
A9,
SETWISEO: 55;
hence s
= a by
A3,
A5,
A7,
A8,
NORMFORM: 32;
end;
hence thesis by
A2,
NORMFORM: 39;
end;
A10: (
mi (
FinUnion (K,(
singleton (
DISJOINT_PAIRS A)))))
c= (
FinUnion (K,(
singleton (
DISJOINT_PAIRS A)))) by
NORMFORM: 40;
consider g be
Function of (
Fin (
DISJOINT_PAIRS A)), (
Normal_forms_on A) such that
A11: (g
. B)
=
F(B) from
FUNCT_2:sch 4;
reconsider g as
Function of (
Fin (
DISJOINT_PAIRS A)), the
carrier of (
NormForm A) by
NORMFORM:def 12;
A12: (g
. (
{}. (
DISJOINT_PAIRS A)))
= (
mi (
{}. (
DISJOINT_PAIRS A))) by
A11
.=
{} by
NORMFORM: 40,
XBOOLE_1: 3
.= (
Bottom (
NormForm A)) by
NORMFORM: 57
.= (
the_unity_wrt the
L_join of (
NormForm A)) by
LATTICE2: 18;
A13:
now
let x,y be
Element of (
Fin (
DISJOINT_PAIRS A));
A14: (
@ (g
. x))
= (
mi x) & (
@ (g
. y))
= (
mi y) by
A11;
thus (g
. (x
\/ y))
= (
mi (x
\/ y)) by
A11
.= (
mi ((
mi x)
\/ y)) by
NORMFORM: 44
.= (
mi ((
mi x)
\/ (
mi y))) by
NORMFORM: 45
.= (the
L_join of (
NormForm A)
. ((g
. x),(g
. y))) by
A14,
NORMFORM:def 12;
end;
A15:
now
let a;
thus ((g
* (
singleton (
DISJOINT_PAIRS A)))
. a)
= (g
. ((
singleton (
DISJOINT_PAIRS A))
. a)) by
FUNCT_2: 15
.= (g
.
{a}) by
SETWISEO: 54
.= (
mi
{a}) by
A11
.=
{a} by
NORMFORM: 42
.= ((
Atom A)
. a) by
Def4;
end;
thus (
FinJoin (K,(
Atom A)))
= (the
L_join of (
NormForm A)
$$ (K,(
Atom A))) by
LATTICE2:def 3
.= (the
L_join of (
NormForm A)
$$ (K,(g
* (
singleton (
DISJOINT_PAIRS A))))) by
A15,
FUNCT_2: 63
.= (g
. (
FinUnion (K,(
singleton (
DISJOINT_PAIRS A))))) by
A12,
A13,
SETWISEO: 53
.= (
mi (
FinUnion (K,(
singleton (
DISJOINT_PAIRS A))))) by
A11
.= (
FinUnion (K,(
singleton (
DISJOINT_PAIRS A)))) by
A10,
A1;
end;
theorem ::
HEYTING1:10
Th10: u
= (
FinJoin ((
@ u),(
Atom A)))
proof
thus u
= (
FinUnion ((
@ u),(
singleton (
DISJOINT_PAIRS A)))) by
SETWISEO: 58
.= (
FinJoin ((
@ u),(
Atom A))) by
Th9;
end;
Lm2: u
[= v implies for x st x
in u holds ex b st b
in v & b
c= x
proof
assume u
[= v;
then
A1: v
= (u
"\/" v) by
LATTICES:def 3
.= (the
L_join of (
NormForm A)
. (u,v)) by
LATTICES:def 1
.= (
mi ((
@ u)
\/ (
@ v))) by
NORMFORM:def 12;
let x;
assume
A2: x
in u;
u
= (
@ u);
then
reconsider c = x as
Element of (
DISJOINT_PAIRS A) by
A2,
SETWISEO: 9;
c
in (u
\/ v) by
A2,
XBOOLE_0:def 3;
then
consider b such that
A3: b
c= c & b
in (
mi ((
@ u)
\/ (
@ v))) by
NORMFORM: 41;
take b;
thus thesis by
A1,
A3;
end;
Lm3: (for a st a
in u holds ex b st b
in v & b
c= a) implies u
[= v
proof
assume
A1: for a st a
in u holds ex b st b
in v & b
c= a;
A2: (
mi ((
@ u)
\/ (
@ v)))
c= (
@ v)
proof
let a;
assume
A3: a
in (
mi ((
@ u)
\/ (
@ v)));
then a
in (u
\/ v) by
NORMFORM: 36;
then a
in u or a
in v by
XBOOLE_0:def 3;
then
consider b such that
A4: b
in v and
A5: b
c= a by
A1;
b
in (u
\/ v) by
A4,
XBOOLE_0:def 3;
hence thesis by
A3,
A4,
A5,
NORMFORM: 38;
end;
A6: (
@ v)
c= (
mi ((
@ u)
\/ (
@ v)))
proof
let a;
assume
A7: a
in (
@ v);
then
A8: a
in (
mi (
@ v)) by
NORMFORM: 42;
A9:
now
let b;
assume that
A10: b
in (u
\/ v) and
A11: b
c= a;
b
in u or b
in v by
A10,
XBOOLE_0:def 3;
then
consider c such that
A12: c
in v and
A13: c
c= b by
A1;
c
= a by
A8,
A11,
A12,
A13,
NORMFORM: 2,
NORMFORM: 38;
hence b
= a by
A11,
A13,
NORMFORM: 1;
end;
a
in ((
@ u)
\/ (
@ v)) by
A7,
XBOOLE_0:def 3;
hence thesis by
A9,
NORMFORM: 39;
end;
(u
"\/" v)
= (the
L_join of (
NormForm A)
. (u,v)) by
LATTICES:def 1
.= (
mi ((
@ u)
\/ (
@ v))) by
NORMFORM:def 12
.= v by
A2,
A6;
hence thesis by
LATTICES:def 3;
end;
reserve f,f9 for
Element of (
Funcs ((
DISJOINT_PAIRS A),
[:(
Fin A), (
Fin A):])),
g,h for
Element of (
Funcs ((
DISJOINT_PAIRS A),
[A]));
definition
let A be
set;
::
HEYTING1:def5
func
pair_diff A ->
BinOp of
[:(
Fin A), (
Fin A):] means
:
Def5: for a,b be
Element of
[:(
Fin A), (
Fin A):] holds (it
. (a,b))
= (a
\ b);
existence
proof
deffunc
F(
Element of
[:(
Fin A), (
Fin A):],
Element of
[:(
Fin A), (
Fin A):]) = ($1
\ $2);
thus ex f be
BinOp of
[:(
Fin A), (
Fin A):] st for a,b be
Element of
[:(
Fin A), (
Fin A):] holds (f
. (a,b))
=
F(a,b) from
BINOP_1:sch 4;
end;
correctness
proof
let IT,IT9 be
BinOp of
[:(
Fin A), (
Fin A):] such that
A1: for a,b be
Element of
[:(
Fin A), (
Fin A):] holds (IT
. (a,b))
= (a
\ b) and
A2: for a,b be
Element of
[:(
Fin A), (
Fin A):] holds (IT9
. (a,b))
= (a
\ b);
now
let a,b be
Element of
[:(
Fin A), (
Fin A):];
(IT
. (a,b))
= (a
\ b) by
A1;
hence (IT
. (a,b))
= (IT9
. (a,b)) by
A2;
end;
hence thesis by
BINOP_1: 2;
end;
end
definition
let A, B;
::
HEYTING1:def6
func
- B ->
Element of (
Fin (
DISJOINT_PAIRS A)) equals ((
DISJOINT_PAIRS A)
/\ {
[{ (g
. t1) : (g
. t1)
in (t1
`2 ) & t1
in B }, { (g
. t2) : (g
. t2)
in (t2
`1 ) & t2
in B }] : s
in B implies (g
. s)
in ((s
`1 )
\/ (s
`2 )) });
coherence
proof
deffunc
G(
set) = (($1
`1 )
\/ ($1
`2 ));
defpred
Q[
Function] means ($1
.: B)
c= (
union { ((s
`1 )
\/ (s
`2 )) : s
in B });
defpred
P[
Function] means s
in B implies ($1
. s)
in ((s
`1 )
\/ (s
`2 ));
deffunc
F(
Element of (
Funcs ((
DISJOINT_PAIRS A),
[A]))) =
[{ ($1
. s1) : ($1
. s1)
in (s1
`2 ) & s1
in B }, { ($1
. s2) : ($1
. s2)
in (s2
`1 ) & s2
in B }];
set N = {
F(g) : s
in B implies (g
. s)
in ((s
`1 )
\/ (s
`2 )) };
set N9 = {
F(g) : (g
.: B)
c= (
union { ((s
`1 )
\/ (s
`2 )) : s
in B }) };
set M = ((
DISJOINT_PAIRS A)
/\ N);
A1:
now
let X be
set;
assume X
in { ((s
`1 )
\/ (s
`2 )) : s
in B };
then ex s st X
= ((s
`1 )
\/ (s
`2 )) & s
in B;
hence X is
finite;
end;
A2:
now
let g, h;
defpred
P1[
set] means (g
. $1)
in ($1
`1 );
defpred
P2[
set] means (g
. $1)
in ($1
`2 );
defpred
Q1[
set] means (h
. $1)
in ($1
`1 );
defpred
Q2[
set] means (h
. $1)
in ($1
`2 );
assume
A3: (g
| B)
= (h
| B);
then
A4: for s st s
in B holds
P1[s] iff
Q1[s] by
FRAENKEL: 1;
A5: { (g
. s2) where s2 be
Element of (
DISJOINT_PAIRS A) :
P1[s2] & s2
in B }
= { (h
. t2) where t2 be
Element of (
DISJOINT_PAIRS A) :
Q1[t2] & t2
in B } from
FRAENKEL:sch 9(
A3,
A4);
A6: for s st s
in B holds
P2[s] iff
Q2[s] by
A3,
FRAENKEL: 1;
{ (g
. s1) where s1 be
Element of (
DISJOINT_PAIRS A) :
P2[s1] & s1
in B }
= { (h
. t1) where t1 be
Element of (
DISJOINT_PAIRS A) :
Q2[t1] & t1
in B } from
FRAENKEL:sch 9(
A3,
A6);
hence
F(g)
=
F(h) by
A5;
end;
A7: for g holds
P[g] implies
Q[g]
proof
let g such that
A8: for s holds s
in B implies (g
. s)
in ((s
`1 )
\/ (s
`2 ));
let x be
object;
assume x
in (g
.: B);
then
consider y be
object such that
A9: y
in (
dom g) and
A10: y
in B and
A11: x
= (g
. y) by
FUNCT_1:def 6;
reconsider y as
Element of (
DISJOINT_PAIRS A) by
A9;
A12: ((y
`1 )
\/ (y
`2 ))
in { ((s
`1 )
\/ (s
`2 )) : s
in B } by
A10;
(g
. y)
in ((y
`1 )
\/ (y
`2 )) by
A8,
A10;
hence thesis by
A11,
A12,
TARSKI:def 4;
end;
A13: {
F(g) where g be
Element of (
Funcs ((
DISJOINT_PAIRS A),
[A])) :
P[g] }
c= {
F(g) where g be
Element of (
Funcs ((
DISJOINT_PAIRS A),
[A])) :
Q[g] } from
FRAENKEL:sch 1(
A7);
A14: B is
finite;
{
G(s) : s
in B } is
finite from
FRAENKEL:sch 21(
A14);
then
A15: (
union { ((s
`1 )
\/ (s
`2 )) : s
in B }) is
finite by
A1,
FINSET_1: 7;
A16: N9 is
finite from
FRAENKEL:sch 25(
A14,
A15,
A2);
M
c= (
DISJOINT_PAIRS A) by
XBOOLE_1: 17;
hence thesis by
A13,
A16,
FINSUB_1:def 5;
end;
correctness ;
let C;
::
HEYTING1:def7
func B
=>> C ->
Element of (
Fin (
DISJOINT_PAIRS A)) equals ((
DISJOINT_PAIRS A)
/\ { (
FinPairUnion (B,((
pair_diff A)
.: (f,(
incl (
DISJOINT_PAIRS A)))))) : (f
.: B)
c= C });
coherence
proof
deffunc
F(
Element of (
Funcs ((
DISJOINT_PAIRS A),
[:(
Fin A), (
Fin A):]))) = (
FinPairUnion (B,((
pair_diff A)
.: ($1,(
incl (
DISJOINT_PAIRS A))))));
set N = { (
FinPairUnion (B,((
pair_diff A)
.: (f,(
incl (
DISJOINT_PAIRS A)))))) : (f
.: B)
c= C };
set IT = ((
DISJOINT_PAIRS A)
/\ N);
A17: IT
c= (
DISJOINT_PAIRS A) by
XBOOLE_1: 17;
A18:
now
let f, f9;
assume (f
| B)
= (f9
| B);
then (((
pair_diff A)
.: (f,(
incl (
DISJOINT_PAIRS A))))
| B)
= (((
pair_diff A)
.: (f9,(
incl (
DISJOINT_PAIRS A))))
| B) by
FUNCOP_1: 23;
hence
F(f)
=
F(f9) by
NORMFORM: 22;
end;
A19: C is
finite;
A20: B is
finite;
{
F(f) : (f
.: B)
c= C } is
finite from
FRAENKEL:sch 25(
A20,
A19,
A18);
hence thesis by
A17,
FINSUB_1:def 5;
end;
correctness ;
end
theorem ::
HEYTING1:11
Th11: c
in (
- B) implies ex g st (for s st s
in B holds (g
. s)
in ((s
`1 )
\/ (s
`2 ))) & c
=
[{ (g
. t1) : (g
. t1)
in (t1
`2 ) & t1
in B }, { (g
. t2) : (g
. t2)
in (t2
`1 ) & t2
in B }]
proof
assume c
in (
- B);
then c
in {
[{ (g
. t1) : (g
. t1)
in (t1
`2 ) & t1
in B }, { (g
. t2) : (g
. t2)
in (t2
`1 ) & t2
in B }] : s
in B implies (g
. s)
in ((s
`1 )
\/ (s
`2 )) } by
XBOOLE_0:def 4;
then ex g st c
=
[{ (g
. t1) : (g
. t1)
in (t1
`2 ) & t1
in B }, { (g
. t2) : (g
. t2)
in (t2
`1 ) & t2
in B }] & for s st s
in B holds (g
. s)
in ((s
`1 )
\/ (s
`2 ));
hence thesis;
end;
theorem ::
HEYTING1:12
Th12:
[
{} ,
{} ] is
Element of (
DISJOINT_PAIRS A)
proof
[
{} ,
{} ]
=
[(
{}. A), (
{}. A)] & (
[
{} ,
{} ]
`1 )
misses (
[
{} ,
{} ]
`2 );
hence thesis by
NORMFORM: 29;
end;
theorem ::
HEYTING1:13
Th13: for K st K
=
{} holds (
- K)
=
{
[
{} ,
{} ]}
proof
let K;
assume
A1: K
=
{} ;
A2: {
[{ (g
. t1) : (g
. t1)
in (t1
`2 ) & t1
in K }, { (g
. t2) : (g
. t2)
in (t2
`1 ) & t2
in K }] : s
in K implies (g
. s)
in ((s
`1 )
\/ (s
`2 )) }
=
{
[
{} ,
{} ]}
proof
thus {
[{ (g
. t1) : (g
. t1)
in (t1
`2 ) & t1
in K }, { (g
. t2) : (g
. t2)
in (t2
`1 ) & t2
in K }] : s
in K implies (g
. s)
in ((s
`1 )
\/ (s
`2 )) }
c=
{
[
{} ,
{} ]}
proof
let x be
object;
assume x
in {
[{ (g
. t1) : (g
. t1)
in (t1
`2 ) & t1
in K }, { (g
. t2) : (g
. t2)
in (t2
`1 ) & t2
in K }] : s
in K implies (g
. s)
in ((s
`1 )
\/ (s
`2 )) };
then
consider g such that
A3: x
=
[{ (g
. t1) : (g
. t1)
in (t1
`2 ) & t1
in K }, { (g
. t2) : (g
. t2)
in (t2
`1 ) & t2
in K }] and s
in K implies (g
. s)
in ((s
`1 )
\/ (s
`2 ));
A4: (x
`2 )
= { (g
. t2) : (g
. t2)
in (t2
`1 ) & t2
in K } by
A3;
A5:
now
set y = the
Element of (x
`2 );
assume (x
`2 )
<>
{} ;
then y
in (x
`2 );
then ex t1 st y
= (g
. t1) & (g
. t1)
in (t1
`1 ) & t1
in K by
A4;
hence contradiction by
A1;
end;
A6: (x
`1 )
= { (g
. t1) : (g
. t1)
in (t1
`2 ) & t1
in K } by
A3;
now
set y = the
Element of (x
`1 );
assume (x
`1 )
<>
{} ;
then y
in (x
`1 );
then ex t1 st y
= (g
. t1) & (g
. t1)
in (t1
`2 ) & t1
in K by
A6;
hence contradiction by
A1;
end;
then x
=
[
{} ,
{} ] by
A3,
A5;
hence thesis by
TARSKI:def 1;
end;
thus
{
[
{} ,
{} ]}
c= {
[{ (g
. t1) : (g
. t1)
in (t1
`2 ) & t1
in K }, { (g
. t2) : (g
. t2)
in (t2
`1 ) & t2
in K }] : s
in K implies (g
. s)
in ((s
`1 )
\/ (s
`2 )) }
proof
set g = the
Element of (
Funcs ((
DISJOINT_PAIRS A),
[A]));
let x be
object;
assume x
in
{
[
{} ,
{} ]};
then
A7: x
=
[
{} ,
{} ] by
TARSKI:def 1;
A8:
now
set y = the
Element of { (g
. t1) : (g
. t1)
in (t1
`2 ) & t1
in K };
assume { (g
. t1) : (g
. t1)
in (t1
`2 ) & t1
in K }
<>
{} ;
then y
in { (g
. t1) : (g
. t1)
in (t1
`2 ) & t1
in K };
then ex t1 st y
= (g
. t1) & (g
. t1)
in (t1
`2 ) & t1
in K;
hence contradiction by
A1;
end;
A9:
now
set y = the
Element of { (g
. t2) : (g
. t2)
in (t2
`1 ) & t2
in K };
assume { (g
. t2) : (g
. t2)
in (t2
`1 ) & t2
in K }
<>
{} ;
then y
in { (g
. t2) : (g
. t2)
in (t2
`1 ) & t2
in K };
then ex t1 st y
= (g
. t1) & (g
. t1)
in (t1
`1 ) & t1
in K;
hence contradiction by
A1;
end;
s
in K implies (g
. s)
in ((s
`1 )
\/ (s
`2 )) by
A1;
hence thesis by
A7,
A8,
A9;
end;
end;
[
{} ,
{} ] is
Element of (
DISJOINT_PAIRS A) by
Th12;
hence thesis by
A2,
ZFMISC_1: 46;
end;
theorem ::
HEYTING1:14
Th14: for K, L st K
=
{} & L
=
{} holds (K
=>> L)
=
{
[
{} ,
{} ]}
proof
let K, L;
assume that
A1: K
=
{} and L
=
{} ;
A2:
{}
= (
{}. A);
A3: K
= (
{}. (
DISJOINT_PAIRS A)) by
A1;
A4:
now
let f;
thus (
FinPairUnion (K,((
pair_diff A)
.: (f,(
incl (
DISJOINT_PAIRS A))))))
= (
the_unity_wrt (
FinPairUnion A)) by
A3,
NORMFORM: 18,
SETWISEO: 31
.=
[
{} ,
{} ] by
A2,
NORMFORM: 19;
end;
A5: { (
FinPairUnion (K,((
pair_diff A)
.: (f,(
incl (
DISJOINT_PAIRS A)))))) : (f
.: K)
c= L }
=
{
[
{} ,
{} ]}
proof
thus { (
FinPairUnion (K,((
pair_diff A)
.: (f,(
incl (
DISJOINT_PAIRS A)))))) : (f
.: K)
c= L }
c=
{
[
{} ,
{} ]}
proof
let x be
object;
assume x
in { (
FinPairUnion (K,((
pair_diff A)
.: (f,(
incl (
DISJOINT_PAIRS A)))))) : (f
.: K)
c= L };
then ex f st x
= (
FinPairUnion (K,((
pair_diff A)
.: (f,(
incl (
DISJOINT_PAIRS A)))))) & (f
.: K)
c= L;
then x
=
[
{} ,
{} ] by
A4;
hence thesis by
TARSKI:def 1;
end;
thus
{
[
{} ,
{} ]}
c= { (
FinPairUnion (K,((
pair_diff A)
.: (f,(
incl (
DISJOINT_PAIRS A)))))) : (f
.: K)
c= L }
proof
set f9 = the
Element of (
Funcs ((
DISJOINT_PAIRS A),
[:(
Fin A), (
Fin A):]));
let x be
object;
assume x
in
{
[
{} ,
{} ]};
then x
=
[
{} ,
{} ] by
TARSKI:def 1;
then
A6: x
= (
FinPairUnion (K,((
pair_diff A)
.: (f9,(
incl (
DISJOINT_PAIRS A)))))) by
A4;
(f9
.: K)
c= L by
A1;
hence thesis by
A6;
end;
end;
[
{} ,
{} ] is
Element of (
DISJOINT_PAIRS A) by
Th12;
hence thesis by
A5,
ZFMISC_1: 46;
end;
theorem ::
HEYTING1:15
Th15: for a be
Element of (
DISJOINT_PAIRS
{} ) holds a
=
[
{} ,
{} ]
proof
let a be
Element of (
DISJOINT_PAIRS
{} );
consider x,y be
Element of (
Fin
{} ) such that
A1: a
=
[x, y] by
DOMAIN_1: 1;
x
=
{} by
FINSUB_1: 15,
TARSKI:def 1;
hence thesis by
A1,
FINSUB_1: 15,
TARSKI:def 1;
end;
theorem ::
HEYTING1:16
Th16: (
DISJOINT_PAIRS
{} )
=
{
[
{} ,
{} ]}
proof
thus (
DISJOINT_PAIRS
{} )
c=
{
[
{} ,
{} ]}
proof
let x be
object;
assume x
in (
DISJOINT_PAIRS
{} );
then x
=
[
{} ,
{} ] by
Th15;
hence thesis by
TARSKI:def 1;
end;
thus
{
[
{} ,
{} ]}
c= (
DISJOINT_PAIRS
{} )
proof
let x be
object;
assume x
in
{
[
{} ,
{} ]};
then x
=
[
{} ,
{} ] by
TARSKI:def 1;
then x is
Element of (
DISJOINT_PAIRS
{} ) by
Th12;
hence thesis;
end;
end;
Lm4: (
Fin (
DISJOINT_PAIRS
{} ))
=
{
{} ,
{
[
{} ,
{} ]}}
proof
thus (
Fin (
DISJOINT_PAIRS
{} ))
= (
bool (
DISJOINT_PAIRS
{} )) by
Th16,
FINSUB_1: 14
.=
{
{} ,
{
[
{} ,
{} ]}} by
Th16,
ZFMISC_1: 24;
end;
theorem ::
HEYTING1:17
Th17:
{
[
{} ,
{} ]} is
Element of (
Normal_forms_on A)
proof
[
{} ,
{} ] is
Element of (
DISJOINT_PAIRS A) by
Th12;
then
{
[
{} ,
{} ]}
c= (
DISJOINT_PAIRS A) by
ZFMISC_1: 31;
then
reconsider B =
{
[
{} ,
{} ]} as
Element of (
Fin (
DISJOINT_PAIRS A)) by
FINSUB_1:def 5;
now
let a,b be
Element of (
DISJOINT_PAIRS A);
assume that
A1: a
in B and
A2: b
in B and a
c= b;
a
=
[
{} ,
{} ] by
A1,
TARSKI:def 1;
hence a
= b by
A2,
TARSKI:def 1;
end;
hence thesis by
NORMFORM: 33;
end;
theorem ::
HEYTING1:18
Th18: c
in (B
=>> C) implies ex f st (f
.: B)
c= C & c
= (
FinPairUnion (B,((
pair_diff A)
.: (f,(
incl (
DISJOINT_PAIRS A))))))
proof
assume c
in (B
=>> C);
then c
in { (
FinPairUnion (B,((
pair_diff A)
.: (f,(
incl (
DISJOINT_PAIRS A)))))) : (f
.: B)
c= C } by
XBOOLE_0:def 4;
then ex f st c
= (
FinPairUnion (B,((
pair_diff A)
.: (f,(
incl (
DISJOINT_PAIRS A)))))) & (f
.: B)
c= C;
hence thesis;
end;
theorem ::
HEYTING1:19
Th19: (K
^
{a})
=
{} implies ex b st b
in (
- K) & b
c= a
proof
assume
A1: (K
^
{a})
=
{} ;
now
per cases ;
suppose
A2: A is non
empty;
defpred
P[
set,
set] means $2
in ((($1
`1 )
/\ (a
`2 ))
\/ (($1
`2 )
/\ (a
`1 )));
A3: A
=
[A] by
A2,
Def2;
A4:
now
A5: a
in
{a} by
TARSKI:def 1;
let s;
assume s
in K;
then not (s
\/ a)
in (
DISJOINT_PAIRS A) by
A1,
A5,
NORMFORM: 35;
then
consider x be
Element of
[A] such that
A6: x
in (s
`1 ) & x
in (a
`2 ) or x
in (a
`1 ) & x
in (s
`2 ) by
A3,
NORMFORM: 28;
take x;
x
in ((s
`1 )
/\ (a
`2 )) or x
in ((s
`2 )
/\ (a
`1 )) by
A6,
XBOOLE_0:def 4;
hence
P[s, x] by
XBOOLE_0:def 3;
end;
consider g such that
A7: s
in K implies
P[s, (g
. s)] from
FRAENKEL:sch 27(
A4);
set c1 = { (g
. t1) : (g
. t1)
in (t1
`2 ) & t1
in K }, c2 = { (g
. t2) : (g
. t2)
in (t2
`1 ) & t2
in K };
A8: c2
c= (a
`2 )
proof
let x be
object;
assume x
in c2;
then
consider t such that
A9: x
= (g
. t) & (g
. t)
in (t
`1 ) and
A10: t
in K;
(g
. t)
in (((t
`1 )
/\ (a
`2 ))
\/ ((t
`2 )
/\ (a
`1 ))) by
A7,
A10;
then (g
. t)
in ((t
`1 )
/\ (a
`2 )) or (g
. t)
in ((t
`2 )
/\ (a
`1 )) by
XBOOLE_0:def 3;
then (g
. t)
in (t
`1 ) & (g
. t)
in (a
`2 ) or (g
. t)
in (t
`2 ) & (g
. t)
in (a
`1 ) by
XBOOLE_0:def 4;
hence thesis by
A9,
NORMFORM: 27;
end;
A11: c1
c= (a
`1 )
proof
let x be
object;
assume x
in c1;
then
consider t such that
A12: x
= (g
. t) & (g
. t)
in (t
`2 ) and
A13: t
in K;
(g
. t)
in (((t
`1 )
/\ (a
`2 ))
\/ ((t
`2 )
/\ (a
`1 ))) by
A7,
A13;
then (g
. t)
in ((t
`1 )
/\ (a
`2 )) or (g
. t)
in ((t
`2 )
/\ (a
`1 )) by
XBOOLE_0:def 3;
then (g
. t)
in (t
`1 ) & (g
. t)
in (a
`2 ) or (g
. t)
in (t
`2 ) & (g
. t)
in (a
`1 ) by
XBOOLE_0:def 4;
hence thesis by
A12,
NORMFORM: 27;
end;
then
reconsider c =
[c1, c2] as
Element of (
DISJOINT_PAIRS A) by
A8,
NORMFORM: 30;
take c;
now
let s;
assume s
in K;
then (g
. s)
in (((s
`1 )
/\ (a
`2 ))
\/ ((s
`2 )
/\ (a
`1 ))) by
A7;
then (g
. s)
in ((s
`1 )
/\ (a
`2 )) or (g
. s)
in ((s
`2 )
/\ (a
`1 )) by
XBOOLE_0:def 3;
then (g
. s)
in (s
`1 ) & (g
. s)
in (a
`2 ) or (g
. s)
in (s
`2 ) & (g
. s)
in (a
`1 ) by
XBOOLE_0:def 4;
hence (g
. s)
in ((s
`1 )
\/ (s
`2 )) by
XBOOLE_0:def 3;
end;
then c
in {
[{ (h
. t1) : (h
. t1)
in (t1
`2 ) & t1
in K }, { (h
. t2) : (h
. t2)
in (t2
`1 ) & t2
in K }] : s
in K implies (h
. s)
in ((s
`1 )
\/ (s
`2 )) };
hence c
in (
- K) by
XBOOLE_0:def 4;
thus c
c= a by
A11,
A8;
end;
suppose
A14: not A is non
empty;
reconsider Z =
{
[
{} ,
{} ]} as
Element of (
Normal_forms_on
{} ) by
Th17;
take b = a;
A15: a
=
[
{} ,
{} ] by
A14,
Th15;
(
mi (Z
^ Z))
<>
{} by
Th3;
then K
<>
{
[
{} ,
{} ]} by
A1,
A14,
A15,
NORMFORM: 40,
XBOOLE_1: 3;
then K
=
{} by
A14,
Lm4,
TARSKI:def 2;
then (
- K)
=
{
[
{} ,
{} ]} by
Th13;
hence b
in (
- K) by
A15,
TARSKI:def 1;
thus b
c= a;
end;
end;
hence thesis;
end;
Lm5:
now
let A, K, b, f;
thus (((
pair_diff A)
.: (f,(
incl (
DISJOINT_PAIRS A))))
. b)
= ((
pair_diff A)
. ((f
. b),((
incl (
DISJOINT_PAIRS A))
. b))) by
FUNCOP_1: 37
.= ((
pair_diff A)
. ((f
. b),b)) by
FUNCT_1: 18
.= ((f
. b)
\ b) by
Def5;
end;
theorem ::
HEYTING1:20
Th20: (for c st c
in u holds ex b st b
in v & b
c= (c
\/ a)) implies ex b st b
in ((
@ u)
=>> (
@ v)) & b
c= a
proof
defpred
P[
Element of (
DISJOINT_PAIRS A),
Element of
[:(
Fin A), (
Fin A):]] means $2
in (
@ v) & $2
c= ($1
\/ a);
assume
A1: for b st b
in u holds ex c st c
in v & c
c= (b
\/ a);
A2:
now
let b;
assume b
in (
@ u);
then
consider c such that
A3: c
in v & c
c= (b
\/ a) by
A1;
reconsider c as
Element of
[:(
Fin A), (
Fin A):];
take x = c;
thus
P[b, x] by
A3;
end;
consider f9 such that
A4: b
in (
@ u) implies
P[b, (f9
. b)] from
FRAENKEL:sch 27(
A2);
set d = (
FinPairUnion ((
@ u),((
pair_diff A)
.: (f9,(
incl (
DISJOINT_PAIRS A))))));
A5:
now
let s;
assume s
in u;
then
A6: (f9
. s)
c= (a
\/ s) by
A4;
(((
pair_diff A)
.: (f9,(
incl (
DISJOINT_PAIRS A))))
. s)
= ((f9
. s)
\ s) by
Lm5;
hence (((
pair_diff A)
.: (f9,(
incl (
DISJOINT_PAIRS A))))
. s)
c= a by
A6,
NORMFORM: 15;
end;
then
reconsider d as
Element of (
DISJOINT_PAIRS A) by
NORMFORM: 21,
NORMFORM: 26;
take d;
b
in u implies (f9
. b)
in v by
A4;
then (f9
.: (
@ u))
c= v by
SETWISEO: 10;
then d
in { (
FinPairUnion ((
@ u),((
pair_diff A)
.: (f,(
incl (
DISJOINT_PAIRS A)))))) : (f
.: (
@ u))
c= v };
hence d
in ((
@ u)
=>> (
@ v)) by
XBOOLE_0:def 4;
thus thesis by
A5,
NORMFORM: 21;
end;
Lm6: a
in (K
^ (K
=>> (
@ u))) implies ex b st b
in u & b
c= a
proof
assume a
in (K
^ (K
=>> (
@ u)));
then
consider b, c such that
A1: b
in K and
A2: c
in (K
=>> (
@ u)) and
A3: a
= (b
\/ c) by
NORMFORM: 34;
consider f such that
A4: (f
.: K)
c= u and
A5: c
= (
FinPairUnion (K,((
pair_diff A)
.: (f,(
incl (
DISJOINT_PAIRS A)))))) by
A2,
Th18;
A6: (f
. b)
in (f
.: K) by
A1,
FUNCT_2: 35;
u
= (
@ u);
then
reconsider d = (f
. b) as
Element of (
DISJOINT_PAIRS A) by
A4,
A6,
SETWISEO: 9;
take d;
thus d
in u by
A4,
A6;
(((
pair_diff A)
.: (f,(
incl (
DISJOINT_PAIRS A))))
. b)
= ((f
. b)
\ b) by
Lm5;
hence thesis by
A1,
A3,
A5,
NORMFORM: 14,
NORMFORM: 16;
end;
theorem ::
HEYTING1:21
Th21: (K
^ (
- K))
=
{}
proof
set x = the
Element of (K
^ (
- K));
assume
A1: (K
^ (
- K))
<>
{} ;
then
reconsider a = x as
Element of (
DISJOINT_PAIRS A) by
SETWISEO: 9;
consider b, c such that
A2: b
in K and
A3: c
in (
- K) and
A4: a
= (b
\/ c) by
A1,
NORMFORM: 34;
A5: (a
`1 )
= ((b
`1 )
\/ (c
`1 )) by
A4;
A6: (a
`2 )
= ((b
`2 )
\/ (c
`2 )) by
A4;
consider g such that
A7: s
in K implies (g
. s)
in ((s
`1 )
\/ (s
`2 )) and
A8: c
=
[{ (g
. t1) : (g
. t1)
in (t1
`2 ) & t1
in K }, { (g
. t2) : (g
. t2)
in (t2
`1 ) & t2
in K }] by
A3,
Th11;
A9: (g
. b)
in ((b
`1 )
\/ (b
`2 )) by
A2,
A7;
now
per cases by
A9,
XBOOLE_0:def 3;
case
A10: (g
. b)
in (b
`1 );
hence (g
. b)
in (a
`1 ) by
A5,
XBOOLE_0:def 3;
(g
. b)
in { (g
. t2) : (g
. t2)
in (t2
`1 ) & t2
in K } by
A2,
A10;
then (g
. b)
in (c
`2 ) by
A8;
hence (g
. b)
in (a
`2 ) by
A6,
XBOOLE_0:def 3;
end;
case
A11: (g
. b)
in (b
`2 );
hence (g
. b)
in (a
`2 ) by
A6,
XBOOLE_0:def 3;
(g
. b)
in { (g
. t1) : (g
. t1)
in (t1
`2 ) & t1
in K } by
A2,
A11;
then (g
. b)
in (c
`1 ) by
A8;
hence (g
. b)
in (a
`1 ) by
A5,
XBOOLE_0:def 3;
end;
end;
then ((a
`1 )
/\ (a
`2 ))
<>
{} by
XBOOLE_0:def 4;
then (a
`1 )
meets (a
`2 );
hence contradiction by
NORMFORM: 25;
end;
definition
let A;
::
HEYTING1:def8
func
pseudo_compl (A) ->
UnOp of the
carrier of (
NormForm A) means
:
Def8: (it
. u)
= (
mi (
- (
@ u)));
existence
proof
deffunc
F(
Element of (
NormForm A)) = (
mi (
- (
@ $1)));
consider IT be
Function of the
carrier of (
NormForm A), (
Normal_forms_on A) such that
A1: (IT
. u)
=
F(u) from
FUNCT_2:sch 4;
reconsider IT as
UnOp of the
carrier of (
NormForm A) by
NORMFORM:def 12;
take IT;
let u;
thus thesis by
A1;
end;
correctness
proof
let IT,IT9 be
UnOp of the
carrier of (
NormForm A);
assume that
A2: (IT
. u)
= (
mi (
- (
@ u))) and
A3: (IT9
. u)
= (
mi (
- (
@ u)));
now
let u;
thus (IT
. u)
= (
mi (
- (
@ u))) by
A2
.= (IT9
. u) by
A3;
end;
hence IT
= IT9 by
FUNCT_2: 63;
end;
::
HEYTING1:def9
func
StrongImpl (A) ->
BinOp of the
carrier of (
NormForm A) means
:
Def9: (it
. (u,v))
= (
mi ((
@ u)
=>> (
@ v)));
existence
proof
deffunc
F(
Element of (
NormForm A),
Element of (
NormForm A)) = (
mi ((
@ $1)
=>> (
@ $2)));
consider IT be
Function of
[:the
carrier of (
NormForm A), the
carrier of (
NormForm A):], (
Normal_forms_on A) such that
A4: (IT
. (u,v))
=
F(u,v) from
BINOP_1:sch 4;
reconsider IT as
BinOp of the
carrier of (
NormForm A) by
NORMFORM:def 12;
take IT;
let u, v;
thus thesis by
A4;
end;
correctness
proof
let IT,IT9 be
BinOp of the
carrier of (
NormForm A);
assume that
A5: (IT
. (u,v))
= (
mi ((
@ u)
=>> (
@ v))) and
A6: (IT9
. (u,v))
= (
mi ((
@ u)
=>> (
@ v)));
now
let u, v;
thus (IT
. (u,v))
= (
mi ((
@ u)
=>> (
@ v))) by
A5
.= (IT9
. (u,v)) by
A6;
end;
hence IT
= IT9 by
BINOP_1: 2;
end;
let u;
::
HEYTING1:def10
func
SUB u ->
Element of (
Fin the
carrier of (
NormForm A)) equals (
bool u);
coherence
proof
A7: (
bool u)
c= the
carrier of (
NormForm A)
proof
let x be
object;
assume x
in (
bool u);
then x is
Element of (
NormForm A) by
Th5;
hence thesis;
end;
u
= (
@ u);
hence thesis by
A7,
FINSUB_1:def 5;
end;
correctness ;
::
HEYTING1:def11
func
diff (u) ->
UnOp of the
carrier of (
NormForm A) means
:
Def11: (it
. v)
= (u
\ v);
existence
proof
deffunc
F(
Element of (
NormForm A)) = ((
@ u)
\ (
@ $1));
consider IT be
Function of the
carrier of (
NormForm A), (
Fin (
DISJOINT_PAIRS A)) such that
A8: (IT
. v)
=
F(v) from
FUNCT_2:sch 4;
now
let v be
Element of (
NormForm A);
((
@ u)
\ (
@ v))
in (
Normal_forms_on A) by
Th4,
XBOOLE_1: 36;
then (IT
. v)
in (
Normal_forms_on A) by
A8;
hence (IT
. v)
in the
carrier of (
NormForm A) by
NORMFORM:def 12;
end;
then
reconsider IT as
UnOp of the
carrier of (
NormForm A) by
Th1;
take IT;
let v;
v
= (
@ v);
hence thesis by
A8;
end;
correctness
proof
let IT,IT9 be
UnOp of the
carrier of (
NormForm A);
assume that
A9: (IT
. v)
= (u
\ v) and
A10: (IT9
. v)
= (u
\ v);
now
let v be
Element of (
NormForm A);
thus (IT
. v)
= (u
\ v) by
A9
.= (IT9
. v) by
A10;
end;
hence IT
= IT9 by
FUNCT_2: 63;
end;
end
deffunc
J(
set) = the
L_join of (
NormForm $1);
deffunc
M(
set) = the
L_meet of (
NormForm $1);
Lm7: for u, v st v
in (
SUB u) holds (v
"\/" ((
diff u)
. v))
= u
proof
let u, v;
assume
A1: v
in (
SUB u);
A2: ((
@ u)
\ (
@ v))
= (
@ ((
diff u)
. v)) by
Def11;
thus (v
"\/" ((
diff u)
. v))
= (
J(A)
. (v,((
diff u)
. v))) by
LATTICES:def 1
.= (
mi ((
@ v)
\/ ((
@ u)
\ (
@ v)))) by
A2,
NORMFORM:def 12
.= (
mi (
@ u)) by
A1,
XBOOLE_1: 45
.= u by
NORMFORM: 42;
end;
theorem ::
HEYTING1:22
Th22: ((
diff u)
. v)
[= u
proof
((
diff u)
. v)
= (u
\ v) by
Def11;
then for a st a
in ((
diff u)
. v) holds ex b st b
in u & b
c= a;
hence thesis by
Lm3;
end;
Lm8: ex v st v
in (
SUB u) & ((
@ v)
^
{a})
=
{} & for b st b
in ((
diff u)
. v) holds (b
\/ a)
in (
DISJOINT_PAIRS A)
proof
defpred
Q[
set] means not contradiction;
deffunc
F(
set) = $1;
defpred
P[
Element of (
DISJOINT_PAIRS A)] means not ($1
\/ a)
in (
DISJOINT_PAIRS A);
set M = {
F(s) :
F(s)
in u &
P[s] };
deffunc
F1(
Element of (
DISJOINT_PAIRS A)) = ($1
\/ a);
defpred
P1[
set] means $1
in u;
defpred
P2[
Element of (
DISJOINT_PAIRS A)] means
P1[$1] &
P[$1];
A1: {
F1(t) where t be
Element of (
DISJOINT_PAIRS A) : t
in { s where s be
Element of (
DISJOINT_PAIRS A) :
P2[s] } &
Q[t] }
= {
F1(s) where s be
Element of (
DISJOINT_PAIRS A) :
P2[s] &
Q[s] } from
FRAENKEL:sch 14;
defpred
F[
set,
set] means $1
in M;
defpred
D[
set,
set] means $1
in M & $2
in
{a};
A2: {
F1(s1) :
P2[s1] &
Q[s1] }
= {
F1(s2) :
P2[s2] }
proof
thus {
F1(s1) :
P2[s1] &
Q[s1] }
c= {
F1(s2) :
P2[s2] }
proof
let x be
object;
assume x
in {
F1(s1) :
P2[s1] &
Q[s1] };
then ex s1 st x
=
F1(s1) &
P2[s1] &
Q[s1];
hence thesis;
end;
let x be
object;
assume x
in {
F1(s1) :
P2[s1] };
then ex s1 st x
=
F1(s1) &
P2[s1];
hence thesis;
end;
A3: M
c= u from
FRAENKEL:sch 17;
then
reconsider v = M as
Element of (
NormForm A) by
Th5;
take v;
thus v
in (
SUB u) by
A3;
defpred
E[
set,
set] means $2
= a & $1
in M;
deffunc
G(
Element of (
DISJOINT_PAIRS A),
Element of (
DISJOINT_PAIRS A)) = ($1
\/ $2);
A4: {
F1(t) : t
in { s :
P2[s] } &
Q[t] }
= {
F1(t1) : t1
in { s1 :
P2[s1] } }
proof
thus {
F1(t) : t
in { s :
P2[s] } &
Q[t] }
c= {
F1(t1) : t1
in { s1 :
P2[s1] } }
proof
let x be
object;
assume x
in {
F1(t) : t
in { s :
P2[s] } &
Q[t] };
then ex t st x
=
F1(t) & t
in { s :
P2[s] } &
Q[t];
hence thesis;
end;
let x be
object;
assume x
in {
F1(t) : t
in { s :
P2[s] } };
then ex t st x
=
F1(t) & t
in { s :
P2[s] };
hence thesis;
end;
A5: {
G(s,t) where t be
Element of (
DISJOINT_PAIRS A) : t
= a &
F[s, t] }
= {
G(s9,a) :
F[s9, a] } from
FRAENKEL:sch 20;
A6:
D[s, t] iff
E[s, t] by
TARSKI:def 1;
A7: {
G(s,t) :
D[s, t] }
= {
G(s9,t9) :
E[s9, t9] } from
FRAENKEL:sch 4(
A6);
{
F1(s) :
P1[s] & not
F1(s)
in (
DISJOINT_PAIRS A) }
misses (
DISJOINT_PAIRS A) from
FRAENKEL:sch 18;
hence ((
@ v)
^
{a})
=
{} by
A1,
A4,
A2,
A7,
A5;
let b;
assume b
in ((
diff u)
. v);
then
A8: b
in (u
\ v) by
Def11;
then not b
in M by
XBOOLE_0:def 5;
hence thesis by
A8;
end;
theorem ::
HEYTING1:23
Th23: (u
"/\" ((
pseudo_compl A)
. u))
= (
Bottom (
NormForm A))
proof
reconsider zero =
{} as
Element of (
Normal_forms_on A) by
NORMFORM: 31;
A1: (
@ ((
pseudo_compl A)
. u))
= (
mi (
- (
@ u))) by
Def8;
thus (u
"/\" ((
pseudo_compl A)
. u))
= (
M(A)
. (u,((
pseudo_compl A)
. u))) by
LATTICES:def 2
.= (
mi ((
@ u)
^ (
mi (
- (
@ u))))) by
A1,
NORMFORM:def 12
.= (
mi ((
@ u)
^ (
- (
@ u)))) by
NORMFORM: 51
.= (
mi zero) by
Th21
.=
{} by
NORMFORM: 40,
XBOOLE_1: 3
.= (
Bottom (
NormForm A)) by
NORMFORM: 57;
end;
theorem ::
HEYTING1:24
Th24: (u
"/\" ((
StrongImpl A)
. (u,v)))
[= v
proof
now
let a;
assume
A1: a
in (u
"/\" ((
StrongImpl A)
. (u,v)));
A2: (
@ ((
StrongImpl A)
. (u,v)))
= (
mi ((
@ u)
=>> (
@ v))) by
Def9;
(u
"/\" ((
StrongImpl A)
. (u,v)))
= (
M(A)
. (u,((
StrongImpl A)
. (u,v)))) by
LATTICES:def 2
.= (
mi ((
@ u)
^ (
mi ((
@ u)
=>> (
@ v))))) by
A2,
NORMFORM:def 12
.= (
mi ((
@ u)
^ ((
@ u)
=>> (
@ v)))) by
NORMFORM: 51;
then a
in ((
@ u)
^ ((
@ u)
=>> (
@ v))) by
A1,
NORMFORM: 36;
hence ex b st b
in v & b
c= a by
Lm6;
end;
hence thesis by
Lm3;
end;
theorem ::
HEYTING1:25
Th25: ((
@ u)
^
{a})
=
{} implies ((
Atom A)
. a)
[= ((
pseudo_compl A)
. u)
proof
assume
A1: ((
@ u)
^
{a})
=
{} ;
now
let c;
assume c
in ((
Atom A)
. a);
then c
= a by
Th6;
then
consider b such that
A2: b
in (
- (
@ u)) and
A3: b
c= c by
A1,
Th19;
consider d such that
A4: d
c= b and
A5: d
in (
mi (
- (
@ u))) by
A2,
NORMFORM: 41;
take e = d;
thus e
in ((
pseudo_compl A)
. u) by
A5,
Def8;
thus e
c= c by
A3,
A4,
NORMFORM: 2;
end;
hence thesis by
Lm3;
end;
theorem ::
HEYTING1:26
Th26: (for b st b
in u holds (b
\/ a)
in (
DISJOINT_PAIRS A)) & (u
"/\" ((
Atom A)
. a))
[= w implies ((
Atom A)
. a)
[= ((
StrongImpl A)
. (u,w))
proof
assume that
A1: for b st b
in u holds (b
\/ a)
in (
DISJOINT_PAIRS A) and
A2: (u
"/\" ((
Atom A)
. a))
[= w;
A3:
now
let c;
assume
A4: c
in u;
then
A5: (c
\/ a) is
Element of (
DISJOINT_PAIRS A) by
A1;
a
in (
@ ((
Atom A)
. a)) by
Th7;
then (c
\/ a)
in ((
@ u)
^ (
@ ((
Atom A)
. a))) by
A1,
A4,
NORMFORM: 35;
then
consider b such that
A6: b
c= (c
\/ a) and
A7: b
in (
mi ((
@ u)
^ (
@ ((
Atom A)
. a)))) by
A5,
NORMFORM: 41;
b
in (
M(A)
. (u,((
Atom A)
. a))) by
A7,
NORMFORM:def 12;
then b
in (u
"/\" ((
Atom A)
. a)) by
LATTICES:def 2;
then
consider d such that
A8: d
in w and
A9: d
c= b by
A2,
Lm2;
take e = d;
thus e
in w by
A8;
thus e
c= (c
\/ a) by
A6,
A9,
NORMFORM: 2;
end;
now
let c;
assume c
in ((
Atom A)
. a);
then c
= a by
Th6;
then
consider b such that
A10: b
in ((
@ u)
=>> (
@ w)) and
A11: b
c= c by
A3,
Th20;
consider d such that
A12: d
c= b and
A13: d
in (
mi ((
@ u)
=>> (
@ w))) by
A10,
NORMFORM: 41;
take e = d;
thus e
in ((
StrongImpl A)
. (u,w)) by
A13,
Def9;
thus e
c= c by
A11,
A12,
NORMFORM: 2;
end;
hence thesis by
Lm3;
end;
Lm9:
now
let A, u, v;
deffunc
IMPL(
Element of (
NormForm A),
Element of (
NormForm A)) = (
FinJoin ((
SUB $1),(
M(A)
.: ((
pseudo_compl A),((
StrongImpl A)
[:] ((
diff $1),$2))))));
set Psi = (
M(A)
.: ((
pseudo_compl A),((
StrongImpl A)
[:] ((
diff u),v))));
A1:
now
let w;
set u2 = ((
diff u)
. w), pc = ((
pseudo_compl A)
. w), si = ((
StrongImpl A)
. (u2,v));
A2: (w
"/\" (pc
"/\" si))
= ((w
"/\" pc)
"/\" si) by
LATTICES:def 7
.= ((
Bottom (
NormForm A))
"/\" si) by
Th23
.= (
Bottom (
NormForm A));
assume w
in (
SUB u);
then
A3: (w
"\/" u2)
= u by
Lm7;
((
M(A)
[;] (u,Psi))
. w)
= (
M(A)
. (u,(Psi
. w))) by
FUNCOP_1: 53
.= (u
"/\" (Psi
. w)) by
LATTICES:def 2
.= (u
"/\" (
M(A)
. (pc,(((
StrongImpl A)
[:] ((
diff u),v))
. w)))) by
FUNCOP_1: 37
.= (u
"/\" (pc
"/\" (((
StrongImpl A)
[:] ((
diff u),v))
. w))) by
LATTICES:def 2
.= (u
"/\" (pc
"/\" si)) by
FUNCOP_1: 48
.= ((w
"/\" (pc
"/\" si))
"\/" (u2
"/\" (pc
"/\" si))) by
A3,
LATTICES:def 11
.= (u2
"/\" (si
"/\" pc)) by
A2
.= ((u2
"/\" si)
"/\" pc) by
LATTICES:def 7;
then
A4: ((
M(A)
[;] (u,Psi))
. w)
[= (u2
"/\" si) by
LATTICES: 6;
(u2
"/\" si)
[= v by
Th24;
hence ((
M(A)
[;] (u,Psi))
. w)
[= v by
A4,
LATTICES: 7;
end;
(u
"/\"
IMPL(u,v))
= (
FinJoin ((
SUB u),(
M(A)
[;] (u,Psi)))) by
LATTICE2: 66;
hence (u
"/\"
IMPL(u,v))
[= v by
A1,
LATTICE2: 54;
let w;
assume
A5: (u
"/\" v)
[= w;
A6: v
= (
FinJoin ((
@ v),(
Atom A))) by
Th10;
then
A7: (u
"/\" v)
= (
FinJoin ((
@ v),(
M(A)
[;] (u,(
Atom A))))) by
LATTICE2: 66;
now
set pf = (
pseudo_compl A), sf = ((
StrongImpl A)
[:] ((
diff u),w));
let a;
assume a
in (
@ v);
then ((
M(A)
[;] (u,(
Atom A)))
. a)
[= w by
A7,
A5,
LATTICE2: 31;
then (
M(A)
. (u,((
Atom A)
. a)))
[= w by
FUNCOP_1: 53;
then
A8: (u
"/\" ((
Atom A)
. a))
[= w by
LATTICES:def 2;
consider v such that
A9: v
in (
SUB u) and
A10: ((
@ v)
^
{a})
=
{} and
A11: for b st b
in ((
diff u)
. v) holds (b
\/ a)
in (
DISJOINT_PAIRS A) by
Lm8;
(((
diff u)
. v)
"/\" ((
Atom A)
. a))
[= (u
"/\" ((
Atom A)
. a)) by
Th22,
LATTICES: 9;
then (((
diff u)
. v)
"/\" ((
Atom A)
. a))
[= w by
A8,
LATTICES: 7;
then ((
Atom A)
. a)
[= ((
StrongImpl A)
. (((
diff u)
. v),w)) by
A11,
Th26;
then
A12: ((
Atom A)
. a)
[= (sf
. v) by
FUNCOP_1: 48;
A13: ((pf
. v)
"/\" (sf
. v))
= (
M(A)
. ((pf
. v),(sf
. v))) by
LATTICES:def 2
.= ((
M(A)
.: (pf,sf))
. v) by
FUNCOP_1: 37;
((
Atom A)
. a)
[= (pf
. v) by
A10,
Th25;
then ((
Atom A)
. a)
[= ((
M(A)
.: (pf,sf))
. v) by
A12,
A13,
FILTER_0: 7;
hence ((
Atom A)
. a)
[=
IMPL(u,w) by
A9,
LATTICE2: 29;
end;
hence v
[=
IMPL(u,w) by
A6,
LATTICE2: 54;
end;
Lm10: (
NormForm A) is
implicative
proof
let p,q be
Element of (
NormForm A);
take r = (
FinJoin ((
SUB p),(
M(A)
.: ((
pseudo_compl A),((
StrongImpl A)
[:] ((
diff p),q))))));
thus (p
"/\" r)
[= q & for r1 be
Element of (
NormForm A) st (p
"/\" r1)
[= q holds r1
[= r by
Lm9;
end;
registration
let A;
cluster (
NormForm A) ->
implicative;
coherence by
Lm10;
end
theorem ::
HEYTING1:27
Th27: (u
=> v)
= (
FinJoin ((
SUB u),(the
L_meet of (
NormForm A)
.: ((
pseudo_compl A),((
StrongImpl A)
[:] ((
diff u),v))))))
proof
deffunc
IMPL(
Element of (
NormForm A),
Element of (
NormForm A)) = (
FinJoin ((
SUB $1),(
M(A)
.: ((
pseudo_compl A),((
StrongImpl A)
[:] ((
diff $1),$2))))));
(u
"/\"
IMPL(u,v))
[= v & for w st (u
"/\" w)
[= v holds w
[=
IMPL(u,v) by
Lm9;
hence thesis by
FILTER_0:def 7;
end;
theorem ::
HEYTING1:28
(
Top (
NormForm A))
=
{
[
{} ,
{} ]}
proof
reconsider O =
{
[
{} ,
{} ]} as
Element of (
Normal_forms_on A) by
Th17;
set sd = ((
StrongImpl A)
[:] ((
diff (
Bottom (
NormForm A))),(
Bottom (
NormForm A))));
set F = (
M(A)
.: ((
pseudo_compl A),sd));
A1: (
@ ((
pseudo_compl A)
. (
Bottom (
NormForm A))))
= (
mi (
- (
@ (
Bottom (
NormForm A))))) by
Def8
.= (
mi O) by
Th13,
NORMFORM: 57
.= O by
NORMFORM: 42;
A2: (
Bottom (
NormForm A))
=
{} by
NORMFORM: 57;
then ((
diff (
Bottom (
NormForm A)))
. (
Bottom (
NormForm A)))
= (
{}
\
{} ) by
Def11
.= (
Bottom (
NormForm A)) by
NORMFORM: 57;
then
A3: (
@ (sd
. (
Bottom (
NormForm A))))
= ((
StrongImpl A)
. ((
Bottom (
NormForm A)),(
Bottom (
NormForm A)))) by
FUNCOP_1: 48
.= (
mi ((
@ (
Bottom (
NormForm A)))
=>> (
@ (
Bottom (
NormForm A))))) by
Def9
.= (
mi O) by
A2,
Th14
.= O by
NORMFORM: 42;
thus (
Top (
NormForm A))
= ((
Bottom (
NormForm A))
=> (
Bottom (
NormForm A))) by
FILTER_0: 28
.= (
FinJoin ((
SUB (
Bottom (
NormForm A))),F)) by
Th27
.= (
J(A)
$$ ((
SUB (
Bottom (
NormForm A))),F)) by
LATTICE2:def 3
.= (F
. (
Bottom (
NormForm A))) by
A2,
SETWISEO: 17,
ZFMISC_1: 1
.= (
M(A)
. (((
pseudo_compl A)
. (
Bottom (
NormForm A))),(sd
. (
Bottom (
NormForm A))))) by
FUNCOP_1: 37
.= (
mi (O
^ O)) by
A1,
A3,
NORMFORM:def 12
.=
{
[
{} ,
{} ]} by
Th3;
end;