:: DYNKIN semantic presentation

theorem Th1: :: DYNKIN:1
for b1 being non empty set
for b2 being SetSequence of b1
for b3 being set holds
( b3 in rng b2 iff ex b4 being Nat st b2 . b4 = b3 )
proof end;

theorem Th2: :: DYNKIN:2
for b1 being Nat holds PSeg b1 is finite
proof end;

registration
let c1 be Nat;
cluster PSeg a1 -> finite ;
coherence
PSeg c1 is finite
by Th2;
end;

definition
let c1, c2, c3 be set ;
func c1,c2 followed_by c3 -> set equals :: DYNKIN:def 1
(NAT --> a3) +* (0,1 --> a1,a2);
coherence
(NAT --> c3) +* (0,1 --> c1,c2) is set
;
end;

:: deftheorem Def1 defines followed_by DYNKIN:def 1 :
for b1, b2, b3 being set holds b1,b2 followed_by b3 = (NAT --> b3) +* (0,1 --> b1,b2);

registration
let c1, c2, c3 be set ;
cluster a1,a2 followed_by a3 -> Relation-like Function-like ;
coherence
( c1,c2 followed_by c3 is Function-like & c1,c2 followed_by c3 is Relation-like )
;
end;

definition
let c1 be non empty set ;
let c2, c3, c4 be Element of c1;
redefine func followed_by as c2,c3 followed_by c4 -> Function of NAT ,a1;
coherence
c2,c3 followed_by c4 is Function of NAT ,c1
proof end;
end;

Lemma3: for b1 being non empty set
for b2, b3, b4 being Element of b1 holds b2,b3 followed_by b4 is Function of NAT ,b1
;

definition
let c1 be non empty set ;
let c2, c3, c4 be Subset of c1;
redefine func followed_by as c2,c3 followed_by c4 -> SetSequence of a1;
coherence
c2,c3 followed_by c4 is SetSequence of c1
proof end;
end;

theorem Th3: :: DYNKIN:3
canceled;

theorem Th4: :: DYNKIN:4
canceled;

theorem Th5: :: DYNKIN:5
for b1, b2, b3 being set holds
( (b1,b2 followed_by b3) . 0 = b1 & (b1,b2 followed_by b3) . 1 = b2 & ( for b4 being Nat st b4 <> 0 & b4 <> 1 holds
(b1,b2 followed_by b3) . b4 = b3 ) )
proof end;

theorem Th6: :: DYNKIN:6
for b1 being non empty set
for b2, b3 being Subset of b1 holds union (rng (b2,b3 followed_by {} )) = b2 \/ b3
proof end;

