let V be CTLModel; for Kai being Function of atomic_WFF, the BasicAssign of V ex f being Function of CTL_WFF, the carrier of V st f is-Evaluation-for Kai
let Kai be Function of atomic_WFF, the BasicAssign of V; ex f being Function of CTL_WFF, the carrier of V st f is-Evaluation-for Kai
set M = EvalFamily (V,Kai);
set v0 = the Element of the carrier of V;
for X being set st X in EvalFamily (V,Kai) holds
X <> {}
then consider Choice being Function such that
dom Choice = EvalFamily (V,Kai)
and
A1:
for X being set st X in EvalFamily (V,Kai) holds
Choice . X in X
by FUNCT_1:111;
deffunc H1( object ) -> set = Choice . (EvalSet (V,Kai,(k_nat $1)));
A2:
for n being set st n in NAT holds
H1(n) is Function of CTL_WFF, the carrier of V
proof
let n be
set ;
( n in NAT implies H1(n) is Function of CTL_WFF, the carrier of V )
assume A3:
n in NAT
;
H1(n) is Function of CTL_WFF, the carrier of V
A4:
k_nat n = n
by A3, Def2;
set Y =
H1(
n);
reconsider n =
n as
Element of
NAT by A3;
H1(
n)
in EvalSet (
V,
Kai,
n)
by A1, A4, Lm29;
then
ex
h being
Function of
CTL_WFF, the
carrier of
V st
(
H1(
n)
= h &
h is-PreEvaluation-for n,
Kai )
;
hence
H1(
n) is
Function of
CTL_WFF, the
carrier of
V
;
verum
end;
A5:
for n being object st n in NAT holds
H1(n) in Funcs (CTL_WFF, the carrier of V)
consider f1 being sequence of (Funcs (CTL_WFF, the carrier of V)) such that
A6:
for n being object st n in NAT holds
f1 . n = H1(n)
from FUNCT_2:sch 2(A5);
deffunc H2( object ) -> set = (CastEval (V,(f1 . (len (CastCTLformula $1))), the Element of the carrier of V)) . $1;
A7:
for H being object st H in CTL_WFF holds
H2(H) in the carrier of V
by FUNCT_2:5;
consider f being Function of CTL_WFF, the carrier of V such that
A8:
for H being object st H in CTL_WFF holds
f . H = H2(H)
from FUNCT_2:sch 2(A7);
take
f
; f is-Evaluation-for Kai
for n being Element of NAT holds f is-PreEvaluation-for n,Kai
proof
defpred S1[
Nat]
means f is-PreEvaluation-for $1,
Kai;
A9:
for
k being
Nat st
S1[
k] holds
S1[
k + 1]
proof
let k be
Nat;
( S1[k] implies S1[k + 1] )
assume A10:
S1[
k]
;
S1[k + 1]
for
H being
CTL-formula st
len H <= k + 1 holds
( (
H is
atomic implies
f . H = Kai . H ) & (
H is
negative implies
f . H = the
Compl of
V . (f . (the_argument_of H)) ) & (
H is
conjunctive implies
f . H = the
L_meet of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H))) ) & (
H is
ExistNext implies
f . H = the
EneXt of
V . (f . (the_argument_of H)) ) & (
H is
ExistGlobal implies
f . H = the
EGlobal of
V . (f . (the_argument_of H)) ) & (
H is
ExistUntill implies
f . H = the
EUntill of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H))) ) )
proof
let H be
CTL-formula;
( len H <= k + 1 implies ( ( H is atomic implies f . H = Kai . H ) & ( H is negative implies f . H = the Compl of V . (f . (the_argument_of H)) ) & ( H is conjunctive implies f . H = the L_meet of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H))) ) & ( H is ExistNext implies f . H = the EneXt of V . (f . (the_argument_of H)) ) & ( H is ExistGlobal implies f . H = the EGlobal of V . (f . (the_argument_of H)) ) & ( H is ExistUntill implies f . H = the EUntill of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H))) ) ) )
assume A11:
len H <= k + 1
;
( ( H is atomic implies f . H = Kai . H ) & ( H is negative implies f . H = the Compl of V . (f . (the_argument_of H)) ) & ( H is conjunctive implies f . H = the L_meet of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H))) ) & ( H is ExistNext implies f . H = the EneXt of V . (f . (the_argument_of H)) ) & ( H is ExistGlobal implies f . H = the EGlobal of V . (f . (the_argument_of H)) ) & ( H is ExistUntill implies f . H = the EUntill of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H))) ) )
now ( ( len H <= k & ( H is atomic implies f . H = Kai . H ) & ( H is negative implies f . H = the Compl of V . (f . (the_argument_of H)) ) & ( H is conjunctive implies f . H = the L_meet of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H))) ) & ( H is ExistNext implies f . H = the EneXt of V . (f . (the_argument_of H)) ) & ( H is ExistGlobal implies f . H = the EGlobal of V . (f . (the_argument_of H)) ) & ( H is ExistUntill implies f . H = the EUntill of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H))) ) ) or ( len H = k + 1 & ( H is atomic implies f . H = Kai . H ) & ( H is negative implies f . H = the Compl of V . (f . (the_argument_of H)) ) & ( H is conjunctive implies f . H = the L_meet of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H))) ) & ( H is ExistNext implies f . H = the EneXt of V . (f . (the_argument_of H)) ) & ( H is ExistGlobal implies f . H = the EGlobal of V . (f . (the_argument_of H)) ) & ( H is ExistUntill implies f . H = the EUntill of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H))) ) ) )per cases
( len H <= k or len H = k + 1 )
by A11, NAT_1:8;
case A12:
len H = k + 1
;
( ( H is atomic implies f . H = Kai . H ) & ( H is negative implies f . H = the Compl of V . (f . (the_argument_of H)) ) & ( H is conjunctive implies f . H = the L_meet of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H))) ) & ( H is ExistNext implies f . H = the EneXt of V . (f . (the_argument_of H)) ) & ( H is ExistGlobal implies f . H = the EGlobal of V . (f . (the_argument_of H)) ) & ( H is ExistUntill implies f . H = the EUntill of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H))) ) )set f2 =
H1(
len H);
A13:
H in CTL_WFF
by Th1;
then f1 . (len (CastCTLformula H)) =
f1 . (len H)
by Def24
.=
H1(
len H)
by A6
;
then A14:
CastEval (
V,
(f1 . (len (CastCTLformula H))), the
Element of the
carrier of
V)
= H1(
len H)
by Def32;
then reconsider f2 =
H1(
len H) as
Function of
CTL_WFF, the
carrier of
V ;
A15:
f2 = Choice . (EvalSet (V,Kai,(len H)))
by Def2;
Choice . (EvalSet (V,Kai,(len H))) in EvalSet (
V,
Kai,
(len H))
by A1, Lm29;
then A16:
ex
h being
Function of
CTL_WFF, the
carrier of
V st
(
f2 = h &
h is-PreEvaluation-for len H,
Kai )
by A15;
then A17:
f2 is-PreEvaluation-for k,
Kai
by A12, Lm25;
A18:
f . H = f2 . H
by A8, A13, A14;
A19:
(
H is
ExistNext implies
f . H = the
EneXt of
V . (f . (the_argument_of H)) )
A22:
(
H is
ExistUntill implies
f . H = the
EUntill of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H))) )
proof
assume A23:
H is
ExistUntill
;
f . H = the EUntill of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H)))
then
len (the_right_argument_of H) < len H
by Lm23;
then A24:
len (the_right_argument_of H) <= k
by A12, NAT_1:13;
len (the_left_argument_of H) < len H
by A23, Lm23;
then
len (the_left_argument_of H) <= k
by A12, NAT_1:13;
then A25:
f . (the_left_argument_of H) = f2 . (the_left_argument_of H)
by A10, A17, Lm26;
f . H =
the
EUntill of
V . (
(f2 . (the_left_argument_of H)),
(f2 . (the_right_argument_of H)))
by A18, A16, A23
.=
the
EUntill of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H)))
by A10, A17, A25, A24, Lm26
;
hence
f . H = the
EUntill of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H)))
;
verum
end; A26:
(
H is
conjunctive implies
f . H = the
L_meet of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H))) )
proof
assume A27:
H is
conjunctive
;
f . H = the L_meet of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H)))
then
len (the_right_argument_of H) < len H
by Lm23;
then A28:
len (the_right_argument_of H) <= k
by A12, NAT_1:13;
len (the_left_argument_of H) < len H
by A27, Lm23;
then
len (the_left_argument_of H) <= k
by A12, NAT_1:13;
then A29:
f . (the_left_argument_of H) = f2 . (the_left_argument_of H)
by A10, A17, Lm26;
f . H =
the
L_meet of
V . (
(f2 . (the_left_argument_of H)),
(f2 . (the_right_argument_of H)))
by A18, A16, A27
.=
the
L_meet of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H)))
by A10, A17, A29, A28, Lm26
;
hence
f . H = the
L_meet of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H)))
;
verum
end; A30:
(
H is
ExistGlobal implies
f . H = the
EGlobal of
V . (f . (the_argument_of H)) )
(
H is
negative implies
f . H = the
Compl of
V . (f . (the_argument_of H)) )
hence
( (
H is
atomic implies
f . H = Kai . H ) & (
H is
negative implies
f . H = the
Compl of
V . (f . (the_argument_of H)) ) & (
H is
conjunctive implies
f . H = the
L_meet of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H))) ) & (
H is
ExistNext implies
f . H = the
EneXt of
V . (f . (the_argument_of H)) ) & (
H is
ExistGlobal implies
f . H = the
EGlobal of
V . (f . (the_argument_of H)) ) & (
H is
ExistUntill implies
f . H = the
EUntill of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H))) ) )
by A18, A16, A19, A30, A26, A22;
verum end; end; end;
hence
( (
H is
atomic implies
f . H = Kai . H ) & (
H is
negative implies
f . H = the
Compl of
V . (f . (the_argument_of H)) ) & (
H is
conjunctive implies
f . H = the
L_meet of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H))) ) & (
H is
ExistNext implies
f . H = the
EneXt of
V . (f . (the_argument_of H)) ) & (
H is
ExistGlobal implies
f . H = the
EGlobal of
V . (f . (the_argument_of H)) ) & (
H is
ExistUntill implies
f . H = the
EUntill of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H))) ) )
;
verum
end;
hence
S1[
k + 1]
by Def27;
verum
end;
for
H being
CTL-formula st
len H <= 0 holds
( (
H is
atomic implies
f . H = Kai . H ) & (
H is
negative implies
f . H = the
Compl of
V . (f . (the_argument_of H)) ) & (
H is
conjunctive implies
f . H = the
L_meet of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H))) ) & (
H is
ExistNext implies
f . H = the
EneXt of
V . (f . (the_argument_of H)) ) & (
H is
ExistGlobal implies
f . H = the
EGlobal of
V . (f . (the_argument_of H)) ) & (
H is
ExistUntill implies
f . H = the
EUntill of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H))) ) )
by Lm10;
then A35:
S1[
0 ]
by Def27;
for
n being
Nat holds
S1[
n]
from NAT_1:sch 2(A35, A9);
hence
for
n being
Element of
NAT holds
f is-PreEvaluation-for n,
Kai
;
verum
end;
hence
f is-Evaluation-for Kai
by Lm28; verum