let a, n be Nat; :: thesis: ( n >= a + 1 implies TriangleShift2 ((n + 1),a) = (TriangleShift2 (n,a)) ^ <*(Triangle n)*> )
set f = TriangleShift2 ((n + 1),a);
set g = TriangleShift2 (n,a);
set h = <*H2(n)*>;
assume A1: n >= a + 1 ; :: thesis: TriangleShift2 ((n + 1),a) = (TriangleShift2 (n,a)) ^ <*(Triangle n)*>
then A2: n + 1 >= a + 1 by NAT_1:13;
A3: len (TriangleShift2 ((n + 1),a)) = ((n + 1) - a) - 1 by A2, Def15;
A4: len (TriangleShift2 (n,a)) = (n - a) - 1 by A1, Def15;
A5: len <*H2(n)*> = 1 by CARD_1:def 7;
A6: len ((TriangleShift2 (n,a)) ^ <*H2(n)*>) = (len (TriangleShift2 (n,a))) + (len <*H2(n)*>) by FINSEQ_1:22;
hence len (TriangleShift2 ((n + 1),a)) = len ((TriangleShift2 (n,a)) ^ <*H2(n)*>) by A3, A4, A5; :: according to FINSEQ_1:def 18 :: thesis: for b1 being set holds
( not 1 <= b1 or not b1 <= len (TriangleShift2 ((n + 1),a)) or (TriangleShift2 ((n + 1),a)) . b1 = ((TriangleShift2 (n,a)) ^ <*(Triangle n)*>) . b1 )

let k be Nat; :: thesis: ( not 1 <= k or not k <= len (TriangleShift2 ((n + 1),a)) or (TriangleShift2 ((n + 1),a)) . k = ((TriangleShift2 (n,a)) ^ <*(Triangle n)*>) . k )
assume that
A7: 1 <= k and
A8: k <= len (TriangleShift2 ((n + 1),a)) ; :: thesis: (TriangleShift2 ((n + 1),a)) . k = ((TriangleShift2 (n,a)) ^ <*(Triangle n)*>) . k
A9: (TriangleShift2 ((n + 1),a)) . k = H2(k + a) by A2, A7, A8, Def15;
per cases ( k <= len (TriangleShift2 (n,a)) or k > len (TriangleShift2 (n,a)) ) ;
suppose A10: k <= len (TriangleShift2 (n,a)) ; :: thesis: (TriangleShift2 ((n + 1),a)) . k = ((TriangleShift2 (n,a)) ^ <*(Triangle n)*>) . k
hence (TriangleShift2 ((n + 1),a)) . k = (TriangleShift2 (n,a)) . k by A1, A7, A9, Def15
.= ((TriangleShift2 (n,a)) ^ <*H2(n)*>) . k by A7, A10, FINSEQ_1:64 ;
:: thesis: verum
end;
suppose A11: k > len (TriangleShift2 (n,a)) ; :: thesis: (TriangleShift2 ((n + 1),a)) . k = ((TriangleShift2 (n,a)) ^ <*(Triangle n)*>) . k
then ((n - a) - 1) + 1 <= k by A4, NAT_1:13;
then k = n - a by A3, A8, XXREAL_0:1;
hence (TriangleShift2 ((n + 1),a)) . k = <*H2(n)*> . (k - (len (TriangleShift2 (n,a)))) by A4, A9
.= ((TriangleShift2 (n,a)) ^ <*H2(n)*>) . k by A3, A4, A5, A6, A8, A11, FINSEQ_1:24 ;
:: thesis: verum
end;
end;