solveEqs가 주어진 등식들을 성립하게 하는 치환을 구하는 함수인데,

이렇게 짜도 될까?

solveEqs의 초기값은 항등치환인 빈 map이고

solveEqs가 등식을 하나씩 읽는데

등식이 (변수, 식) 또는 (식, 변수)인 경우

mapsto 함수를 호출하여 치환 { "변수 mapsto 식" }을 solveEqs의 결과값에 합성하고 나머지 등식들에 적용하고

등식이 (함수(...), 함수(...))인 경우

두 함수가 같으면 인자들끼리의 등식을 추가하고

다르면 실패를 반환함.

등식을 다 읽으면 결과값을 반환함.

이렇게 짜도 문제 없을까?

밑에 소스를 달게. 81번째 줄임.