EXERCICE 1restart:T:=array(symmetric,1..3,1..3);for i from 1 to 3 do T[i,i]:=i; od;T[1,2]:=a;T[1,3]:=b;T[2,3]:=c;print(T);EXERICE 2restart:R:=array(1..4,1..4);S:=array(1..4,1..4);T:=array(1..4,1..4);for i from 1 to 4 do
for j from 1 to 4 do
R[i,j]:=is((j-i)/3,integer);
od; od;R=eval(R);for i from 1 to 4 do
for j from 1 to 4 do
S[i,j]:=is(i<j);
od; od;S=eval(S);for i from 1 to 4 do
for j from 1 to 4 do
T[i,j]:=is(i=j*j or j=i*i);
od; od;T=eval(T);Pour savoir si la relation associ\351e au tableau U n'est pas reflexive il faut et il suffit de trouver un \351l\351ment false sur la diagonalereflexive:=proc(U)
local i,j,r;
r:=true;
for i from 1 to 4 do
if (U[i,i]=false) then r:=false; fi;
od;
r;
end:
R_reflexive=reflexive(R); R est r\351flexiveS_reflexive=reflexive(S); S n'est pas r\351flexiveT_reflexive=reflexive(T); T n'est pas r\351flexiveLa relation associ\351e au tableau U n'est pas antisym\351trque si et seulement si un couple d'\351l\351ments sym\351triques par rapport \340 la diagonale (en dehors de celle-ci) sont simultan\351ment trueantisymetrique:=proc(U)
local i,j,r;
r:=true;
for i from 1 to 3 do
for j from i+1 to 4 do on ne parcourt que les cases au dessus de la diagonale
if U[i,j] and U[j,i] then r:=false; fi;
od; od; r;
end:R_antisymetrique=antisymetrique(R); R n'est pas antisym\351triqueS_antisymetrique=antisymetrique(S); S est antisym\351triqueT_antisymetrique=antisymetrique(T); T n'est pas antisym\351triqueLa relation associ\351e au tableau U n'est pas transitive si et seulement si un triplet U[i,j] U[j,k] et U[i,k] d'\351l\351ments ne v\351rifie pas l'implication de transitivit\351 U[i,j] et U[j,k] sont simultan\351ment true et pourtant U[i,k] falsetransitive:=proc(U)
local i,j,k,r;
r:=true;
for i from 1 to 4 do
for j from 1 to 4 do
for k from 1 to 4 do
if U[i,j] and U[j,k] and U[i,k]=false then r:=false; fi;
od;od;od;
r;
end:R_transitive=transitive(R); R est transitiveS_transitive=transitive(S); S est transitiveT_transitive=transitive(T); T n'est pas transitive