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 Element of NAT holds pai . n |= 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 Element of NAT holds pai . n |= 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 Element of NAT holds pai . n |= 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 Element of NAT holds pai . n |= 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 Element of NAT holds pai . n |= 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 Element of NAT holds pai . n |= g ) ) )
deffunc H1( set ) -> 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 Element of NAT holds pai . n |= 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( set ) -> set = UnivF ((H1($1) /\ (SIGMA g)),Choice,s0);
A5:
for x being set st x in S holds
H2(x) in S
consider h being Function of S,S such that
A7:
for x being set st x in S holds
h . x = H2(x)
from FUNCT_2:sch 2(A5);
deffunc H3( set ) -> Element of S = (h |** (k_nat $1)) . s0;
A8:
for n being set st n in NAT holds
H3(n) in S
;
consider pai being Function of NAT,S such that
A9:
for n being set 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
by FUNCT_1:18
;
A11:
s0 in S
;
A12:
for n being Element of NAT holds
( [(pai . n),(pai . (n + 1))] in R & pai . n |= g )
proof
defpred S1[
Element of
NAT ]
means (
[(pai . $1),(pai . ($1 + 1))] in R &
pai . $1
|= g );
A13:
for
k being
Element of
NAT st
S1[
k] holds
S1[
k + 1]
proof
let k be
Element of
NAT ;
( S1[k] implies S1[k + 1] )
set k1 =
k + 1;
set k2 =
(k + 1) + 1;
set p0 =
pai . k;
set p1 =
pai . (k + 1);
set p2 =
pai . ((k + 1) + 1);
set Y1 =
H1(
pai . k)
/\ (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 . k |= EX g
by A2;
then consider pai01 being
inf_path of
R such that A15:
pai01 . 0 = pai . k
and A16:
pai01 . 1
|= g
by Th14;
set x1 =
pai01 . 1;
[(pai01 . 0),(pai01 . (0 + 1))] in R
by Def41;
then A17:
pai01 . 1
in H1(
pai . k)
by A15;
pai01 . 1
in SIGMA g
by A16;
then
H1(
pai . k)
/\ (SIGMA g) <> {}
by A17, XBOOLE_0:def 4;
then
not
H1(
pai . k)
/\ (SIGMA g) in {{}}
by TARSKI:def 1;
then A18:
H1(
pai . k)
/\ (SIGMA g) in (bool S) \ {{}}
by XBOOLE_0:def 5;
then A19:
H1(
pai . k)
/\ (SIGMA g) in BOOL S
by ORDERS_1:def 2;
A20:
H1(
pai . k)
/\ (SIGMA g) in dom Choice
by A3, A18, ORDERS_1:def 2;
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
.=
h . (pai . k)
by A9
.=
H2(
pai . k)
by A7
.=
Choice . (H1(pai . k) /\ (SIGMA g))
by A20, Def3
;
then
pai . (k + 1) in H1(
pai . k)
/\ (SIGMA g)
by A4, A19;
then
pai . (k + 1) in SIGMA g
by XBOOLE_0:def 4;
then A21:
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 A22:
pai02 . 0 = pai . (k + 1)
and A23:
pai02 . 1
|= g
by Th14;
set x2 =
pai02 . 1;
[(pai02 . 0),(pai02 . (0 + 1))] in R
by Def41;
then A24:
pai02 . 1
in H1(
pai . (k + 1))
by A22;
pai02 . 1
in SIGMA g
by A23;
then
pai02 . 1
in H1(
pai . (k + 1))
/\ (SIGMA g)
by A24, XBOOLE_0:def 4;
then
not
H1(
pai . (k + 1))
/\ (SIGMA g) in {{}}
by TARSKI:def 1;
then A25:
H1(
pai . (k + 1))
/\ (SIGMA g) in (bool S) \ {{}}
by XBOOLE_0:def 5;
then A26:
H1(
pai . (k + 1))
/\ (SIGMA g) in BOOL S
by ORDERS_1:def 2;
A27:
s0 in dom (h |** (k + 1))
by A11, FUNCT_2:def 1;
A28:
H1(
pai . (k + 1))
/\ (SIGMA g) in dom Choice
by A3, A25, ORDERS_1:def 2;
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 A27, 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 A28, Def3
;
then
pai . ((k + 1) + 1) in H1(
pai . (k + 1))
/\ (SIGMA g)
by A4, A26;
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 A21;
verum
end;
A29:
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 A30:
pai01 . 0 = s0
and A31:
pai01 . 1
|= g
by Th14;
set x =
pai01 . 1;
[(pai01 . 0),(pai01 . (0 + 1))] in R
by Def41;
then A32:
pai01 . 1
in H1(
s0)
by A30;
pai01 . 1
in SIGMA g
by A31;
then
H1(
s0)
/\ (SIGMA g) <> {}
by A32, XBOOLE_0:def 4;
then
not
H1(
s0)
/\ (SIGMA g) in {{}}
by TARSKI:def 1;
then A33:
H1(
s0)
/\ (SIGMA g) in (bool S) \ {{}}
by XBOOLE_0:def 5;
then A34:
H1(
s0)
/\ (SIGMA g) in dom Choice
by A3, ORDERS_1:def 2;
H1(
s0)
/\ (SIGMA g) in BOOL S
by A33, ORDERS_1:def 2;
then A35:
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 A36:
Choice . (H1(s0) /\ (SIGMA g)) = t
and A37:
[s0,t] in R
;
t in SIGMA g
by A35, A36, XBOOLE_0:def 4;
then consider s1 being
Element of
S such that A38:
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 A34, A36, A38, Def3
;
hence
S1[
0 ]
by A1, A10, A37, A38;
verum
end;
for
k being
Element of
NAT holds
S1[
k]
from NAT_1:sch 1(A29, A13);
hence
for
n being
Element of
NAT holds
(
[(pai . n),(pai . (n + 1))] in R &
pai . n |= g )
;
verum
end;
then reconsider pai = pai as inf_path of R by Def41;
take
pai
; ( pai . 0 = s0 & ( for n being Element of NAT holds pai . n |= g ) )
thus
( pai . 0 = s0 & ( for n being Element of NAT holds pai . n |= g ) )
by A10, A12; verum