(* pour charger le fichier compilé polynome.cmo dans le mode interactif *) #load "polynome.cmo";; open Polynome;; (* l'anneau des entiers *) module I = struct type t = int let zéro = 0 let unité = 1 let plus = ( + ) let mult = ( * ) let equal = ( = ) let print = print_int end;; (* les polynômes à coefficients entiers *) module X = Make (I);; let xm = X.monôme;; let p = X.mult (X.plus (xm 1 0) (xm 1 1)) (X.plus (xm 1 0) (xm (-1) 1));; let q = X.plus (xm 1 0) (xm (-1) 2);; X.equal p q;; module Y = Make (X);; let ym = Y.monôme;; let x = ym (xm 1 1) 0;; (* (1 X^1) Y^0 *) let y = ym (xm 1 0) 1;; (* (1 X^0) Y^1 *) let moins_unité = ym (xm (-1) 0) 0;; (* ((-1) X^0) Y^0 *) let moins p q = Y.plus p (Y.mult moins_unité q);; let p = Y.mult (Y.plus x y) (moins x y);; let q = moins (Y.mult x x) (Y.mult y y);; Y.equal p q;; Y.print p;;