:: The Inner Product of Finite Sequences and of Points of $n$-dimensional Topological Space
:: by Kanchun and Yatsuka Nakamura
::
:: Received February 3, 2003
:: Copyright (c) 2003-2011 Association of Mizar Users


begin

theorem Th1: :: EUCLID_2:1
for n, i being Nat
for v being Element of n -tuples_on REAL holds (mlt (v,(0* n))) . i = 0
proof end;

theorem Th2: :: EUCLID_2:2
for n being Nat
for v being Element of n -tuples_on REAL holds mlt (v,(0* n)) = 0* n
proof end;

begin

theorem :: EUCLID_2:3
canceled;

theorem :: EUCLID_2:4
canceled;

theorem :: EUCLID_2:5
canceled;

theorem :: EUCLID_2:6
canceled;

theorem :: EUCLID_2:7
canceled;

theorem :: EUCLID_2:8
canceled;

theorem :: EUCLID_2:9
canceled;

theorem Th10: :: EUCLID_2:10
for n being Nat
for y1, y2 being real-valued FinSequence
for x1, x2 being Element of REAL n st x1 = y1 & x2 = y2 holds
|(y1,y2)| = (1 / 4) * ((|.(x1 + x2).| ^2) - (|.(x1 - x2).| ^2))
proof end;

theorem :: EUCLID_2:11
canceled;

Lm1: now
let x be real-valued FinSequence; :: thesis: x is FinSequence of REAL
rng x c= REAL ;
hence x is FinSequence of REAL by FINSEQ_1:def 4; :: thesis: verum
end;

theorem Th12: :: EUCLID_2:12
for x being real-valued FinSequence holds |.x.| ^2 = |(x,x)|
proof end;

theorem Th13: :: EUCLID_2:13
for x being real-valued FinSequence holds |.x.| = sqrt |(x,x)|
proof end;

theorem Th14: :: EUCLID_2:14
for x being real-valued FinSequence holds 0 <= |.x.|
proof end;

theorem Th15: :: EUCLID_2:15
for x being real-valued FinSequence holds
( |(x,x)| = 0 iff x = 0* (len x) )
proof end;

theorem :: EUCLID_2:16
for x being real-valued FinSequence holds
( |(x,x)| = 0 iff |.x.| = 0 )
proof end;

theorem Th17: :: EUCLID_2:17
for x being real-valued FinSequence holds |(x,(0* (len x)))| = 0
proof end;

theorem :: EUCLID_2:18
for x being real-valued FinSequence holds |((0* (len x)),x)| = 0 by Th17;

theorem :: EUCLID_2:19
canceled;

theorem :: EUCLID_2:20
canceled;

theorem :: EUCLID_2:21
canceled;

theorem :: EUCLID_2:22
canceled;

theorem :: EUCLID_2:23
canceled;

theorem :: EUCLID_2:24
canceled;

theorem :: EUCLID_2:25
canceled;

theorem :: EUCLID_2:26
canceled;

theorem :: EUCLID_2:27
canceled;

theorem :: EUCLID_2:28
canceled;

theorem :: EUCLID_2:29
canceled;

theorem :: EUCLID_2:30
canceled;

theorem :: EUCLID_2:31
canceled;

theorem :: EUCLID_2:32
canceled;

theorem Th33: :: EUCLID_2:33
for x, y being real-valued FinSequence st len x = len y holds
|.(x + y).| ^2 = ((|.x.| ^2) + (2 * |(y,x)|)) + (|.y.| ^2)
proof end;

theorem Th34: :: EUCLID_2:34
for x, y being real-valued FinSequence st len x = len y holds
|.(x - y).| ^2 = ((|.x.| ^2) - (2 * |(y,x)|)) + (|.y.| ^2)
proof end;

theorem :: EUCLID_2:35
for x, y being real-valued FinSequence st len x = len y holds
(|.(x + y).| ^2) + (|.(x - y).| ^2) = 2 * ((|.x.| ^2) + (|.y.| ^2))
proof end;

theorem :: EUCLID_2:36
for x, y being real-valued FinSequence st len x = len y holds
(|.(x + y).| ^2) - (|.(x - y).| ^2) = 4 * |(x,y)|
proof end;

theorem Th37: :: EUCLID_2:37
for x, y being real-valued FinSequence st len x = len y holds
abs |(x,y)| <= |.x.| * |.y.|
proof end;

