let k be Nat; for L being FinSequence
for v being LTL-formula st L is_Finseq_for v & 1 <= k & k <= len L holds
len (CastNode ((L . k),v)) <= ((len (CastNode ((L . 1),v))) - k) + 1
let L be FinSequence; for v being LTL-formula st L is_Finseq_for v & 1 <= k & k <= len L holds
len (CastNode ((L . k),v)) <= ((len (CastNode ((L . 1),v))) - k) + 1
let v be LTL-formula; ( L is_Finseq_for v & 1 <= k & k <= len L implies len (CastNode ((L . k),v)) <= ((len (CastNode ((L . 1),v))) - k) + 1 )
defpred S1[ Nat] means for L being FinSequence
for j being Nat st len L <= $1 & L is_Finseq_for v & 1 <= j & j <= len L holds
len (CastNode ((L . j),v)) <= ((len (CastNode ((L . 1),v))) - j) + 1;
A1:
for n being Nat st S1[n] holds
S1[n + 1]
proof
let n be
Nat;
( S1[n] implies S1[n + 1] )
assume A2:
S1[
n]
;
S1[n + 1]
A3:
for
L being
FinSequence for
k being
Nat st
len L = n + 1 &
L is_Finseq_for v & 1
<= k &
k <= len L holds
len (CastNode ((L . k),v)) <= ((len (CastNode ((L . 1),v))) - k) + 1
proof
let L be
FinSequence;
for k being Nat st len L = n + 1 & L is_Finseq_for v & 1 <= k & k <= len L holds
len (CastNode ((L . k),v)) <= ((len (CastNode ((L . 1),v))) - k) + 1let k be
Nat;
( len L = n + 1 & L is_Finseq_for v & 1 <= k & k <= len L implies len (CastNode ((L . k),v)) <= ((len (CastNode ((L . 1),v))) - k) + 1 )
assume A4:
len L = n + 1
;
( not L is_Finseq_for v or not 1 <= k or not k <= len L or len (CastNode ((L . k),v)) <= ((len (CastNode ((L . 1),v))) - k) + 1 )
(
L is_Finseq_for v & 1
<= k &
k <= len L implies
len (CastNode ((L . k),v)) <= ((len (CastNode ((L . 1),v))) - k) + 1 )
proof
set L1 =
L | (Seg n);
assume that A5:
L is_Finseq_for v
and A6:
1
<= k
and A7:
k <= len L
;
len (CastNode ((L . k),v)) <= ((len (CastNode ((L . 1),v))) - k) + 1
reconsider L1 =
L | (Seg n) as
FinSequence by FINSEQ_1:15;
A8:
n < len L
by A4, NAT_1:13;
then A9:
len L1 = n
by FINSEQ_1:17;
A10:
dom L1 = Seg n
by A8, FINSEQ_1:17;
A11:
for
m being
Nat st 1
<= m &
m <= n holds
L1 . m = L . m
by A10, FINSEQ_1:1, FUNCT_1:47;
A12:
( not
n = 0 implies
0 < 0 + n )
;
now len (CastNode ((L . k),v)) <= ((len (CastNode ((L . 1),v))) - k) + 1per cases
( k <= n or ( k = n + 1 & n >= 1 ) or ( k = n + 1 & n = 0 ) )
by A4, A7, A12, NAT_1:8, NAT_1:19;
suppose A13:
k <= n
;
len (CastNode ((L . k),v)) <= ((len (CastNode ((L . 1),v))) - k) + 1then
1
<= n
by A6, XXREAL_0:2;
then A14:
L1 . 1
= L . 1
by A11;
L1 . k = L . k
by A6, A11, A13;
hence
len (CastNode ((L . k),v)) <= ((len (CastNode ((L . 1),v))) - k) + 1
by A2, A5, A6, A8, A9, A13, A14, Th26;
verum end; suppose A15:
(
k = n + 1 &
n >= 1 )
;
len (CastNode ((L . k),v)) <= ((len (CastNode ((L . 1),v))) - k) + 1then
len (CastNode ((L . k),v)) <= (len (CastNode ((L . n),v))) - 1
by A5, A8, Th21, Th35;
then A16:
(len (CastNode ((L . k),v))) + 1
<= ((len (CastNode ((L . n),v))) - 1) + 1
by XREAL_1:6;
(
L1 . n = L . n &
L1 . 1
= L . 1 )
by A11, A15;
then
len (CastNode ((L . n),v)) <= ((len (CastNode ((L . 1),v))) - n) + 1
by A2, A5, A8, A9, A15, Th26;
then
(len (CastNode ((L . k),v))) + 1
<= ((len (CastNode ((L . 1),v))) - n) + 1
by A16, XXREAL_0:2;
hence
len (CastNode ((L . k),v)) <= ((len (CastNode ((L . 1),v))) - k) + 1
by A15, XREAL_1:6;
verum end; end; end;
hence
len (CastNode ((L . k),v)) <= ((len (CastNode ((L . 1),v))) - k) + 1
;
verum
end;
hence
( not
L is_Finseq_for v or not 1
<= k or not
k <= len L or
len (CastNode ((L . k),v)) <= ((len (CastNode ((L . 1),v))) - k) + 1 )
;
verum
end;
S1[
n + 1]
proof
let L be
FinSequence;
for j being Nat st len L <= n + 1 & L is_Finseq_for v & 1 <= j & j <= len L holds
len (CastNode ((L . j),v)) <= ((len (CastNode ((L . 1),v))) - j) + 1let j be
Nat;
( len L <= n + 1 & L is_Finseq_for v & 1 <= j & j <= len L implies len (CastNode ((L . j),v)) <= ((len (CastNode ((L . 1),v))) - j) + 1 )
assume A17:
len L <= n + 1
;
( not L is_Finseq_for v or not 1 <= j or not j <= len L or len (CastNode ((L . j),v)) <= ((len (CastNode ((L . 1),v))) - j) + 1 )
(
L is_Finseq_for v & 1
<= j &
j <= len L implies
len (CastNode ((L . j),v)) <= ((len (CastNode ((L . 1),v))) - j) + 1 )
hence
( not
L is_Finseq_for v or not 1
<= j or not
j <= len L or
len (CastNode ((L . j),v)) <= ((len (CastNode ((L . 1),v))) - j) + 1 )
;
verum
end;
hence
S1[
n + 1]
;
verum
end;
A18:
S1[ 0 ]
;
for n being Nat holds S1[n]
from NAT_1:sch 2(A18, A1);
hence
( L is_Finseq_for v & 1 <= k & k <= len L implies len (CastNode ((L . k),v)) <= ((len (CastNode ((L . 1),v))) - k) + 1 )
; verum