package Frac is pragma Assertion_Policy(Check); type Fraction is record Enumerator: Integer; Denominator: Integer; end record; function "+"(Left: Fraction; Right: Fraction) return Fraction; function "*"(Left: Fraction; Right: Fraction) return Fraction; function Reciprocal(Item: Fraction) return Fraction; procedure Put(Item: in Fraction); end Frac;