Product.hascasl.output revision 66b0bf1e3102c83f5728cf6cfecbd07444276a5f
types Int < Rat;
Rat < Real
op 0 : Int
op 0 : Rat
op 0 : Real
free types
SWPoint ::= SWPoint (x : Real; y : Real; z : Real);
SWArc ::= SWArc (Center : SWPoint; Start : SWPoint; End : SWPoint)
op arc1 : SWArc =
SWArc (SWPoint (0, 0, 0), SWPoint (0, 0, 0), SWPoint (0, 0, 0));
types
Int : Type;
Rat : Type;
Real : Type;
SWArc : Type;
SWPoint : Type
types
Int < Rat;
Rat < Real
op 0 : Int %(op)%
op 0 : Rat %(op)%
op 0 : Real %(op)%
op Center : SWArc -> SWPoint
%(selector of constructor(s)
SWArc : SWPoint * SWPoint * SWPoint -> SWArc)%
op End : SWArc -> SWPoint
%(selector of constructor(s)
SWArc : SWPoint * SWPoint * SWPoint -> SWArc)%
op SWArc : SWPoint * SWPoint * SWPoint -> SWArc %(constructor)%
op SWPoint : Real * Real * Real -> SWPoint %(constructor)%
op Start : SWArc -> SWPoint
%(selector of constructor(s)
SWArc : SWPoint * SWPoint * SWPoint -> SWArc)%
op arc1 : SWArc
%[op=
(op SWArc : SWPoint * SWPoint * SWPoint -> SWArc)
((op SWPoint : Real * Real * Real -> SWPoint)
((op 0 : Int), (op 0 : Int), (op 0 : Int)),
(op SWPoint : Real * Real * Real -> SWPoint)
((op 0 : Int), (op 0 : Int), (op 0 : Int)),
(op SWPoint : Real * Real * Real -> SWPoint)
((op 0 : Int), (op 0 : Int), (op 0 : Int)))
as SWArc]%
op x : SWPoint -> Real
%(selector of constructor(s)
SWPoint : Real * Real * Real -> SWPoint)%
op y : SWPoint -> Real
%(selector of constructor(s)
SWPoint : Real * Real * Real -> SWPoint)%
op z : SWPoint -> Real
%(selector of constructor(s)
SWPoint : Real * Real * Real -> SWPoint)%
forall x_1 : Real; x_2 : Real; x_3 : Real
. x (SWPoint (x_1, x_2, x_3)) = x_1_1 %(ga_select_x)%
forall x_1 : Real; x_2 : Real; x_3 : Real
. y (SWPoint (x_1, x_2, x_3)) = x_1_2 %(ga_select_y)%
forall x_1 : Real; x_2 : Real; x_3 : Real
. z (SWPoint (x_1, x_2, x_3)) = x_1_3 %(ga_select_z)%
forall x_1 : SWPoint; x_2 : SWPoint; x_3 : SWPoint
. Center (SWArc (x_1, x_2, x_3)) = x_1_1 %(ga_select_Center)%
forall x_1 : SWPoint; x_2 : SWPoint; x_3 : SWPoint
. Start (SWArc (x_1, x_2, x_3)) = x_1_2 %(ga_select_Start)%
forall x_1 : SWPoint; x_2 : SWPoint; x_3 : SWPoint
. End (SWArc (x_1, x_2, x_3)) = x_1_3 %(ga_select_End)%
free type SWPoint ::= SWPoint (x : Real; y : Real; z : Real)
free type SWArc ::=
SWArc (Center : SWPoint; Start : SWPoint; End : SWPoint)
%(ga_SWPoint_SWArc)%
. arc1
= (SWArc (SWPoint (0, 0, 0), SWPoint (0, 0, 0), SWPoint (0, 0, 0))
as SWArc)
### Hint 1.17, redeclared type 'Rat'