ADT ImplPhraseCaml [ ] INITIALS exprIPC : ExprCaml -> ImplPhraseCaml valueDefIPC : ValueDefCaml -> ImplPhraseCaml typeDefIPC : TypeDefCaml -> ImplPhraseCaml exceptionDefIPC: ExceptionDefCaml -> ImplPhraseCaml directiveIPC: DirectiveCaml -> ImplPhraseCaml CONSTRUCTORS SELECTORS StringOfImplPhraseCaml(c): ImplPhraseCaml(i) -> String EQ_ImplPhraseCaml(c): ImplPhraseCaml(i) * ImplPhraseCaml(i) -> BOOL AXIOMS StringOfImplPhraseCaml(exprIPC(E1))=StringOfExprCaml(E1) StringOfImplPhraseCaml(valueDefIPC(V1))=StringOfValueDefCaml(V1) StringOfImplPhraseCaml(typeDefIPC(T1))=StringOfTypeDefCaml(T1) StringOfImplPhraseCaml(exceptionDefIPC(E1))=StringOfExceptionDefCaml(E1) StringOfImplPhraseCaml(directiveIPC(D1))=StringOfDirectiveCaml(D1) EQ_ImplPhraseCaml(E1,E2) = FALSE