编程题
在有限个体域上验证例2.7.5
Time limit: 1 Seconds Memory limit: 32768K
## 题目描述
请在有限个体域上验证以下谓词逻辑推理:
(∀x)(P(x)∨Q(x))⇒(∀x)P(x)∨(∃x)Q(x)。
约定:客体变元x的论述范围为{a1, a2, ..., an};当代入具体的客体后,每个原子谓词公式的值可以为T或F。
## 输入描述
输入一个正整数n,n≤10。
## 输出描述
记(∀x)(P(x)∨Q(x))为F1、(∀x)P(x)∨(∃x)Q(x)为F2。请在有限个体域上通过枚举客体变元去掉量词并同时列出F1→F2和F2→F1的真值表,以此验证F1⇒F2成立而F2⇒F1不成立(否则就应该是一个等价式)。
## 样例输入
```txt
2
```
## 样例输出
```txt
P(a1) P(a2) Q(a1) Q(a2) F1->F2 F2->F1
0 0 0 0 1 1
0 0 0 1 1 0
0 0 1 0 1 0
0 0 1 1 1 1
0 1 0 0 1 1
0 1 0 1 1 0
0 1 1 0 1 1
0 1 1 1 1 1
1 0 0 0 1 1
1 0 0 1 1 1
1 0 1 0 1 0
1 0 1 1 1 1
1 1 0 0 1 1
1 1 0 1 1 1
1 1 1 0 1 1
1 1 1 1 1 1
```
## 知识点
- 有限个体域上客体变元的枚举
- 谓词公式赋值
- 真值表
- 谓词逻辑推理
- 谓词公式蕴含式