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