let V be LTLModelStr ; :: thesis: for Kai being Function of atomic_LTL ,the BasicAssign of V
for n being Nat ex f being Function of LTL_WFF ,the Assignations of V st f is-PreEvaluation-for n,Kai
let Kai be Function of atomic_LTL ,the BasicAssign of V; :: thesis: for n being Nat ex f being Function of LTL_WFF ,the Assignations of V st f is-PreEvaluation-for n,Kai
defpred S1[ Nat] means ex f being Function of LTL_WFF ,the Assignations of V st f is-PreEvaluation-for $1,Kai;
A1:
S1[ 0 ]
A5:
for k being Nat st S1[k] holds
S1[k + 1]
proof
let k be
Nat;
:: thesis: ( S1[k] implies S1[k + 1] )
assume A6:
S1[
k]
;
:: thesis: S1[k + 1]
consider h being
Function of
LTL_WFF ,the
Assignations of
V such that A7:
h is-PreEvaluation-for k,
Kai
by A6;
S1[
k + 1]
proof
deffunc H1(
set )
-> set =
GraftEval V,
Kai,
h,
h,
k,
(CastLTL $1);
A8:
for
H being
set st
H in LTL_WFF holds
H1(
H)
in the
Assignations of
V
proof
let H be
set ;
:: thesis: ( H in LTL_WFF implies H1(H) in the Assignations of V )
assume A9:
H in LTL_WFF
;
:: thesis: H1(H) in the Assignations of V
reconsider H =
H as
LTL-formula by Th1, A9;
A10:
H1(
H)
= GraftEval V,
Kai,
h,
h,
k,
H
by A9, Def24;
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 A15:
(
len H = k + 1 &
H is
conjunctive )
;
:: thesis: H1(H) in the Assignations of V
the_left_argument_of H in LTL_WFF
by Th1;
then A16:
h . (the_left_argument_of H) in the
Assignations of
V
by FUNCT_2:7;
the_right_argument_of H in LTL_WFF
by Th1;
then
h . (the_right_argument_of H) in the
Assignations of
V
by FUNCT_2:7;
then A17:
[(h . (the_left_argument_of H)),(h . (the_right_argument_of H))] in [:the Assignations of V,the Assignations of V:]
by A16, ZFMISC_1:def 2;
GraftEval V,
Kai,
h,
h,
k,
H = the
And of
V . (h . (the_left_argument_of H)),
(h . (the_right_argument_of H))
by A15, Def28;
hence
H1(
H)
in the
Assignations of
V
by A17, A10, FUNCT_2:7;
:: thesis: verum end; suppose A1501:
(
len H = k + 1 &
H is
disjunctive )
;
:: thesis: H1(H) in the Assignations of V
the_left_argument_of H in LTL_WFF
by Th1;
then A1601:
h . (the_left_argument_of H) in the
Assignations of
V
by FUNCT_2:7;
the_right_argument_of H in LTL_WFF
by Th1;
then
h . (the_right_argument_of H) in the
Assignations of
V
by FUNCT_2:7;
then A1701:
[(h . (the_left_argument_of H)),(h . (the_right_argument_of H))] in [:the Assignations of V,the Assignations of V:]
by A1601, ZFMISC_1:def 2;
GraftEval V,
Kai,
h,
h,
k,
H = the
Or of
V . (h . (the_left_argument_of H)),
(h . (the_right_argument_of H))
by A1501, Def28;
hence
H1(
H)
in the
Assignations of
V
by A1701, A10, FUNCT_2:7;
:: thesis: verum end; suppose A22:
(
len H = k + 1 &
H is
Until )
;
:: thesis: H1(H) in the Assignations of V
the_left_argument_of H in LTL_WFF
by Th1;
then A23:
h . (the_left_argument_of H) in the
Assignations of
V
by FUNCT_2:7;
the_right_argument_of H in LTL_WFF
by Th1;
then
h . (the_right_argument_of H) in the
Assignations of
V
by FUNCT_2:7;
then A24:
[(h . (the_left_argument_of H)),(h . (the_right_argument_of H))] in [:the Assignations of V,the Assignations of V:]
by A23, ZFMISC_1:def 2;
GraftEval V,
Kai,
h,
h,
k,
H = the
UNTIL of
V . (h . (the_left_argument_of H)),
(h . (the_right_argument_of H))
by A22, Def28;
hence
H1(
H)
in the
Assignations of
V
by A24, A10, FUNCT_2:7;
:: thesis: verum end; suppose A2201:
(
len H = k + 1 &
H is
Release )
;
:: thesis: H1(H) in the Assignations of V
the_left_argument_of H in LTL_WFF
by Th1;
then A2301:
h . (the_left_argument_of H) in the
Assignations of
V
by FUNCT_2:7;
the_right_argument_of H in LTL_WFF
by Th1;
then
h . (the_right_argument_of H) in the
Assignations of
V
by FUNCT_2:7;
then A2401:
[(h . (the_left_argument_of H)),(h . (the_right_argument_of H))] in [:the Assignations of V,the Assignations of V:]
by A2301, ZFMISC_1:def 2;
GraftEval V,
Kai,
h,
h,
k,
H = the
RELEASE of
V . (h . (the_left_argument_of H)),
(h . (the_right_argument_of H))
by A2201, Def28;
hence
H1(
H)
in the
Assignations of
V
by A2401, A10, FUNCT_2:7;
:: thesis: verum end; end;
end;
consider f being
Function of
LTL_WFF ,the
Assignations of
V such that A25:
for
H being
set st
H in LTL_WFF holds
f . H = H1(
H)
from FUNCT_2:sch 2(A8);
take
f
;
:: thesis: f is-PreEvaluation-for k + 1,Kai
A26:
for
H being
LTL-formula st
len H < k + 1 holds
f . H = h . H
f is-PreEvaluation-for k + 1,
Kai
proof
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
Not of
V . (f . (the_argument_of H)) ) & (
H is
conjunctive implies
f . H = the
And of
V . (f . (the_left_argument_of H)),
(f . (the_right_argument_of H)) ) & (
H is
disjunctive implies
f . H = the
Or 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;
:: thesis: ( len H <= k + 1 implies ( ( H is atomic implies f . H = Kai . H ) & ( H is negative implies f . H = the Not of V . (f . (the_argument_of H)) ) & ( H is conjunctive implies f . H = the And of V . (f . (the_left_argument_of H)),(f . (the_right_argument_of H)) ) & ( H is disjunctive implies f . H = the Or 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 A29:
len H <= k + 1
;
:: thesis: ( ( H is atomic implies f . H = Kai . H ) & ( H is negative implies f . H = the Not of V . (f . (the_argument_of H)) ) & ( H is conjunctive implies f . H = the And of V . (f . (the_left_argument_of H)),(f . (the_right_argument_of H)) ) & ( H is disjunctive implies f . H = the Or 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)) ) )
A30:
H in LTL_WFF
by Th1;
A31:
f . H =
H1(
H)
by A30, A25
.=
GraftEval V,
Kai,
h,
h,
k,
H
by A30, Def24
;
A32:
(
H is
atomic implies
f . H = Kai . H )
A35:
(
H is
negative implies
f . H = the
Not of
V . (f . (the_argument_of H)) )
A39:
(
H is
conjunctive implies
f . H = the
And of
V . (f . (the_left_argument_of H)),
(f . (the_right_argument_of H)) )
proof
assume A40:
H is
conjunctive
;
:: thesis: f . H = the And of V . (f . (the_left_argument_of H)),(f . (the_right_argument_of H))
then
len (the_left_argument_of H) < len H
by ThArg8;
then
len (the_left_argument_of H) <= k
by A29, Lm1;
then
len (the_left_argument_of H) < k + 1
by NAT_1:13;
then A41:
h . (the_left_argument_of H) = f . (the_left_argument_of H)
by A26;
len (the_right_argument_of H) < len H
by A40, ThArg8;
then
len (the_right_argument_of H) <= k
by A29, Lm1;
then A42:
len (the_right_argument_of H) < k + 1
by NAT_1:13;
per cases
( len H <= k or len H = k + 1 )
by A29, NAT_1:8;
suppose
len H = k + 1
;
:: thesis: f . H = the And of V . (f . (the_left_argument_of H)),(f . (the_right_argument_of H))then GraftEval V,
Kai,
h,
h,
k,
H =
the
And of
V . (h . (the_left_argument_of H)),
(h . (the_right_argument_of H))
by Def28, A40
.=
the
And of
V . (f . (the_left_argument_of H)),
(f . (the_right_argument_of H))
by A41, A42, A26
;
hence
f . H = the
And of
V . (f . (the_left_argument_of H)),
(f . (the_right_argument_of H))
by A31;
:: thesis: verum end; end;
end;
A3901:
(
H is
disjunctive implies
f . H = the
Or of
V . (f . (the_left_argument_of H)),
(f . (the_right_argument_of H)) )
proof
assume A4001:
H is
disjunctive
;
:: thesis: f . H = the Or of V . (f . (the_left_argument_of H)),(f . (the_right_argument_of H))
then
len (the_left_argument_of H) < len H
by ThArg8;
then
len (the_left_argument_of H) <= k
by A29, Lm1;
then
len (the_left_argument_of H) < k + 1
by NAT_1:13;
then A4101:
h . (the_left_argument_of H) = f . (the_left_argument_of H)
by A26;
len (the_right_argument_of H) < len H
by A4001, ThArg8;
then
len (the_right_argument_of H) <= k
by A29, Lm1;
then A4201:
len (the_right_argument_of H) < k + 1
by NAT_1:13;
per cases
( len H <= k or len H = k + 1 )
by A29, NAT_1:8;
suppose
len H = k + 1
;
:: thesis: f . H = the Or of V . (f . (the_left_argument_of H)),(f . (the_right_argument_of H))then GraftEval V,
Kai,
h,
h,
k,
H =
the
Or of
V . (h . (the_left_argument_of H)),
(h . (the_right_argument_of H))
by Def28, A4001
.=
the
Or of
V . (f . (the_left_argument_of H)),
(f . (the_right_argument_of H))
by A4101, A4201, A26
;
hence
f . H = the
Or of
V . (f . (the_left_argument_of H)),
(f . (the_right_argument_of H))
by A31;
:: thesis: verum end; end;
end;
A44:
(
H is
next implies
f . H = the
NEXT of
V . (f . (the_argument_of H)) )
A50:
(
H is
Until implies
f . H = the
UNTIL of
V . (f . (the_left_argument_of H)),
(f . (the_right_argument_of H)) )
proof
assume A52:
H is
Until
;
:: thesis: f . H = the UNTIL of V . (f . (the_left_argument_of H)),(f . (the_right_argument_of H))
then
len (the_left_argument_of H) < len H
by ThArg8;
then
len (the_left_argument_of H) <= k
by A29, Lm1;
then
len (the_left_argument_of H) < k + 1
by NAT_1:13;
then A53:
h . (the_left_argument_of H) = f . (the_left_argument_of H)
by A26;
len (the_right_argument_of H) < len H
by ThArg8, A52;
then
len (the_right_argument_of H) <= k
by A29, Lm1;
then A54:
len (the_right_argument_of H) < k + 1
by NAT_1:13;
per cases
( len H <= k or len H = k + 1 )
by A29, NAT_1:8;
suppose
len H = k + 1
;
:: thesis: 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 Def28, A52
.=
the
UNTIL of
V . (f . (the_left_argument_of H)),
(f . (the_right_argument_of H))
by A53, A54, A26
;
hence
f . H = the
UNTIL of
V . (f . (the_left_argument_of H)),
(f . (the_right_argument_of H))
by A31;
:: thesis: verum end; end;
end;
(
H is
Release implies
f . H = the
RELEASE of
V . (f . (the_left_argument_of H)),
(f . (the_right_argument_of H)) )
proof
assume A5201:
H is
Release
;
:: thesis: f . H = the RELEASE of V . (f . (the_left_argument_of H)),(f . (the_right_argument_of H))
then
len (the_left_argument_of H) < len H
by ThArg8;
then
len (the_left_argument_of H) <= k
by A29, Lm1;
then
len (the_left_argument_of H) < k + 1
by NAT_1:13;
then A5301:
h . (the_left_argument_of H) = f . (the_left_argument_of H)
by A26;
len (the_right_argument_of H) < len H
by ThArg8, A5201;
then
len (the_right_argument_of H) <= k
by A29, Lm1;
then A5401:
len (the_right_argument_of H) < k + 1
by NAT_1:13;
per cases
( len H <= k or len H = k + 1 )
by A29, NAT_1:8;
suppose
len H = k + 1
;
:: thesis: 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 Def28, A5201
.=
the
RELEASE of
V . (f . (the_left_argument_of H)),
(f . (the_right_argument_of H))
by A5301, A5401, A26
;
hence
f . H = the
RELEASE of
V . (f . (the_left_argument_of H)),
(f . (the_right_argument_of H))
by A31;
:: thesis: verum end; end;
end;
hence
( (
H is
atomic implies
f . H = Kai . H ) & (
H is
negative implies
f . H = the
Not of
V . (f . (the_argument_of H)) ) & (
H is
conjunctive implies
f . H = the
And of
V . (f . (the_left_argument_of H)),
(f . (the_right_argument_of H)) ) & (
H is
disjunctive implies
f . H = the
Or 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 A32, A35, A39, A3901, A44, A50;
:: thesis: verum
end;
hence
f is-PreEvaluation-for k + 1,
Kai
by Def27;
:: thesis: verum
end;
hence
f is-PreEvaluation-for k + 1,
Kai
;
:: thesis: verum
end;
hence
S1[
k + 1]
;
:: thesis: verum
end;
for n being Nat holds S1[n]
from NAT_1:sch 2(A1, A5);
hence
for n being Nat ex f being Function of LTL_WFF ,the Assignations of V st f is-PreEvaluation-for n,Kai
; :: thesis: verum