let p1, p2 be FinSequence; for q1, q2 being FinSubsequence st q1 c= p1 & q2 c= p2 holds
ex ss being FinSubsequence st
( ss = q1 \/ ((len p1) Shift q2) & dom (Seq ss) = Seg ((len (Seq q1)) + (len (Seq q2))) & Seq ss = (Seq q1) \/ ((len (Seq q1)) Shift (Seq q2)) )
let q1, q2 be FinSubsequence; ( q1 c= p1 & q2 c= p2 implies ex ss being FinSubsequence st
( ss = q1 \/ ((len p1) Shift q2) & dom (Seq ss) = Seg ((len (Seq q1)) + (len (Seq q2))) & Seq ss = (Seq q1) \/ ((len (Seq q1)) Shift (Seq q2)) ) )
assume that
A1:
q1 c= p1
and
A2:
q2 c= p2
; ex ss being FinSubsequence st
( ss = q1 \/ ((len p1) Shift q2) & dom (Seq ss) = Seg ((len (Seq q1)) + (len (Seq q2))) & Seq ss = (Seq q1) \/ ((len (Seq q1)) Shift (Seq q2)) )
consider ss being FinSubsequence such that
A3:
ss = q1 \/ ((len p1) Shift q2)
and
A4:
dom (Seq ss) = Seg ((len (Seq q1)) + (len (Seq q2)))
by A1, A2, Th80;
A5:
Seg ((len (Seq q1)) + (len (Seq q2))) = { k where k is Element of NAT : ( 1 <= k & k <= (len (Seq q1)) + (len (Seq q2)) ) }
by FINSEQ_1:def 1;
A6: dom (Seq q1) =
Seg (len (Seq q1))
by FINSEQ_1:def 3
.=
{ k where k is Element of NAT : ( 1 <= k & k <= len (Seq q1) ) }
by FINSEQ_1:def 1
;
A7:
dom ((len (Seq q1)) Shift (Seq q2)) = { k where k is Element of NAT : ( (len (Seq q1)) + 1 <= k & k <= (len (Seq q1)) + (len (Seq q2)) ) }
by Th54;
A8:
Seg ((len (Seq q1)) + (len (Seq q2))) = (dom (Seq q1)) \/ (dom ((len (Seq q1)) Shift (Seq q2)))
A23:
(dom (Seq q1)) \/ (dom ((len (Seq q1)) Shift (Seq q2))) = dom ((Seq q1) \/ ((len (Seq q1)) Shift (Seq q2)))
by RELAT_1:1;
dom (Seq q1) misses dom ((len (Seq q1)) Shift (Seq q2))
by Th63;
then reconsider ss1 = (Seq q1) \/ ((len (Seq q1)) Shift (Seq q2)) as Function by GRFUNC_1:13;
for x being set st x in dom (Seq ss) holds
(Seq ss) . x = ss1 . x
proof
let x be
set ;
( x in dom (Seq ss) implies (Seq ss) . x = ss1 . x )
assume A24:
x in dom (Seq ss)
;
(Seq ss) . x = ss1 . x
then A25:
x in dom (ss * (Sgm (dom ss)))
by FINSEQ_1:def 14;
A26:
(Seq ss) . x =
(ss * (Sgm (dom ss))) . x
by FINSEQ_1:def 14
.=
ss . ((Sgm (dom ss)) . x)
by A25, FUNCT_1:12
.=
ss . ((Sgm ((dom q1) \/ (dom ((len p1) Shift q2)))) . x)
by A3, RELAT_1:1
.=
ss . (((Sgm (dom q1)) ^ (Sgm (dom ((len p1) Shift q2)))) . x)
by A1, A2, Lm12
;
now assume A31:
x in dom ((len (Seq q1)) Shift (Seq q2))
;
(Seq ss) . x = ss1 . x
dom ((len (Seq q1)) Shift (Seq q2)) = { ((len (Seq q1)) + j) where j is Element of NAT : j in dom (Seq q2) }
by Def15;
then consider j being
Element of
NAT such that A32:
x = (len (Seq q1)) + j
and A33:
j in dom (Seq q2)
by A31;
A34:
ss1 . x =
((len (Seq q1)) Shift (Seq q2)) . x
by A31, GRFUNC_1:15
.=
(Seq q2) . j
by A32, A33, Def15
;
A35:
ex
l1 being
Nat st
dom q1 c= Seg l1
by FINSEQ_1:def 12;
A36:
ex
l2 being
Nat st
dom ((len p1) Shift q2) c= Seg l2
by FINSEQ_1:def 12;
card (dom q1) = len (Sgm (dom q1))
by A35, FINSEQ_3:39;
then A37:
card q1 = len (Sgm (dom q1))
by CARD_1:62;
A38:
len (Seq q1) = card q1
by Th7;
A39:
dom (Seq q2) = Seg (len (Seq q2))
by FINSEQ_1:def 3;
card q2 = len (Seq q2)
by Th7;
then
card ((len p1) Shift q2) = len (Seq q2)
by Th57;
then A40:
card (dom ((len p1) Shift q2)) = len (Seq q2)
by CARD_1:62;
A41:
card (dom ((len p1) Shift q2)) = len (Sgm (dom ((len p1) Shift q2)))
by A36, FINSEQ_3:39;
A42:
len (Sgm (dom ((len p1) Shift q2))) = len (Seq q2)
by A36, A40, FINSEQ_3:39;
A43:
dom (Seq q2) = dom (Sgm (dom ((len p1) Shift q2)))
by A39, A40, A41, FINSEQ_1:def 3;
A44:
j in dom (Sgm (dom ((len p1) Shift q2)))
by A33, A39, A42, FINSEQ_1:def 3;
(Sgm (dom ((len p1) Shift q2))) . j in rng (Sgm (dom ((len p1) Shift q2)))
by A33, A43, FUNCT_1:def 3;
then A45:
(Sgm (dom ((len p1) Shift q2))) . j in dom ((len p1) Shift q2)
by FINSEQ_1:50;
(Seq ss) . x =
ss . ((Sgm (dom ((len p1) Shift q2))) . j)
by A26, A32, A37, A38, A44, FINSEQ_1:def 7
.=
((len p1) Shift q2) . ((Sgm (dom ((len p1) Shift q2))) . j)
by A3, A45, GRFUNC_1:15
.=
(((len p1) Shift q2) * (Sgm (dom ((len p1) Shift q2)))) . j
by A33, A43, FUNCT_1:13
.=
(Seq ((len p1) Shift q2)) . j
by FINSEQ_1:def 14
.=
(Seq q2) . j
by A33, Th76
;
hence
(Seq ss) . x = ss1 . x
by A34;
verum end;
hence
(Seq ss) . x = ss1 . x
by A4, A8, A24, A27, XBOOLE_0:def 3;
verum
end;
then
Seq ss = ss1
by A4, A8, A23, FUNCT_1:2;
hence
ex ss being FinSubsequence st
( ss = q1 \/ ((len p1) Shift q2) & dom (Seq ss) = Seg ((len (Seq q1)) + (len (Seq q2))) & Seq ss = (Seq q1) \/ ((len (Seq q1)) Shift (Seq q2)) )
by A3, A4; verum