let S be non empty set ; for R being total Relation of S,S
for BASSIGN being non empty Subset of (ModelSP S)
for g being Assign of (BASSModel (R,BASSIGN))
for s0 being Element of S st s0 |= g & ( for s being Element of S st s |= g holds
s |= EX g ) holds
ex pai being inf_path of R st
( pai . 0 = s0 & ( for n being Nat holds pai . (In (n,NAT)) |= g ) )
let R be total Relation of S,S; for BASSIGN being non empty Subset of (ModelSP S)
for g being Assign of (BASSModel (R,BASSIGN))
for s0 being Element of S st s0 |= g & ( for s being Element of S st s |= g holds
s |= EX g ) holds
ex pai being inf_path of R st
( pai . 0 = s0 & ( for n being Nat holds pai . (In (n,NAT)) |= g ) )
let BASSIGN be non empty Subset of (ModelSP S); for g being Assign of (BASSModel (R,BASSIGN))
for s0 being Element of S st s0 |= g & ( for s being Element of S st s |= g holds
s |= EX g ) holds
ex pai being inf_path of R st
( pai . 0 = s0 & ( for n being Nat holds pai . (In (n,NAT)) |= g ) )
let g be Assign of (BASSModel (R,BASSIGN)); for s0 being Element of S st s0 |= g & ( for s being Element of S st s |= g holds
s |= EX g ) holds
ex pai being inf_path of R st
( pai . 0 = s0 & ( for n being Nat holds pai . (In (n,NAT)) |= g ) )
let s0 be Element of S; ( s0 |= g & ( for s being Element of S st s |= g holds
s |= EX g ) implies ex pai being inf_path of R st
( pai . 0 = s0 & ( for n being Nat holds pai . (In (n,NAT)) |= g ) ) )
assume A1:
s0 |= g
; ( ex s being Element of S st
( s |= g & not s |= EX g ) or ex pai being inf_path of R st
( pai . 0 = s0 & ( for n being Nat holds pai . (In (n,NAT)) |= g ) ) )
deffunc H1( object ) -> set = { x where x is Element of S : [$1,x] in R } ;
assume A2:
for s being Element of S st s |= g holds
s |= EX g
; ex pai being inf_path of R st
( pai . 0 = s0 & ( for n being Nat holds pai . (In (n,NAT)) |= g ) )
for p being set st p in BOOL S holds
p <> {}
by ORDERS_1:1;
then consider Choice being Function such that
A3:
dom Choice = BOOL S
and
A4:
for p being set st p in BOOL S holds
Choice . p in p
by FUNCT_1:111;
deffunc H2( object ) -> set = UnivF ((H1($1) /\ (SIGMA g)),Choice,s0);
A5:
for x being object st x in S holds
H2(x) in S
consider h being Function of S,S such that
A7:
for x being object st x in S holds
h . x = H2(x)
from FUNCT_2:sch 2(A5);
deffunc H3( object ) -> Element of S = (h |** (k_nat $1)) . s0;
A8:
for n being object st n in NAT holds
H3(n) in S
;
consider pai being sequence of S such that
A9:
for n being object st n in NAT holds
pai . n = H3(n)
from FUNCT_2:sch 2(A8);
A10: pai . 0 =
H3( 0 )
by A9
.=
(h |** 0) . s0
by Def2
.=
(id S) . s0
by FUNCT_7:84
.=
s0
;
A11:
s0 in S
;
A12:
for n being Nat holds
( [(pai . n),(pai . (n + 1))] in R & pai . (In (n,NAT)) |= g )
proof
defpred S1[
Nat]
means (
[(pai . $1),(pai . ($1 + 1))] in R &
pai . (In ($1,NAT)) |= g );
A13:
for
k being
Nat st
S1[
k] holds
S1[
k + 1]
proof
let k be
Nat;
( S1[k] implies S1[k + 1] )
set k1 =
k + 1;
set k2 =
(k + 1) + 1;
set p0 =
pai . (In (k,NAT));
set p1 =
pai . (k + 1);
set p2 =
pai . ((k + 1) + 1);
set Y1 =
H1(
pai . (In (k,NAT)))
/\ (SIGMA g);
set Y2 =
H1(
pai . (k + 1))
/\ (SIGMA g);
A14:
s0 in dom (h |** k)
by A11, FUNCT_2:def 1;
assume
S1[
k]
;
S1[k + 1]
then
pai . (In (k,NAT)) |= EX g
by A2;
then consider pai01 being
inf_path of
R such that A15:
pai01 . 0 = pai . (In (k,NAT))
and A16:
pai01 . 1
|= g
by Th14;
set x1 =
pai01 . 1;
[(pai01 . 0),(pai01 . (0 + 1))] in R
by Def39;
then A17:
pai01 . 1
in H1(
pai . (In (k,NAT)))
by A15;
pai01 . 1
in SIGMA g
by A16;
then
H1(
pai . (In (k,NAT)))
/\ (SIGMA g) <> {}
by A17, XBOOLE_0:def 4;
then
not
H1(
pai . (In (k,NAT)))
/\ (SIGMA g) in {{}}
by TARSKI:def 1;
then A18:
H1(
pai . (In (k,NAT)))
/\ (SIGMA g) in (bool S) \ {{}}
by XBOOLE_0:def 5;
then A19:
H1(
pai . (In (k,NAT)))
/\ (SIGMA g) in BOOL S
by ORDERS_1:def 3;
A20:
H1(
pai . (In (k,NAT)))
/\ (SIGMA g) in dom Choice
by A3, A18, ORDERS_1:def 3;
A21:
k in NAT
by ORDINAL1:def 12;
pai . (k + 1) =
H3(
k + 1)
by A9
.=
(h |** (k + 1)) . s0
by Def2
.=
(h * (h |** k)) . s0
by FUNCT_7:71
.=
h . ((h |** k) . s0)
by A14, FUNCT_1:13
.=
h . H3(
k)
by Def2, A21
.=
h . (pai . (In (k,NAT)))
by A9
.=
H2(
pai . (In (k,NAT)))
by A7
.=
Choice . (H1(pai . (In (k,NAT))) /\ (SIGMA g))
by A20, Def3
;
then
pai . (k + 1) in H1(
pai . (In (k,NAT)))
/\ (SIGMA g)
by A4, A19;
then
pai . (k + 1) in SIGMA g
by XBOOLE_0:def 4;
then A22:
ex
q1 being
Element of
S st
(
q1 = pai . (k + 1) &
q1 |= g )
;
then
pai . (k + 1) |= EX g
by A2;
then consider pai02 being
inf_path of
R such that A23:
pai02 . 0 = pai . (k + 1)
and A24:
pai02 . 1
|= g
by Th14;
set x2 =
pai02 . 1;
[(pai02 . 0),(pai02 . (0 + 1))] in R
by Def39;
then A25:
pai02 . 1
in H1(
pai . (k + 1))
by A23;
pai02 . 1
in SIGMA g
by A24;
then
pai02 . 1
in H1(
pai . (k + 1))
/\ (SIGMA g)
by A25, XBOOLE_0:def 4;
then
not
H1(
pai . (k + 1))
/\ (SIGMA g) in {{}}
by TARSKI:def 1;
then A26:
H1(
pai . (k + 1))
/\ (SIGMA g) in (bool S) \ {{}}
by XBOOLE_0:def 5;
then A27:
H1(
pai . (k + 1))
/\ (SIGMA g) in BOOL S
by ORDERS_1:def 3;
A28:
s0 in dom (h |** (k + 1))
by A11, FUNCT_2:def 1;
A29:
H1(
pai . (k + 1))
/\ (SIGMA g) in dom Choice
by A3, A26, ORDERS_1:def 3;
pai . ((k + 1) + 1) =
H3(
(k + 1) + 1)
by A9
.=
(h |** ((k + 1) + 1)) . s0
by Def2
.=
(h * (h |** (k + 1))) . s0
by FUNCT_7:71
.=
h . ((h |** (k + 1)) . s0)
by A28, FUNCT_1:13
.=
h . H3(
k + 1)
by Def2
.=
h . (pai . (k + 1))
by A9
.=
H2(
pai . (k + 1))
by A7
.=
Choice . (H1(pai . (k + 1)) /\ (SIGMA g))
by A29, Def3
;
then
pai . ((k + 1) + 1) in H1(
pai . (k + 1))
/\ (SIGMA g)
by A4, A27;
then
pai . ((k + 1) + 1) in H1(
pai . (k + 1))
by XBOOLE_0:def 4;
then
ex
q2 being
Element of
S st
(
q2 = pai . ((k + 1) + 1) &
[(pai . (k + 1)),q2] in R )
;
hence
S1[
k + 1]
by A22;
verum
end;
A30:
S1[
0 ]
proof
set Y =
H1(
s0)
/\ (SIGMA g);
set y =
Choice . (H1(s0) /\ (SIGMA g));
s0 |= EX g
by A1, A2;
then consider pai01 being
inf_path of
R such that A31:
pai01 . 0 = s0
and A32:
pai01 . 1
|= g
by Th14;
set x =
pai01 . 1;
[(pai01 . 0),(pai01 . (0 + 1))] in R
by Def39;
then A33:
pai01 . 1
in H1(
s0)
by A31;
pai01 . 1
in SIGMA g
by A32;
then
H1(
s0)
/\ (SIGMA g) <> {}
by A33, XBOOLE_0:def 4;
then
not
H1(
s0)
/\ (SIGMA g) in {{}}
by TARSKI:def 1;
then A34:
H1(
s0)
/\ (SIGMA g) in (bool S) \ {{}}
by XBOOLE_0:def 5;
then A35:
H1(
s0)
/\ (SIGMA g) in dom Choice
by A3, ORDERS_1:def 3;
H1(
s0)
/\ (SIGMA g) in BOOL S
by A34, ORDERS_1:def 3;
then A36:
Choice . (H1(s0) /\ (SIGMA g)) in H1(
s0)
/\ (SIGMA g)
by A4;
then
Choice . (H1(s0) /\ (SIGMA g)) in H1(
s0)
by XBOOLE_0:def 4;
then consider t being
Element of
S such that A37:
Choice . (H1(s0) /\ (SIGMA g)) = t
and A38:
[s0,t] in R
;
t in SIGMA g
by A36, A37, XBOOLE_0:def 4;
then consider s1 being
Element of
S such that A39:
t = s1
and
s1 |= g
;
pai . 1 =
H3(1)
by A9
.=
(h |** 1) . s0
by Def2
.=
h . s0
by FUNCT_7:70
.=
H2(
s0)
by A7
.=
s1
by A35, A37, A39, Def3
;
hence
S1[
0 ]
by A1, A10, A38, A39;
verum
end;
for
k being
Nat holds
S1[
k]
from NAT_1:sch 2(A30, A13);
hence
for
n being
Nat holds
(
[(pai . n),(pai . (n + 1))] in R &
pai . (In (n,NAT)) |= g )
;
verum
end;
then reconsider pai = pai as inf_path of R by Def39;
take
pai
; ( pai . 0 = s0 & ( for n being Nat holds pai . (In (n,NAT)) |= g ) )
thus
( pai . 0 = s0 & ( for n being Nat holds pai . (In (n,NAT)) |= g ) )
by A10, A12; verum