definition
let c1 be non empty set ;
let c2 be SetSequence of c1;
let c3 be Subset of c1;
func seqIntersection c3,c2 -> SetSequence of a1 means :Def2: :: DYNKIN:def 2
for b1 being Nat holds a4 . b1 = a3 /\ (a2 . b1);
existence
ex b1 being SetSequence of c1 st
for b2 being Nat holds b1 . b2 = c3 /\ (c2 . b2)
proof end;
uniqueness
for b1, b2 being SetSequence of c1 st ( for b3 being Nat holds b1 . b3 = c3 /\ (c2 . b3) ) & ( for b3 being Nat holds b2 . b3 = c3 /\ (c2 . b3) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def2 defines seqIntersection DYNKIN:def 2 :
for b1 being non empty set
for b2 being SetSequence of b1
for b3 being Subset of b1
for b4 being SetSequence of b1 holds
( b4 = seqIntersection b3,b2 iff for b5 being Nat holds b4 . b5 = b3 /\ (b2 . b5) );

definition
let c1 be non empty set ;
let c2 be SetSequence of c1;
redefine attr disjoint_valued as a2 is disjoint_valued means :Def3: :: DYNKIN:def 3
for b1, b2 being Nat st b1 < b2 holds
a2 . b1 misses a2 . b2;
compatibility
( c2 is disjoint_valued iff for b1, b2 being Nat st b1 < b2 holds
c2 . b1 misses c2 . b2 )
proof end;
end;

:: deftheorem Def3 defines disjoint_valued DYNKIN:def 3 :
for b1 being non empty set
for b2 being SetSequence of b1 holds
( b2 is disjoint_valued iff for b3, b4 being Nat st b3 < b4 holds
b2 . b3 misses b2 . b4 );

theorem Th7: :: DYNKIN:7
for b1 being non empty set
for b2 being set holds
( b2 c= meet b1 iff for b3 being Element of b1 holds b2 c= b3 )
proof end;

notation
let c1 be set ;
synonym intersection_stable c1 for multiplicative c1;
end;

definition
let c1 be non empty set ;
let c2 be SetSequence of c1;
let c3 be Element of NAT ;
canceled;
func disjointify c2,c3 -> Subset of a1 equals :: DYNKIN:def 5
(a2 . a3) \ (union (rng (a2 | (PSeg a3))));
coherence
(c2 . c3) \ (union (rng (c2 | (PSeg c3)))) is Subset of c1
proof end;
end;

:: deftheorem Def4 DYNKIN:def 4 :
canceled;

:: deftheorem Def5 defines disjointify DYNKIN:def 5 :
for b1 being non empty set
for b2 being SetSequence of b1
for b3 being Element of NAT holds disjointify b2,b3 = (b2 . b3) \ (union (rng (b2 | (PSeg b3))));

definition
let c1 be non empty set ;
let c2 be SetSequence of c1;
func disjointify c2 -> SetSequence of a1 means :Def6: :: DYNKIN:def 6
for b1 being Nat holds a3 . b1 = disjointify a2,b1;
existence
ex b1 being SetSequence of c1 st
for b2 being Nat holds b1 . b2 = disjointify c2,b2
proof end;
uniqueness
for b1, b2 being SetSequence of c1 st ( for b3 being Nat holds b1 . b3 = disjointify c2,b3 ) & ( for b3 being Nat holds b2 . b3 = disjointify c2,b3 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def6 defines disjointify DYNKIN:def 6 :
for b1 being non empty set
for b2, b3 being SetSequence of b1 holds
( b3 = disjointify b2 iff for b4 being Nat holds b3 . b4 = disjointify b2,b4 );

theorem Th8: :: DYNKIN:8
for b1 being non empty set
for b2 being SetSequence of b1
for b3 being Nat holds (disjointify b2) . b3 = (b2 . b3) \ (union (rng (b2 | (PSeg b3))))
proof end;

theorem Th9: :: DYNKIN:9
for b1 being non empty set
for b2 being SetSequence of b1 holds disjointify b2 is disjoint_valued
proof end;

theorem Th10: :: DYNKIN:10
for b1 being non empty set
for b2 being SetSequence of b1 holds union (rng (disjointify b2)) = union (rng b2)
proof end;

theorem Th11: :: DYNKIN:11
for b1 being non empty set
for b2, b3 being Subset of b1 st b2 misses b3 holds
b2,b3 followed_by ({} b1) is disjoint_valued
proof end;

theorem Th12: :: DYNKIN:12
for b1 being non empty set
for b2 being SetSequence of b1 st b2 is disjoint_valued holds
for b3 being Subset of b1 holds seqIntersection b3,b2 is disjoint_valued
proof end;

theorem Th13: :: DYNKIN:13
for b1 being non empty set
for b2 being SetSequence of b1
for b3 being Subset of b1 holds b3 /\ (Union b2) = Union (seqIntersection b3,b2)
proof end;

definition
let c1 be non empty set ;
mode Dynkin_System of c1 -> Subset-Family of a1 means :Def7: :: DYNKIN:def 7
( ( for b1 being SetSequence of a1 st rng b1 c= a2 & b1 is disjoint_valued holds
Union b1 in a2 ) & ( for b1 being Subset of a1 st b1 in a2 holds
b1 ` in a2 ) & {} in a2 );
existence
ex b1 being Subset-Family of c1 st
( ( for b2 being SetSequence of c1 st rng b2 c= b1 & b2 is disjoint_valued holds
Union b2 in b1 ) & ( for b2 being Subset of c1 st b2 in b1 holds
b2 ` in b1 ) & {} in b1 )
proof end;
end;

:: deftheorem Def7 defines Dynkin_System DYNKIN:def 7 :
for b1 being non empty set
for b2 being Subset-Family of b1 holds
( b2 is Dynkin_System of b1 iff ( ( for b3 being SetSequence of b1 st rng b3 c= b2 & b3 is disjoint_valued holds
Union b3 in b2 ) & ( for b3 being Subset of b1 st b3 in b2 holds
b3 ` in b2 ) & {} in b2 ) );

registration
let c1 be non empty set ;
cluster -> non empty Dynkin_System of a1;
coherence
for b1 being Dynkin_System of c1 holds not b1 is empty
by Def7;
end;

theorem Th14: :: DYNKIN:14
for b1 being non empty set holds bool b1 is Dynkin_System of b1
proof end;

theorem Th15: :: DYNKIN:15
for b1, b2 being non empty set st ( for b3 being set st b3 in b1 holds
b3 is Dynkin_System of b2 ) holds
meet b1 is Dynkin_System of b2
proof end;

theorem Th16: :: DYNKIN:16
for b1 being non empty set
for b2, b3 being Subset of b1
for b4 being non empty Subset-Family of b1 st b4 is Dynkin_System of b1 & b4 is intersection_stable & b2 in b4 & b3 in b4 holds
b2 \ b3 in b4
proof end;

theorem Th17: :: DYNKIN:17
for b1 being non empty set
for b2, b3 being Subset of b1
for b4 being non empty Subset-Family of b1 st b4 is Dynkin_System of b1 & b4 is intersection_stable & b2 in b4 & b3 in b4 holds
b2 \/ b3 in b4
proof end;

theorem Th18: :: DYNKIN:18
for b1 being non empty set
for b2 being non empty Subset-Family of b1 st b2 is Dynkin_System of b1 & b2 is intersection_stable holds
for b3 being finite set st b3 c= b2 holds
union b3 in b2
proof end;

theorem Th19: :: DYNKIN:19
for b1 being non empty set
for b2 being non empty Subset-Family of b1 st b2 is Dynkin_System of b1 & b2 is intersection_stable holds
for b3 being SetSequence of b1 st rng b3 c= b2 holds
rng (disjointify b3) c= b2
proof end;

theorem Th20: :: DYNKIN:20
for b1 being non empty set
for b2 being non empty Subset-Family of b1 st b2 is Dynkin_System of b1 & b2 is intersection_stable holds
for b3 being SetSequence of b1 st rng b3 c= b2 holds
union (rng b3) in b2
proof end;

theorem Th21: :: DYNKIN:21
for b1 being non empty set
for b2 being Dynkin_System of b1
for b3, b4 being Element of b2 st b3 misses b4 holds
b3 \/ b4 in b2
proof end;

theorem Th22: :: DYNKIN:22
for b1 being non empty set
for b2 being Dynkin_System of b1
for b3, b4 being Element of b2 st b3 c= b4 holds
b4 \ b3 in b2
proof end;

theorem Th23: :: DYNKIN:23
for b1 being non empty set
for b2 being non empty Subset-Family of b1 st b2 is Dynkin_System of b1 & b2 is intersection_stable holds
b2 is SigmaField of b1
proof end;

definition
let c1 be non empty set ;
let c2 be Subset-Family of c1;
func generated_Dynkin_System c2 -> Dynkin_System of a1 means :Def8: :: DYNKIN:def 8
( a2 c= a3 & ( for b1 being Dynkin_System of a1 st a2 c= b1 holds
a3 c= b1 ) );
existence
ex b1 being Dynkin_System of c1 st
( c2 c= b1 & ( for b2 being Dynkin_System of c1 st c2 c= b2 holds
b1 c= b2 ) )
proof end;
uniqueness
for b1, b2 being Dynkin_System of c1 st c2 c= b1 & ( for b3 being Dynkin_System of c1 st c2 c= b3 holds
b1 c= b3 ) & c2 c= b2 & ( for b3 being Dynkin_System of c1 st c2 c= b3 holds
b2 c= b3 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def8 defines generated_Dynkin_System DYNKIN:def 8 :
for b1 being non empty set
for b2 being Subset-Family of b1
for b3 being Dynkin_System of b1 holds
( b3 = generated_Dynkin_System b2 iff ( b2 c= b3 & ( for b4 being Dynkin_System of b1 st b2 c= b4 holds
b3 c= b4 ) ) );

definition
let c1 be non empty set ;
let c2 be set ;
let c3 be Subset of c1;
func DynSys c3,c2 -> Subset-Family of a1 means :Def9: :: DYNKIN:def 9
for b1 being Subset of a1 holds
( b1 in a4 iff b1 /\ a3 in a2 );
existence
ex b1 being Subset-Family of c1 st
for b2 being Subset of c1 holds
( b2 in b1 iff b2 /\ c3 in c2 )
proof end;
uniqueness
for b1, b2 being Subset-Family of c1 st ( for b3 being Subset of c1 holds
( b3 in b1 iff b3 /\ c3 in c2 ) ) & ( for b3 being Subset of c1 holds
( b3 in b2 iff b3 /\ c3 in c2 ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def9 defines DynSys DYNKIN:def 9 :
for b1 being non empty set
for b2 being set
for b3 being Subset of b1
for b4 being Subset-Family of b1 holds
( b4 = DynSys b3,b2 iff for b5 being Subset of b1 holds
( b5 in b4 iff b5 /\ b3 in b2 ) );

definition
let c1 be non empty set ;
let c2 be Dynkin_System of c1;
let c3 be Element of c2;
redefine func DynSys as DynSys c3,c2 -> Dynkin_System of a1;
coherence
DynSys c3,c2 is Dynkin_System of c1
proof end;
end;

theorem Th24: :: DYNKIN:24
for b1 being non empty set
for b2 being Subset-Family of b1
for b3, b4 being Subset of b1 st b3 in b2 & b4 in generated_Dynkin_System b2 & b2 is intersection_stable holds
b3 /\ b4 in generated_Dynkin_System b2
proof end;

theorem Th25: :: DYNKIN:25
for b1 being non empty set
for b2 being Subset-Family of b1
for b3, b4 being Subset of b1 st b3 in generated_Dynkin_System b2 & b4 in generated_Dynkin_System b2 & b2 is intersection_stable holds
b3 /\ b4 in generated_Dynkin_System b2
proof end;

theorem Th26: :: DYNKIN:26
for b1 being non empty set
for b2 being Subset-Family of b1 st b2 is intersection_stable holds
generated_Dynkin_System b2 is intersection_stable
proof end;

theorem Th27: :: DYNKIN:27
for b1 being non empty set
for b2 being Subset-Family of b1 st b2 is intersection_stable holds
for b3 being Dynkin_System of b1 st b2 c= b3 holds
sigma b2 c= b3
proof end;