ADT TypeRepCaml [ ] INITIALS registerTRC : LLabelDeclCaml -> TypeRepCaml variantTRC : LConstrDeclCaml -> TypeRepCaml CONSTRUCTORS SELECTORS StringOfTypeRepCaml: TypeRepCaml(i) -> String EQ_TypeRepCaml(c): TypeRepCaml(i) * TypeRepCaml(i) -> BOOL AXIOMS StringOfTypeRepCaml(registerTRC(L1))= concat_String("{", concat_String(StringOfLLabelDeclCaml(L1),"}")) StringOfTypeRepCaml(variantTRC(L1))=StringOfLConstrDeclCaml(L1) EQ_TypeRepCaml(registerTRC(L1),registerTRC(L2)) = EQ_LLabelDeclCaml(L1,L2) EQ_TypeRepCaml(registerTRC(L1),variantTRC(L2)) = FALSE EQ_TypeRepCaml(variantTRC(L1),registerTRC(L2)) = FALSE EQ_TypeRepCaml(variantTRC(L1),variantTRC(L2)) = EQ_LConstrDeclCaml(L1,L2)