let V be LTLModel; for Kai being Function of atomic_LTL, the BasicAssign of V
for n being Nat ex f being Function of LTL_WFF, the carrier of V st f is-PreEvaluation-for n,Kai
let Kai be Function of atomic_LTL, the BasicAssign of V; for n being Nat ex f being Function of LTL_WFF, the carrier of V st f is-PreEvaluation-for n,Kai
defpred S1[ Nat] means ex f being Function of LTL_WFF, the carrier of V st f is-PreEvaluation-for $1,Kai;
A1:
for k being Nat st S1[k] holds
S1[k + 1]
proof
let k be
Nat;
( S1[k] implies S1[k + 1] )
assume
S1[
k]
;
S1[k + 1]
then consider h being
Function of
LTL_WFF, the
carrier of
V such that A2:
h is-PreEvaluation-for k,
Kai
;
S1[
k + 1]
proof
deffunc H1(
object )
-> set =
GraftEval (
V,
Kai,
h,
h,
k,
(CastLTL $1));
A3:
for
H being
object st
H in LTL_WFF holds
H1(
H)
in the
carrier of
V
proof
let H be
object ;
( H in LTL_WFF implies H1(H) in the carrier of V )
assume A4:
H in LTL_WFF
;
H1(H) in the carrier of V
reconsider H =
H as
LTL-formula by A4, Th1;
A5:
H1(
H)
= GraftEval (
V,
Kai,
h,
h,
k,
H)
by A4, Def25;
per cases
( len H > k + 1 or ( len H = k + 1 & H is atomic ) or ( len H = k + 1 & H is negative ) or ( len H = k + 1 & H is conjunctive ) or ( len H = k + 1 & H is disjunctive ) or ( len H = k + 1 & H is next ) or ( len H = k + 1 & H is Until ) or ( len H = k + 1 & H is Release ) or len H < k + 1 )
by Th2, XXREAL_0:1;
suppose
(
len H = k + 1 &
H is
conjunctive )
;
H1(H) in the carrier of Vthen A9:
GraftEval (
V,
Kai,
h,
h,
k,
H)
= the
L_meet of
V . (
(h . (the_left_argument_of H)),
(h . (the_right_argument_of H)))
by Def29;
the_right_argument_of H in LTL_WFF
by Th1;
then A10:
h . (the_right_argument_of H) in the
carrier of
V
by FUNCT_2:5;
the_left_argument_of H in LTL_WFF
by Th1;
then
h . (the_left_argument_of H) in the
carrier of
V
by FUNCT_2:5;
then
[(h . (the_left_argument_of H)),(h . (the_right_argument_of H))] in [: the carrier of V, the carrier of V:]
by A10, ZFMISC_1:def 2;
hence
H1(
H)
in the
carrier of
V
by A5, A9, FUNCT_2:5;
verum end; suppose
(
len H = k + 1 &
H is
disjunctive )
;
H1(H) in the carrier of Vthen A11:
GraftEval (
V,
Kai,
h,
h,
k,
H)
= the
L_join of
V . (
(h . (the_left_argument_of H)),
(h . (the_right_argument_of H)))
by Def29;
the_right_argument_of H in LTL_WFF
by Th1;
then A12:
h . (the_right_argument_of H) in the
carrier of
V
by FUNCT_2:5;
the_left_argument_of H in LTL_WFF
by Th1;
then
h . (the_left_argument_of H) in the
carrier of
V
by FUNCT_2:5;
then
[(h . (the_left_argument_of H)),(h . (the_right_argument_of H))] in [: the carrier of V, the carrier of V:]
by A12, ZFMISC_1:def 2;
hence
H1(
H)
in the
carrier of
V
by A5, A11, FUNCT_2:5;
verum end; suppose
(
len H = k + 1 &
H is
Until )
;
H1(H) in the carrier of Vthen A15:
GraftEval (
V,
Kai,
h,
h,
k,
H)
= the
UNTIL of
V . (
(h . (the_left_argument_of H)),
(h . (the_right_argument_of H)))
by Def29;
the_right_argument_of H in LTL_WFF
by Th1;
then A16:
h . (the_right_argument_of H) in the
carrier of
V
by FUNCT_2:5;
the_left_argument_of H in LTL_WFF
by Th1;
then
h . (the_left_argument_of H) in the
carrier of
V
by FUNCT_2:5;
then
[(h . (the_left_argument_of H)),(h . (the_right_argument_of H))] in [: the carrier of V, the carrier of V:]
by A16, ZFMISC_1:def 2;
hence
H1(
H)
in the
carrier of
V
by A5, A15, FUNCT_2:5;
verum end; suppose
(
len H = k + 1 &
H is
Release )
;
H1(H) in the carrier of Vthen A17:
GraftEval (
V,
Kai,
h,
h,
k,
H)
= the
RELEASE of
V . (
(h . (the_left_argument_of H)),
(h . (the_right_argument_of H)))
by Def29;
the_right_argument_of H in LTL_WFF
by Th1;
then A18:
h . (the_right_argument_of H) in the
carrier of
V
by FUNCT_2:5;
the_left_argument_of H in LTL_WFF
by Th1;
then
h . (the_left_argument_of H) in the
carrier of
V
by FUNCT_2:5;
then
[(h . (the_left_argument_of H)),(h . (the_right_argument_of H))] in [: the carrier of V, the carrier of V:]
by A18, ZFMISC_1:def 2;
hence
H1(
H)
in the
carrier of
V
by A5, A17, FUNCT_2:5;
verum end; end;
end;
consider f being
Function of
LTL_WFF, the
carrier of
V such that A19:
for
H being
object st
H in LTL_WFF holds
f . H = H1(
H)
from FUNCT_2:sch 2(A3);
take
f
;
f is-PreEvaluation-for k + 1,Kai
A20:
for
H being
LTL-formula st
len H < k + 1 holds
f . H = h . H
for
H being
LTL-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
disjunctive implies
f . H = the
L_join of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H))) ) & (
H is
next implies
f . H = the
NEXT of
V . (f . (the_argument_of H)) ) & (
H is
Until implies
f . H = the
UNTIL of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H))) ) & (
H is
Release implies
f . H = the
RELEASE of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H))) ) )
proof
let H be
LTL-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 disjunctive implies f . H = the L_join of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H))) ) & ( H is next implies f . H = the NEXT of V . (f . (the_argument_of H)) ) & ( H is Until implies f . H = the UNTIL of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H))) ) & ( H is Release implies f . H = the RELEASE of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H))) ) ) )
assume A23:
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 disjunctive implies f . H = the L_join of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H))) ) & ( H is next implies f . H = the NEXT of V . (f . (the_argument_of H)) ) & ( H is Until implies f . H = the UNTIL of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H))) ) & ( H is Release implies f . H = the RELEASE of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H))) ) )
A24:
H in LTL_WFF
by Th1;
then A25:
f . H =
H1(
H)
by A19
.=
GraftEval (
V,
Kai,
h,
h,
k,
H)
by A24, Def25
;
A26:
(
H is
negative implies
f . H = the
Compl of
V . (f . (the_argument_of H)) )
A30:
(
H is
Release implies
f . H = the
RELEASE of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H))) )
proof
assume A31:
H is
Release
;
f . H = the RELEASE of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H)))
then
len (the_right_argument_of H) < len H
by Th11;
then
len (the_right_argument_of H) <= k
by A23, Lm1;
then A32:
len (the_right_argument_of H) < k + 1
by NAT_1:13;
len (the_left_argument_of H) < len H
by A31, Th11;
then
len (the_left_argument_of H) <= k
by A23, Lm1;
then
len (the_left_argument_of H) < k + 1
by NAT_1:13;
then A33:
h . (the_left_argument_of H) = f . (the_left_argument_of H)
by A20;
per cases
( len H <= k or len H = k + 1 )
by A23, NAT_1:8;
suppose
len H = k + 1
;
f . H = the RELEASE of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H)))then GraftEval (
V,
Kai,
h,
h,
k,
H) =
the
RELEASE of
V . (
(h . (the_left_argument_of H)),
(h . (the_right_argument_of H)))
by A31, Def29
.=
the
RELEASE of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H)))
by A20, A33, A32
;
hence
f . H = the
RELEASE of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H)))
by A25;
verum end; end;
end;
A35:
(
H is
Until implies
f . H = the
UNTIL of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H))) )
proof
assume A36:
H is
Until
;
f . H = the UNTIL of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H)))
then
len (the_right_argument_of H) < len H
by Th11;
then
len (the_right_argument_of H) <= k
by A23, Lm1;
then A37:
len (the_right_argument_of H) < k + 1
by NAT_1:13;
len (the_left_argument_of H) < len H
by A36, Th11;
then
len (the_left_argument_of H) <= k
by A23, Lm1;
then
len (the_left_argument_of H) < k + 1
by NAT_1:13;
then A38:
h . (the_left_argument_of H) = f . (the_left_argument_of H)
by A20;
per cases
( len H <= k or len H = k + 1 )
by A23, NAT_1:8;
suppose
len H = k + 1
;
f . H = the UNTIL of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H)))then GraftEval (
V,
Kai,
h,
h,
k,
H) =
the
UNTIL of
V . (
(h . (the_left_argument_of H)),
(h . (the_right_argument_of H)))
by A36, Def29
.=
the
UNTIL of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H)))
by A20, A38, A37
;
hence
f . H = the
UNTIL of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H)))
by A25;
verum end; end;
end;
A40:
(
H is
disjunctive implies
f . H = the
L_join of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H))) )
proof
assume A41:
H is
disjunctive
;
f . H = the L_join of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H)))
then
len (the_right_argument_of H) < len H
by Th11;
then
len (the_right_argument_of H) <= k
by A23, Lm1;
then A42:
len (the_right_argument_of H) < k + 1
by NAT_1:13;
len (the_left_argument_of H) < len H
by A41, Th11;
then
len (the_left_argument_of H) <= k
by A23, Lm1;
then
len (the_left_argument_of H) < k + 1
by NAT_1:13;
then A43:
h . (the_left_argument_of H) = f . (the_left_argument_of H)
by A20;
per cases
( len H <= k or len H = k + 1 )
by A23, NAT_1:8;
suppose
len H = k + 1
;
f . H = the L_join of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H)))then GraftEval (
V,
Kai,
h,
h,
k,
H) =
the
L_join of
V . (
(h . (the_left_argument_of H)),
(h . (the_right_argument_of H)))
by A41, Def29
.=
the
L_join of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H)))
by A20, A43, A42
;
hence
f . H = the
L_join of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H)))
by A25;
verum end; end;
end;
A45:
(
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 A46:
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 Th11;
then
len (the_right_argument_of H) <= k
by A23, Lm1;
then A47:
len (the_right_argument_of H) < k + 1
by NAT_1:13;
len (the_left_argument_of H) < len H
by A46, Th11;
then
len (the_left_argument_of H) <= k
by A23, Lm1;
then
len (the_left_argument_of H) < k + 1
by NAT_1:13;
then A48:
h . (the_left_argument_of H) = f . (the_left_argument_of H)
by A20;
per cases
( len H <= k or len H = k + 1 )
by A23, NAT_1:8;
suppose
len H = k + 1
;
f . H = the L_meet of V . ((f . (the_left_argument_of H)),(f . (the_right_argument_of H)))then GraftEval (
V,
Kai,
h,
h,
k,
H) =
the
L_meet of
V . (
(h . (the_left_argument_of H)),
(h . (the_right_argument_of H)))
by A46, Def29
.=
the
L_meet of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H)))
by A20, A48, A47
;
hence
f . H = the
L_meet of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H)))
by A25;
verum end; end;
end;
A50:
(
H is
next implies
f . H = the
NEXT of
V . (f . (the_argument_of H)) )
(
H is
atomic implies
f . H = Kai . 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
disjunctive implies
f . H = the
L_join of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H))) ) & (
H is
next implies
f . H = the
NEXT of
V . (f . (the_argument_of H)) ) & (
H is
Until implies
f . H = the
UNTIL of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H))) ) & (
H is
Release implies
f . H = the
RELEASE of
V . (
(f . (the_left_argument_of H)),
(f . (the_right_argument_of H))) ) )
by A26, A45, A40, A50, A35, A30;
verum
end;
hence
f is-PreEvaluation-for k + 1,
Kai
;
verum
end;
hence
S1[
k + 1]
;
verum
end;
A56:
S1[ 0 ]
for n being Nat holds S1[n]
from NAT_1:sch 2(A56, A1);
hence
for n being Nat ex f being Function of LTL_WFF, the carrier of V st f is-PreEvaluation-for n,Kai
; verum