let x1, x2, x3, x4 be set ; :: thesis: for p being FinSequence holds
( p = <*x1,x2,x3,x4*> iff ( len p = 4 & p . 1 = x1 & p . 2 = x2 & p . 3 = x3 & p . 4 = x4 ) )
let p be FinSequence; :: thesis: ( p = <*x1,x2,x3,x4*> iff ( len p = 4 & p . 1 = x1 & p . 2 = x2 & p . 3 = x3 & p . 4 = x4 ) )
thus
( p = <*x1,x2,x3,x4*> implies ( len p = 4 & p . 1 = x1 & p . 2 = x2 & p . 3 = x3 & p . 4 = x4 ) )
:: thesis: ( len p = 4 & p . 1 = x1 & p . 2 = x2 & p . 3 = x3 & p . 4 = x4 implies p = <*x1,x2,x3,x4*> )proof
assume A1:
p = <*x1,x2,x3,x4*>
;
:: thesis: ( len p = 4 & p . 1 = x1 & p . 2 = x2 & p . 3 = x3 & p . 4 = x4 )
hence len p =
(len <*x1,x2,x3*>) + (len <*x4*>)
by FINSEQ_1:35
.=
3
+ (len <*x4*>)
by FINSEQ_1:62
.=
3
+ 1
by FINSEQ_1:57
.=
4
;
:: thesis: ( p . 1 = x1 & p . 2 = x2 & p . 3 = x3 & p . 4 = x4 )
set p3 =
<*x1,x2,x3*>;
A2:
dom <*x1,x2,x3*> = {1,2,3}
by FINSEQ_3:1, FINSEQ_3:30;
then
1
in dom <*x1,x2,x3*>
by ENUMSET1:def 1;
hence p . 1 =
<*x1,x2,x3*> . 1
by A1, FINSEQ_1:def 7
.=
x1
by FINSEQ_1:62
;
:: thesis: ( p . 2 = x2 & p . 3 = x3 & p . 4 = x4 )
2
in dom <*x1,x2,x3*>
by A2, ENUMSET1:def 1;
hence p . 2 =
<*x1,x2,x3*> . 2
by A1, FINSEQ_1:def 7
.=
x2
by FINSEQ_1:62
;
:: thesis: ( p . 3 = x3 & p . 4 = x4 )
3
in dom <*x1,x2,x3*>
by A2, ENUMSET1:def 1;
hence p . 3 =
<*x1,x2,x3*> . 3
by A1, FINSEQ_1:def 7
.=
x3
by FINSEQ_1:62
;
:: thesis: p . 4 = x4
1
in {1}
by TARSKI:def 1;
then A3:
1
in dom <*x4*>
by FINSEQ_1:4, FINSEQ_1:def 8;
thus p . 4 =
(<*x1,x2,x3*> ^ <*x4*>) . (3 + 1)
by A1
.=
(<*x1,x2,x3*> ^ <*x4*>) . ((len <*x1,x2,x3*>) + 1)
by FINSEQ_1:62
.=
<*x4*> . 1
by A3, FINSEQ_1:def 7
.=
x4
by FINSEQ_1:def 8
;
:: thesis: verum
end;
assume A4:
( len p = 4 & p . 1 = x1 & p . 2 = x2 & p . 3 = x3 & p . 4 = x4 )
; :: thesis: p = <*x1,x2,x3,x4*>
then A5: dom p =
Seg (3 + 1)
by FINSEQ_1:def 3
.=
Seg ((len <*x1,x2,x3*>) + 1)
by FINSEQ_1:62
.=
Seg ((len <*x1,x2,x3*>) + (len <*x4*>))
by FINSEQ_1:56
;
A6:
for k being Nat st k in dom <*x1,x2,x3*> holds
p . k = <*x1,x2,x3*> . k
proof
let k be
Nat;
:: thesis: ( k in dom <*x1,x2,x3*> implies p . k = <*x1,x2,x3*> . k )
assume A7:
k in dom <*x1,x2,x3*>
;
:: thesis: p . k = <*x1,x2,x3*> . k
len <*x1,x2,x3*> = 3
by FINSEQ_1:62;
then A8:
k in {1,2,3}
by A7, FINSEQ_1:def 3, FINSEQ_3:1;
end;
for k being Nat st k in dom <*x4*> holds
p . ((len <*x1,x2,x3*>) + k) = <*x4*> . k
hence
p = <*x1,x2,x3,x4*>
by A5, A6, FINSEQ_1:def 7; :: thesis: verum