(편의를 위해 생략한 표현이 있습니다.)
인간은 언어를 사용하여 세계를 표현합니다.
인간 a는 a가 경험한 세계를 표현합니다.
인간 b는 b가 경험한 세계를 표현합니다.
a와 b는 같은 종류의 감각기관을 가졌으므로, 일반적으로 a의 표현과 b의 표현은 일치합니다.
하지만 두 표현이 항상 일치할 수는 없습니다.
각자의 경험, 선천적/후천적 감각기관의 차이, 사용하는 언어의 차이 등에 의해 표현이 달라질 수 있습니다.
서로 달라진 두 표현을 and 연산할 경우, 거짓이 나올 것이라 생각할 수 있습니다.
하지만 두 표현은 서로 다른 세계의 표현이기 때문에, 연산이 불가능합니다.
이때 연산을 가능하게 하기 위해, 세계 서술 이라는 캡슐화가 필요합니다.
세계 x 를 w(x), 표현 y를 e(y)라 할때,
e(a) == e(b)는 불가능하지만, w(a).e(a) == w(b).e(b)는 가능하다는 것입니다.
예를 들어, a와 b가 마주보고 있다 가정합니다.
이때 a와 b 사이로 치타가 지나갔습니다.
a는 표현합니다: 치타가 오른쪽으로 지나갔습니다; mv(ch).dir == r
b는 표현합니다: 치타가 왼쪽으로 지나갔습니다; mv(ch).dir == l
이때 ((mv(ch).dir == r) & (mv(ch).dir == l)) 은 거짓이라 생각할 수 있지만, 이는 같은 세계에서의 캡슐화 해제 과정을 거칠 수 있을 때에 성립합니다.
서로 다른 세계의 표현이므로, 세계를 서술해야 합니다.
(w(a).(mv(ch).dir == r) & w(b).(mv(ch).dir == l)) 은 참이며, 치타의 세계를 도입할 경우:
-> ((w(a).mv(ch).dir == w(a).r) & (w(b).mv(ch).dir == w(b).l));
    (w(a).mv(ch).dir == w(ch).mv(ch).dir == w(a).mv(ch).dir)
-> (w(ch).mv(ch).dir == w(a).r) & (w(ch).mv(ch).dir == w(b).l)
-> w(ch).mv(ch).dir == w(a).r == w(b).l 라는 논리전개가 가능해집니다.
이때 다른 세계(동일한 클래스의 다른 인스턴스)에서 동일한 표현(메서드)의 결과값이 다른 형태이지만 캡슐화 결과 동일할 경우, 이를 상대적인 표현이라 합니다.
상대적인 표현은 반드시 캡슐화가 필요합니다.

객체지향 맛보기입니다. get(x) 메서드를 생략하여 x로 표시했습니다. 결과값 x 의 명확한 표기는 get(x)가 맞습니다.