问题描述
在命题逻辑中,每个变元可以取值为真或假,通过逻辑运算符连接得到逻辑表达式,逻辑表达式的值由逻辑变元的值计算得出。
以下是常用的逻辑运算符。
~:表示否定,~P为真当且仅当P为假。
>:蕴含,P>Q为真当且仅当Q为真或者P为假。
^:合取,P^Q为真当且仅当P和Q同为真。
v:析取,PvQ为真当且仅当P和Q中至少一个为真。
重言式是指无论变元如何取值其结果都为真的表达式,矛盾式是指无论变元如何取值其结果都为假的表达式。
在表式逻辑表达式的时候,可以使用辅助符号来方便描述,一个辅助符号可能是另外两个变元或辅助符号运算的结果。
为了使用辅助符号来表示否定运算,我们设置一个虚拟的辅助符号X0,使用X0和另一个变元运算P运算后即得到~P的结果。
输入数据第一行是两个整数n、m(1<=n<=4,1<=m<=10)。表示在输入中出现的变元不超过n个、辅助符号为m个,变元依次为P0, P1, ..., Pn-1,辅助符号依次为A0, A1, ..., Am-1。
从第二行开始,依次描述A0,A1,…Am-1,并严格依照以下格式:
Ai L ? R
其中Ai依次为A0, A1, ..., Am-1。?可以为“~”、“>”、“^”、“v”。L和R可以是变元或者之前出现过的辅助符号。
若?为“~”,则L必
在命题逻辑中,每个变元可以取值为真或假,通过逻辑运算符连接得到逻辑表达式,逻辑表达式的值由逻辑变元的值计算得出。
以下是常用的逻辑运算符。
~:表示否定,~P为真当且仅当P为假。
>:蕴含,P>Q为真当且仅当Q为真或者P为假。
^:合取,P^Q为真当且仅当P和Q同为真。
v:析取,PvQ为真当且仅当P和Q中至少一个为真。
重言式是指无论变元如何取值其结果都为真的表达式,矛盾式是指无论变元如何取值其结果都为假的表达式。
在表式逻辑表达式的时候,可以使用辅助符号来方便描述,一个辅助符号可能是另外两个变元或辅助符号运算的结果。
为了使用辅助符号来表示否定运算,我们设置一个虚拟的辅助符号X0,使用X0和另一个变元运算P运算后即得到~P的结果。
给定一系列辅助符号的定义,问最后一个辅助符号是重言式、矛盾式还是其他表达式。
输入数据第一行是两个整数n、m(1<=n<=4,1<=m<=10)。表示在输入中出现的变元不超过n个、辅助符号为m个,变元依次为P0, P1, ..., Pn-1,辅助符号依次为A0, A1, ..., Am-1。
从第二行开始,依次描述A0,A1,…Am-1,并严格依照以下格式:
Ai L ? R
其中Ai依次为A0, A1, ..., Am-1。?可以为“~”、“>”、“^”、“v”。L和R可以是变元或者之前出现过的辅助符号。
若?为“~”,则L必