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 ]
proof
consider v0 being set such that
A2: v0 in the Assignations of V by XBOOLE_0:def 1;
A3: {v0} c= the Assignations of V by A2, ZFMISC_1:37;
set f = LTL_WFF --> v0;
( dom (LTL_WFF --> v0) = LTL_WFF & rng (LTL_WFF --> v0) c= {v0} ) by FUNCOP_1:19;
then reconsider f = LTL_WFF --> v0 as Function of LTL_WFF ,the Assignations of V by A3, FUNCT_2:4, XBOOLE_1:1;
take f ; :: thesis: f is-PreEvaluation-for 0 ,Kai
thus f is-PreEvaluation-for 0 ,Kai by Lm24; :: thesis: verum
end;
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 len H > k + 1 ; :: thesis: H1(H) in the Assignations of V
then GraftEval V,Kai,h,h,k,H = h . H by Def28;
hence H1(H) in the Assignations of V by A9, A10, FUNCT_2:7; :: thesis: verum
end;
suppose A18: ( len H = k + 1 & H is next ) ; :: thesis: H1(H) in the Assignations of V
end;
suppose len H < k + 1 ; :: thesis: H1(H) in the Assignations of V
then GraftEval V,Kai,h,h,k,H = h . H by Def28;
hence H1(H) in the Assignations of V by A9, 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
proof
let H be LTL-formula; :: thesis: ( len H < k + 1 implies f . H = h . H )
assume A27: len H < k + 1 ; :: thesis: f . H = h . H
A28: H in LTL_WFF by Th1;
f . H = H1(H) by A28, A25
.= GraftEval V,Kai,h,h,k,H by A28, Def24 ;
hence f . H = h . H by Def28, A27; :: thesis: verum
end;
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 )
proof
assume A33: H is atomic ; :: thesis: f . H = Kai . H
per cases ( len H <= k or len H = k + 1 ) by A29, NAT_1:8;
suppose A34: len H <= k ; :: thesis: f . H = Kai . H
then len H < k + 1 by NAT_1:13;
then f . H = h . H by A26
.= Kai . H by A7, A33, A34, Def27 ;
hence f . H = Kai . H ; :: thesis: verum
end;
suppose len H = k + 1 ; :: thesis: f . H = Kai . H
hence f . H = Kai . H by A33, Def28, A31; :: thesis: verum
end;
end;
end;
A35: ( H is negative implies f . H = the Not of V . (f . (the_argument_of H)) )
proof
assume A36: H is negative ; :: thesis: f . H = the Not of V . (f . (the_argument_of H))
then len (the_argument_of H) < len H by ThArg7;
then len (the_argument_of H) <= k by A29, Lm1;
then A37: len (the_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 A38: len H <= k ; :: thesis: f . H = the Not of V . (f . (the_argument_of H))
then len H < k + 1 by NAT_1:13;
then f . H = h . H by A26
.= the Not of V . (h . (the_argument_of H)) by A7, A36, A38, Def27 ;
hence f . H = the Not of V . (f . (the_argument_of H)) by A37, A26; :: thesis: verum
end;
suppose len H = k + 1 ; :: thesis: f . H = the Not of V . (f . (the_argument_of H))
then GraftEval V,Kai,h,h,k,H = the Not of V . (h . (the_argument_of H)) by Def28, A36
.= the Not of V . (f . (the_argument_of H)) by A37, A26 ;
hence f . H = the Not of V . (f . (the_argument_of H)) by A31; :: thesis: verum
end;
end;
end;
A39: ( H is conjunctive implies f . H = the And of V . (f . (the_left_argument_of H)),(f . (the_right_argument_of H)) )
proof 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 end;
A44: ( H is next implies f . H = the NEXT of V . (f . (the_argument_of H)) )
proof
assume A45: H is next ; :: thesis: f . H = the NEXT of V . (f . (the_argument_of H))
then len (the_argument_of H) < len H by ThArg7;
then len (the_argument_of H) <= k by A29, Lm1;
then A46: len (the_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 A47: len H <= k ; :: thesis: f . H = the NEXT of V . (f . (the_argument_of H))
then len H < k + 1 by NAT_1:13;
then f . H = h . H by A26
.= the NEXT of V . (h . (the_argument_of H)) by A7, A45, A47, Def27 ;
hence f . H = the NEXT of V . (f . (the_argument_of H)) by A46, A26; :: thesis: verum
end;
suppose len H = k + 1 ; :: thesis: f . H = the NEXT of V . (f . (the_argument_of H))
then GraftEval V,Kai,h,h,k,H = the NEXT of V . (h . (the_argument_of H)) by Def28, A45
.= the NEXT of V . (f . (the_argument_of H)) by A46, A26 ;
hence f . H = the NEXT of V . (f . (the_argument_of H)) by A31; :: thesis: verum
end;
end;
end;
A50: ( H is Until implies f . H = the UNTIL of V . (f . (the_left_argument_of H)),(f . (the_right_argument_of H)) )
proof 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 A5501: len H <= k ; :: thesis: f . H = the RELEASE of V . (f . (the_left_argument_of H)),(f . (the_right_argument_of H))
then len H < k + 1 by NAT_1:13;
then f . H = h . H by A26
.= the RELEASE of V . (h . (the_left_argument_of H)),(h . (the_right_argument_of H)) by A7, A5201, A5501, Def27 ;
hence f . H = the RELEASE of V . (f . (the_left_argument_of H)),(f . (the_right_argument_of H)) by A5301, A5401, A26; :: thesis: verum
end;
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