Zadanie 1

Dowody powyższych, bardzo potrzebnych twierdzeń, są bardzo łatwe do uzyskania przy pomocy programu Mathematica. W tych dowodach wystarczy używać trzyelementowych list

ClearAll["Global`*"];

a={a1,a2,a3};   (* wektor (OverVector[A]) *)

b={b1,b2,b3};  (* wektor (OverVector[B]) *)

c={c1,c2,c3};  (* wektor (OverVector[C]) *)

d={d1,d2,d3};  (* wektor (OverVector[D]) *)

(* poniżej iloczyn skalarny (OverVector[A])·(OverVector[B])  *)

AdotB=a.b

(* to samo inaczej: *)

AdotB=Dot[a,b]

(* poniżej iloczyn wektorowy (OverVector[A])\[Cross](OverVector[B])  Uwaga: to nie jest znak "x" ! W palecie Writing Assistant w grupie Typesetting jest zdefiniowany operator "cross" i tego należy użyć do zapisu iloczynu wektorowego ! *)

AcrossB=a\[Cross]b

(* to samo inaczej:  *)

AcrossB=Cross[a,b]

(* Iloczyny wielokrotne są składaniem tych prostych operacji, więc możemy zająć się dowodami *)

(* Tw. (1) *)

left1=Cross[a,b].Cross[a,b]+(a.b)^2

right1=(a.a)*(b.b)

Simplify[left1==right1]

(* Tw. (2) *)

Simplify[a.Cross[b,c]==c.Cross[a,b]]

Simplify[a.Cross[b,c]==b.Cross[c,a]]

Simplify[a.Cross[b,c]==-a.Cross[c,b]]

Simplify[a.Cross[b,c]==-c.Cross[b,a]]

Simplify[a.Cross[b,c]==-b.Cross[a,c]]

(* Tw. (3) *)

left3=Cross[a,Cross[b,c]]

right3=(a.c)*b-(a.b)*c

Simplify[left3==right3]

(* Tw. (4) *)

(* Uwaga: teraz dla odmiany używam palety Writing Assistant, gdzie w grupie Typesetting jest zdefiniowany operator "cross" *)

left4=a\[Cross](b\[Cross]c)+b\[Cross](c\[Cross]a)+c\[Cross](a\[Cross]b)

(* Tw. (5) *)

left5=(a\[Cross]b).(c\[Cross]d)

right5=(a.c)*(b.d)-(a.d)*(b.c)

Simplify[left5==right5]

(* Tw. (6) *)

left6=(a\[Cross]b)\[Cross](c\[Cross]d)

right6=(a.(b\[Cross]d))*c-(a.(b\[Cross]c))*d

Simplify[left6==right6]

(* Tw. (7) *)

left7=a\[Cross](b\[Cross](c\[Cross]d))

right7=(b.d)*(a\[Cross]c)-(b.c)*(a\[Cross]d)

Simplify[left7==right7]

(* Tw. (8) *)

left8=(a\[Cross]b).(c\[Cross]d)+(b\[Cross]c).(a\[Cross]d)+(c\[Cross]a).(b\[Cross]d)

Simplify[left8==0]