fmod PAIR is sort Pair . protecting STRING . op pair : String String -> Pair . op getFirst : Pair -> String . op setFirst : Pair String -> Pair . op getSecond : Pair -> String . op setSecond : Pair String -> Pair . vars F S N : String . eq getFirst(pair(F, S)) = F . eq getSecond(pair(F, S)) = S . eq setFirst(pair(F, S), N) = pair(N, S) . eq setSecond(pair(F, S), N) = pair(F, N) . endfm *** Example usage red getFirst(pair("Parameter 1", "Parameter 2")) . red getFirst(setFirst(pair("Parameter 1a", "Parameter 2"), "Parameter 1")) . red getFirst(setSecond(pair("Parameter 1", "Parameter 2"), "Parameter 2a")) . red getSecond(setFirst(pair("Parameter 1a", "Parameter 2"), "Parameter 1")) .