theorem Th38: :: EUCLID_2:38
for x, y being real-valued FinSequence st len x = len y holds
|.(x + y).| <= |.x.| + |.y.|
proof end;

begin

theorem :: EUCLID_2:39
for n being Nat
for p1, p2 being Point of (TOP-REAL n) holds |(p1,p2)| = (1 / 4) * ((|.(p1 + p2).| ^2) - (|.(p1 - p2).| ^2))
proof end;

theorem Th40: :: EUCLID_2:40
for n being Nat
for p1, p2, p3 being Point of (TOP-REAL n) holds |((p1 + p2),p3)| = |(p1,p3)| + |(p2,p3)|
proof end;

theorem Th41: :: EUCLID_2:41
for n being Nat
for p1, p2 being Point of (TOP-REAL n)
for x being real number holds |((x * p1),p2)| = x * |(p1,p2)|
proof end;

theorem :: EUCLID_2:42
for n being Nat
for p1, p2 being Point of (TOP-REAL n)
for x being real number holds |(p1,(x * p2))| = x * |(p1,p2)| by Th41;

theorem Th43: :: EUCLID_2:43
for n being Nat
for p1, p2 being Point of (TOP-REAL n) holds |((- p1),p2)| = - |(p1,p2)|
proof end;

theorem :: EUCLID_2:44
for n being Nat
for p1, p2 being Point of (TOP-REAL n) holds |(p1,(- p2))| = - |(p1,p2)| by Th43;

theorem :: EUCLID_2:45
for n being Nat
for p1, p2 being Point of (TOP-REAL n) holds |((- p1),(- p2))| = |(p1,p2)|
proof end;

theorem Th46: :: EUCLID_2:46
for n being Nat
for p1, p2, p3 being Point of (TOP-REAL n) holds |((p1 - p2),p3)| = |(p1,p3)| - |(p2,p3)|
proof end;

theorem :: EUCLID_2:47
for n being Nat
for x, y being real number
for p1, p2, p3 being Point of (TOP-REAL n) holds |(((x * p1) + (y * p2)),p3)| = (x * |(p1,p3)|) + (y * |(p2,p3)|)
proof end;

theorem :: EUCLID_2:48
for n being Nat
for p, q1, q2 being Point of (TOP-REAL n) holds |(p,(q1 + q2))| = |(p,q1)| + |(p,q2)| by Th40;

theorem :: EUCLID_2:49
for n being Nat
for p, q1, q2 being Point of (TOP-REAL n) holds |(p,(q1 - q2))| = |(p,q1)| - |(p,q2)| by Th46;

theorem Th50: :: EUCLID_2:50
for n being Nat
for p1, p2, q1, q2 being Point of (TOP-REAL n) holds |((p1 + p2),(q1 + q2))| = ((|(p1,q1)| + |(p1,q2)|) + |(p2,q1)|) + |(p2,q2)|
proof end;

theorem Th51: :: EUCLID_2:51
for n being Nat
for p1, p2, q1, q2 being Point of (TOP-REAL n) holds |((p1 - p2),(q1 - q2))| = ((|(p1,q1)| - |(p1,q2)|) - |(p2,q1)|) + |(p2,q2)|
proof end;

theorem Th52: :: EUCLID_2:52
for n being Nat
for p, q being Point of (TOP-REAL n) holds |((p + q),(p + q))| = (|(p,p)| + (2 * |(p,q)|)) + |(q,q)|
proof end;

theorem Th53: :: EUCLID_2:53
for n being Nat
for p, q being Point of (TOP-REAL n) holds |((p - q),(p - q))| = (|(p,p)| - (2 * |(p,q)|)) + |(q,q)|
proof end;

theorem Th54: :: EUCLID_2:54
for n being Nat
for p being Point of (TOP-REAL n) holds |(p,(0. (TOP-REAL n)))| = 0
proof end;

theorem :: EUCLID_2:55
for n being Nat
for p being Point of (TOP-REAL n) holds |((0. (TOP-REAL n)),p)| = 0 by Th54;

theorem :: EUCLID_2:56
for n being Nat holds |((0. (TOP-REAL n)),(0. (TOP-REAL n)))| = 0 by Th54;

theorem Th57: :: EUCLID_2:57
for n being Nat
for p being Point of (TOP-REAL n) holds |(p,p)| >= 0 by RVSUM_1:149;

theorem Th58: :: EUCLID_2:58
for n being Nat
for p being Point of (TOP-REAL n) holds |(p,p)| = |.p.| ^2 by Th12;

