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;
A12:
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;
A13: 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
;
A14:
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;
A15:
Seg ((len (Seq q1)) + (len (Seq q2))) = (dom (Seq q1)) \/ (dom ((len (Seq q1)) Shift (Seq q2)))
A30:
(dom (Seq q1)) \/ (dom ((len (Seq q1)) Shift (Seq q2))) = dom ((Seq q1) \/ ((len (Seq q1)) Shift (Seq q2)))
by RELAT_1:13;
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:31;
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 A31:
x in dom (Seq ss)
;
(Seq ss) . x = ss1 . x
then A32:
x in dom (ss * (Sgm (dom ss)))
by FINSEQ_1:def 14;
A33:
(Seq ss) . x =
(ss * (Sgm (dom ss))) . x
by FINSEQ_1:def 14
.=
ss . ((Sgm (dom ss)) . x)
by A32, FUNCT_1:22
.=
ss . ((Sgm ((dom q1) \/ (dom ((len p1) Shift q2)))) . x)
by A3, RELAT_1:13
.=
ss . (((Sgm (dom q1)) ^ (Sgm (dom ((len p1) Shift q2)))) . x)
by A1, A2, Lm11
;
now assume A38:
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 A39:
x = (len (Seq q1)) + j
and A40:
j in dom (Seq q2)
by A38;
A41:
ss1 . x =
((len (Seq q1)) Shift (Seq q2)) . x
by A38, GRFUNC_1:35
.=
(Seq q2) . j
by A39, A40, Def15
;
A42:
ex
l1 being
Nat st
dom q1 c= Seg l1
by FINSEQ_1:def 12;
A43:
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 A42, FINSEQ_3:44;
then A44:
card q1 = len (Sgm (dom q1))
by CARD_1:104;
A45:
len (Seq q1) = card q1
by Th7;
A46:
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 A47:
card (dom ((len p1) Shift q2)) = len (Seq q2)
by CARD_1:104;
A48:
card (dom ((len p1) Shift q2)) = len (Sgm (dom ((len p1) Shift q2)))
by A43, FINSEQ_3:44;
A49:
len (Sgm (dom ((len p1) Shift q2))) = len (Seq q2)
by A43, A47, FINSEQ_3:44;
A50:
dom (Seq q2) = dom (Sgm (dom ((len p1) Shift q2)))
by A46, A47, A48, FINSEQ_1:def 3;
A51:
j in dom (Sgm (dom ((len p1) Shift q2)))
by A40, A46, A49, FINSEQ_1:def 3;
(Sgm (dom ((len p1) Shift q2))) . j in rng (Sgm (dom ((len p1) Shift q2)))
by A40, A50, FUNCT_1:def 5;
then A52:
(Sgm (dom ((len p1) Shift q2))) . j in dom ((len p1) Shift q2)
by FINSEQ_1:71;
(Seq ss) . x =
ss . ((Sgm (dom ((len p1) Shift q2))) . j)
by A33, A39, A44, A45, A51, FINSEQ_1:def 7
.=
((len p1) Shift q2) . ((Sgm (dom ((len p1) Shift q2))) . j)
by A3, A52, GRFUNC_1:35
.=
(((len p1) Shift q2) * (Sgm (dom ((len p1) Shift q2)))) . j
by A40, A50, FUNCT_1:23
.=
(Seq ((len p1) Shift q2)) . j
by FINSEQ_1:def 14
.=
(Seq q2) . j
by A40, Th76
;
hence
(Seq ss) . x = ss1 . x
by A41;
verum end;
hence
(Seq ss) . x = ss1 . x
by A4, A15, A31, A34, XBOOLE_0:def 3;
verum
end;
then
Seq ss = ss1
by A4, A15, A30, FUNCT_1:9;
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