제목에서 설명합니다. "방정식"의 왼쪽을 오른쪽으로 동기화하는 데 문제가 있습니다. 왼쪽에 2를 생성 할 때마다 오른쪽에 하나를 표시해야합니다. 이 언어가 컨텍스트 프리가 아니어도 될까요? 미리 감사드립니다.L = {2^x * 2^y * 2^z = 2^(x + y + z)에 대한 문맥없는 문법. x, y, z> 0}
L = {2^x ∗ 2^y ∗ 2^z = 2^(x+y+z) | x, y, z > 0}
편집 : 이것은 수학 방정식과는 아무 상관이 없습니다. "*
"과 "=
"은 언어 알파벳의 기호 일 뿐이며 2는 "x
"의 힘으로 2가 x 번 반복되는 것을 의미합니다.
곱셈
문자열 연결 및
지수
반복에 대한 기본적인 사실을 사용하여
Example of this language:
222*2*22=222222
2*2*2=222
2*222222*22=222222222
이것은 분명하지 않습니다. 유효한 * 수학 방정식 만 허용하는 문법을 찾으려고합니까? –
당신이 원하는 것이 분명하지 않습니다. 일반적으로 set-builder 표기법을 사용할 때, "|"의 왼쪽으로가는 것은 명제가 아니라 표현식입니다 (집합의 요소 자체가 진리 값이되기를 원하지 않는다면). – pyon
또한 공식 언어 이론에서는 일반적으로 곱셈 및 지수 연산자가 문자열 연결 및 반복을 나타 내기 위해 오버로드됩니다. "2^x"라고 말하면 2 번을 x 승으로 올리거나 "2", "x 번 반복"을 의미합니다. – pyon