theorem Th59: :: EUCLID_2:59
for n being Nat
for p being Point of (TOP-REAL n) holds |.p.| = sqrt |(p,p)|
proof end;

theorem Th60: :: EUCLID_2:60
for n being Nat
for p being Point of (TOP-REAL n) holds 0 <= |.p.|
proof end;

theorem Th61: :: EUCLID_2:61
for n being Nat holds |.(0. (TOP-REAL n)).| = 0
proof end;

theorem Th62: :: EUCLID_2:62
for n being Nat
for p being Point of (TOP-REAL n) holds
( |(p,p)| = 0 iff |.p.| = 0 )
proof end;

theorem Th63: :: EUCLID_2:63
for n being Nat
for p being Point of (TOP-REAL n) holds
( |(p,p)| = 0 iff p = 0. (TOP-REAL n) )
proof end;

theorem :: EUCLID_2:64
for n being Nat
for p being Point of (TOP-REAL n) holds
( |.p.| = 0 iff p = 0. (TOP-REAL n) )
proof end;

theorem :: EUCLID_2:65
for n being Nat
for p being Point of (TOP-REAL n) holds
( p <> 0. (TOP-REAL n) iff |(p,p)| > 0 )
proof end;

theorem :: EUCLID_2:66
for n being Nat
for p being Point of (TOP-REAL n) holds
( p <> 0. (TOP-REAL n) iff |.p.| > 0 )
proof end;

theorem Th67: :: EUCLID_2:67
for n being Nat
for p, q being Point of (TOP-REAL n) holds |.(p + q).| ^2 = ((|.p.| ^2) + (2 * |(q,p)|)) + (|.q.| ^2)
proof end;

theorem Th68: :: EUCLID_2:68
for n being Nat
for p, q being Point of (TOP-REAL n) holds |.(p - q).| ^2 = ((|.p.| ^2) - (2 * |(q,p)|)) + (|.q.| ^2)
proof end;

theorem :: EUCLID_2:69
for n being Nat
for p, q being Point of (TOP-REAL n) holds (|.(p + q).| ^2) + (|.(p - q).| ^2) = 2 * ((|.p.| ^2) + (|.q.| ^2))
proof end;

theorem :: EUCLID_2:70
for n being Nat
for p, q being Point of (TOP-REAL n) holds (|.(p + q).| ^2) - (|.(p - q).| ^2) = 4 * |(p,q)|
proof end;

theorem :: EUCLID_2:71
for n being Nat
for p, q being Point of (TOP-REAL n) holds |(p,q)| = (1 / 4) * ((|.(p + q).| ^2) - (|.(p - q).| ^2))
proof end;

theorem :: EUCLID_2:72
for n being Nat
for p, q being Point of (TOP-REAL n) holds |(p,q)| <= |(p,p)| + |(q,q)|
proof end;

theorem :: EUCLID_2:73
for n being Nat
for p, q being Point of (TOP-REAL n) holds abs |(p,q)| <= |.p.| * |.q.|
proof end;

theorem :: EUCLID_2:74
for n being Nat
for p, q being Point of (TOP-REAL n) holds |.(p + q).| <= |.p.| + |.q.|
proof end;

theorem Th75: :: EUCLID_2:75
for n being Nat
for p being Point of (TOP-REAL n) holds p, 0. (TOP-REAL n) are_orthogonal
proof end;

theorem :: EUCLID_2:76
for n being Nat
for p being Point of (TOP-REAL n) holds 0. (TOP-REAL n),p are_orthogonal by Th75;

theorem Th77: :: EUCLID_2:77
for n being Nat
for p being Point of (TOP-REAL n) holds
( p,p are_orthogonal iff p = 0. (TOP-REAL n) )
proof end;

theorem Th78: :: EUCLID_2:78
for n being Nat
for a being real number
for p, q being Point of (TOP-REAL n) st p,q are_orthogonal holds
a * p,q are_orthogonal
proof end;

theorem :: EUCLID_2:79
for n being Nat
for a being real number
for p, q being Point of (TOP-REAL n) st p,q are_orthogonal holds
p,a * q are_orthogonal by Th78;

theorem :: EUCLID_2:80
for n being Nat
for p being Point of (TOP-REAL n) st ( for q being Point of (TOP-REAL n) holds p,q are_orthogonal ) holds
p = 0. (TOP-REAL n)
proof end;